EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9



Podobne dokumenty
Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Tworzenie oprogramowania

Spis treści. Wstęp... 10

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Jesień Linuksowa - Embedded Linux Security

Podstawowe zagadnienia

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

Szczegółowy Opis Przedmiotu Zamówienia

Viper Linux Lite, oprogramowanie Linux

Szczegółowy Opis Przedmiotu Zamówienia

BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

CZĘŚĆ IV ZAMÓWIENIA DOSTAWA URZADZEŃ KOMPUTEROWYCH, EKRANÓW PROJEKCYJNYCH ORAZ PROCESOROWEGO CENTRUM MULTIMEDIALNEGO.

Mikrokontroler Wykład 5

Linux -- u mnie działa!

Systemy czasu rzeczywistego wstęp

prowadzący: mgr inż. Piotr Prystupiuk

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Laboratorium Procesorów Sygnałowych

Systemy wbudowane. Paweł Pełczyński

Systemy na Chipie. Robert Czerwiński

1. Serwer. 2. Komputer desktop 9szt. Załącznik nr 1 do SIWZ

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Wymagania systemowe dla Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

1.Wstęp. 2.Generowanie systemu w EDK

PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania. PlutoProgrammingManualPL_v7A.pdf 1

Elementy składowe systemu komputerowego

Warstwy systemu Windows 2000

Wymagania systemowe dla Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Rejestr HKEY_LOCAL_MACHINE

UCanlogUpdater INSTRUKCJA OBSŁUGI

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

Komputer DELL Optiplex 7010 w obudowie DT (Desktop Tower) Intel Core i x 3,3 GHz / 4 GB / 500 GB / DVD / Windows 7 Professional

Inteligentny czujnik w strukturze sieci rozległej

Programowanie procesora Microblaze w środowisku SDK

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

Dekoder 4K Enigma 2 VU+ UNO 4K SE DVB-S2X

Linux Kernel. Wprowadzenie

Wykład 2. Mikrokontrolery z rdzeniami ARM

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Baza danych Oracle 11g Express Edition

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Przykłady zastosowań systemów mikroprocesorowych

Pakiet nr 1. Zestawienie wymaganych parametrów technicznych - funkcjonalnych

Panele operatorskie seria CIMON-Xpanel

IBM SPSS Statistics dla systemu Windows Instrukcje instalacji (licencja sieciowa)

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Kopiowanie i instalowanie pliku w systemie Windows CE

Czym jest technologia Bluetooth?

Systemy uruchomieniowe

Wymagane parametry techniczne laptopa

Opis efektów kształcenia dla modułu zajęć

Opis przedmiotu zamówienia

Konspekt pracy inżynierskiej

Wymagania systemowe dla Qlik Sense. Qlik Sense February 2018 Copyright QlikTech International AB. Wszelkie prawa zastrzeżone.

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

ActiveXperts SMS Messaging Server

Lenovo ThinkCentre M92p Small Form Factor (SFF) Intel Core i x 3,2 GHz / 4 GB / 250 GB / DVD-RW / Windows 7 Professional

Otwarte oprogramowanie w systemach wbudowanych i pomiarowych. Rok akademicki: 2015/2016 Kod: EEL PT-s Punkty ECTS: 3

Oprogramowanie symulujące sterowanie obiektami budynku

str. 1 Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Oświęcim, dnia r.

Procesory firmy ARM i MIPS

1.1 PANELE OPERATORSKIE WONDERWARE

Komputer Fujitsu E510 w obudowie SFF (Small Form Factor) Core i x 3,3 GHz / 4 GB / 320 GB / DVD / Windows 7 Professional

Programowanie w C. dr inż. Stanisław Wszelak

Płytka uruchomieniowa XM64

Komputer Dell Precision T1600 w obudowie Midi Tower (MT) Intel Xeon E x 3,30 GHz / 16 GB / 500 GB / DVD / Windows 7 Professional

System komputerowy. System komputerowy

Masz telewizor nie ważne najnowszej generacji, czy też starszy kineskopowy.

1. Notebook 14. Producent: ASUS Model: ASUS VivoBook S14 S410. Parametr Parametr graniczny Parametr oferowany - opisać

>>> Techniki rozbudowy systemów wbudowanych >>> Biblioteki wspomagające rozbudowę systemów wbudowanych. Name: Mariusz Naumowicz Date: 29 maja 2019

FER Częstochowa, r. Zmiana zapytania ofertowego

Część I: Komputery przenośne... 2 LAPTOP STACJA DOKUJĄCA DO LAPTOPA LAPTOP STACJA DOKUJĄCA DO LAPTOPA

Wbudowane systemy operacyjne

11.Mikrokomputeryjednoukładowe

PANELE OPERATORSKIE. Human Machine Interface

Działanie komputera i sieci komputerowej.

Zastosowanie emulatorów w rozbudowie systemów wbudowanych

Komputer DELL Optiplex 7010 w obudowie DT (Desktop Tower) Intel Pentium G x 2,9 GHz / 4 GB / 250 GB / DVD-RW / Windows 7 Professional

System czasu rzeczywistego

Wstęp Podstawowe informacje o mikroprocesorach AT91SAM9...11

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Procesory Blackfin. Część 1

Laboratorium: Systemy operacyjne czasu rzeczywistego. Temat: Wprowadzenie do karty DS1102 i oprogramowania Control Desk.

ZAPYTANIE OFERTOWE NR UE/6

Q E M U.

Parametr Parametr graniczny Parametr oferowany - opisać

Transkrypt:

Marcin Stanowski V rok Koło Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9 Keywords: embedded, operating system, linux, arm Słowa kluczowe: systemy wbudowane, linux, arm The article is about porting Linux on ARM9 core. Linux operating system can be run on many architectures, including the most popular in embedded application ARM architecture. Linux supports innumerable amount of devices what makes it easy to apply. It also has already implemented TCP/IP stack and plenty of libraries which shorten the implementation of the programs. In the future most of devices will be using embedded operating systems and a major part of them will run with Linux. 1. Systemy wbudowane Systemem wbudowanym nazywamy system operacyjny przygotowany do wykonywania określonych zadań. Najczęściej takie układy spotykane są w małych obudowach o ograniczonych interfejsach. Często nie posiadają na stałe podłączonego monitora i klawiatury. Zamiast tego komunikacja z nimi może odbywać się poprzez sieć LAN, RS-232, RS-422, RS-485, CAN i inne. Systemy wbudowane już są wykorzystywane w bardzo wielu aspektach życia codziennego. Odtwarzacze mp3, telewizory, konsole do gier, kamery cyfrowe, telefony komórkowe czy też nawigacje GPS, wszystkie one działają dzięki systemom wbudowanym. Występują one także w przemyśle. Praktycznie każda nowa maszyna, która jest sterowana cyfrowo (np. tokarki CNC) posiada wbudowany system operacyjny. 2. Linux Słowo Linux mówione potocznie jest wieloznaczne. Może odnosić się do systemu operacyjnego, dystrybucji lub jądra. Jest to darmowy system operacyjny, z rodziny Uniksów, stworzony przez Linusa Torvalds a na początku lat 90-tych. Od początku istnienia Linux bardzo się rozwinął. Obecnie dostępny jest w wielu wydaniach na różne architektury sprzętowe. Oprócz platformy x86, Linuksa można zainstalować na systemach z procesorami 32 bitowymi takimi jak ARM, MIPS, PowerPC, Sun SPARC, Motorola 68000, AVR32 i wiele innych.

Linux wśród systemów wbudowanych zajmuje wysoką pozycję. Ma na to wpływ wiele czynników, z których decydującą jest otwartość kodu, co sprawia, że jest to system bezpłatny. Pewne jest też, że będzie zdobywał coraz większą część rynku. Rysunek 1. Ankieta przeprowadzona wśród developerów zapytanych o poprzedni użyty system w projekcie i następny, jaki zamierzają wykorzystać. Do tej pory bez problemów zwyciężał nawet z systemami komercyjnymi takimi jak Windows CE a także z komercyjnymi dystrybucjami Linuksa. 3. Architektura ARM ARM (Advanced RISC Machine) jest najbardziej popularną architekturą 32 bitową. Procesory z rdzeniem ARM stanowią około 75% układów 32 bitowych. Rocznie sprzedaje się około 4mld tych mikroprocesorów. Dla porównania układów z architekturą x86 sprzedaję się około 500 mln sztuk rocznie. Firma ARM zajmuję się projektowaniem rdzenia, a nie produkcją procesorów. Licencje na ich wytwarzanie sprzedaje takim firmom jak Atmel czy NXP, które wytwarzają i sprzedają gotowe chipy. Rdzeń jest tylko częścią układu procesorowego zwanego System on Chip (SoC), w zależności od wersji producenci wyposażają układ w różne interfejsy.

Platforma Rysunek 2. System on Chip 4. Budowa i możliwości układu Jednym z procesorów z rodziny ARM9 jest układ AT91SAM9260 firmy Atmel. Chip ten działa z częstotliwością 200MHz. Do zewnętrznej magistrali EBI (Extended Bus Interface) podłączone zostały pamięci 1GB NAND Flash i 64MB SDRAM. Rysunek 3. Procesor AT91SAM9260 i jego peryferia

Dodatkowo dostępne są interfejsy sieci Ethernet, I2C, SPI, porty szeregowe i USB. Na Linuksie zostały zaimplementowane systemy protokoły sieciowe, co umożliwia utworzenie usług sieciowych takich jak serwer WWW, ftp lub ssh. Ponadto do portów USB można podłączyć dyski przenośne lub inne urządzenia takie jak karty wi-fi czy drukarki. Rysunek 4. Moduł MMnet1002 z procesorem AT91SAM9260 stanowi bardzo dobrą bazę dla Linuksa 5. Linux na ARMie Proces startowania systemu na platformie z ARM9 składa się z kilku etapów. Na początku Bootprogram, który zawarty jest w pamięci ROM procesora sprawdza czy w podłączonej pamięci NAND Flash znajduję się program, a następnie ładuję go. Ten pierwszy program nazywa się AT91Bootstrap. Jest to bootloader pierwszego poziomu. Jego zadaniem jest wstępna inicjalizacja procesora oraz załadowanie drugiego bootloadera U-boota. Jest to już znacznie bardziej rozbudowany program. Z jego poziomu możemy załadować system z różnych źródeł. Mogą nimi być zarówno pamięć Flash jak i serwer TFTP (poprzez Ethernet).

Rysunek 5. Sekwencja uruchamiania Linuksa Kolejnym etapem startu jest skopiowanie jądra Linuksa (inaczej zwane kernelem) do pamięci RAM. Jądro dla wszystkich architektur jest takie samo. Odpowiedni typ procesora wybiera się w plikach konfiguracyjnych, a następnie w specjalnych konfiguratorze ustalamy jego składniki. Po załadowaniu jądra, przychodzi czas na uruchomienie pierwszego procesu systemowego, którym jest init i załadowaniu reszty systemu. System możemy przygotować sami lub skorzystać z gotowej dystrybucji. Gdy zdecydujemy się na tworzenie własnego systemu możemy do tego użyć narzędzi wspomagających tworzenie systemu takich jak Buildroot czy OpenEmbedded lub samodzielnie stworzyć strukturę katalogu nadrzędnego i wybrać odpowiednie aplikacje i biblioteki. 6. Tworzenie oprogramowania Do tworzenia aplikacji możemy użyć wszystkich języków programowania dostępnych na dużym Linuksie. Mogą to być np. skrypty konsoli, C/C++, Php, Python, Perl lub Java. Gdy chcemy napisać program w C/C++ należy kod źródłowy skompilować na komputerze PC lub laptopie z zainstalowanym systemem Linux. Do kompilacji używamy specjalnego kompilatora zwanego cross-kompilatorem.

Rysunek 6. Kompilacja programu na platformę arm-linux 7. Przyszłość systemów Embedded Systemy wbudowane są stosowane w coraz większej liczbie urządzeń. Większość projektantów używa lub użyję przy następnym projekcie systemu z jądrem Linuksa. Prognozować, więc można, że szczyt popularności systemów wbudowanych dopiero nadejdzie. Przemawia za tym przede wszystkim łatwość pisania programów, ponieważ można korzystać z gotowych aplikacji Open Source, a także dostępność sterowników różnych urządzeń. 8. Literatura [1] Bovet Daniel P, Cesati Marco: Linux Kernel, O'REILLY, 2001. [2] http://linux4sam.com/, 3-3.2010. [3] Noty katalogowe procesora AT91SAM9260. [4] Ward Brian: Jak działa Linux, Helion, 2005. [5] Yaghmour Karim Building Embedded Linux Systems, O'REILLY, 2003.