manRTEMSvol1.pdf

(445 KB) Pobierz
ŁukaModor
SKIK 08.05.2009
„#man RTEMS” cz.1
Wstęp
Jettotutorialktórypreprowadicytelnikapreproceintalacjii kompilacji RTEMSA a
także odpowiednichnardidocross-kompilacji naLinuxieFedora9Odrauprejdmydorecy
1. Toolchain
ProcemuimyacądodpobraniatoolchainadoRTEMSToolchainjettoetawnardi
do cross-kompilacji czyli kompilowania programówprenaconychnainnąplatormniżplatorma
naktórejuruchamianyjetkompilatorW tym tutorialu pobieramy gotowy pakiet RPM dla Fedory.
OmijamytymamymprocewłanorcnejkompilacjitoolchainaPodobnoniejettotrudne
chtnychachcam do zabawy. bypobradtoolchainadolinuxa Fedora 9:
pobieramy rpmke ze stronki RTEMSA:
http://www.rtems.org/ftp/pub/rtems/linux/4.9/fedora/10/i386/
nazwa RPMki ułożonajetwgtakiego wzorca:
"URL_ending_in_rtems-BRANCH-yum-conf-VERSION-DISTRIBUTION.noarch.rpm"
Dodajemy Liste innych rpemek korzystajac z tej rpmki konfiguracyjnej:
#rpm -ivh URL_ending_in_rtems-BRANCH-yum-conf-VERSION-
DISTRIBUTION.noarch.rpm
Natpnie odpalamy
#yum search rtems
Mamywywietloneinnepakietyktóre możemyobiepobrad Wpisujemy
#yum install rtems-4.9-auto*
#yum install rtems-4.9-powerpc-*
WybralimyplatormPowerPc – bdie to nasza platforma ESEO OBDH.
Podziwiamy matrix na ekranie, wciskamy kilka razy Y i czekamy...
W tym momencie powinnimy mied juz zainstalowany toolchain do RTEMSA... co dalej?
2.PobranieźródełRTEMS.
Można użyd CVSa albo pobrad jakie gotowe release. My użyjemy CVSa (jetemy
nowoceni) Najpierwpowinnimymiedsoftware doarądaniawerjamiJaaintalowałemobie
standardowy CVS.
813357357.015.png 813357357.016.png 813357357.017.png 813357357.018.png 813357357.001.png 813357357.002.png
Instalujemy sobie CVSA na linuchu i w katalogu gdzie chcemy sobie ciągnąd ródła (np.
~/RTEMS_CVS ) wpisujemy:
#cvs -d :pserver:anoncvs@www.rtems.com:/usr1/CVS login
#cvs -d :pserver:anoncvs@www.rtems.com:/usr1/CVS -z 9 co -rrtems-4-9-branch rtems
czekamy.... OK
3.Test no. 1
Dobra teraz Mamy juz RTEMSA i toolchain, zobaczmy czy diałaDodajemy do PATH cieżk z
naąintalacją
#export PATH=/opt/rtems-4.9/bin:$PATH
Tworymyobiemałyprogramikc
int f( int x )
{
return x + 1;
}
Kompilujemy go:
#powerpc-rtems4.9-gcc -v -c f.c
Jak diała took!)JaknietoapewneniewyekportowalimymiennejdoPTHKroktenjetitotny
ponieważtejcieżkibdiemybardoctokorytadMożewicwartododadjąnatałe
4. Kompilacja RTEMSa
Teraz pryedłczas aby naszego pobranego RTEMSkompilowad. robimy
#./bootstrap
wkatalogueródłami. OK. (pamitajmyoexporciemiennejdoPTH).
Tworymykatalogdobuildupoakatalogiemeródłami(np. RTEMS_CVS/b-psim) i po
konfiguracji odpalamy kompilacje:
#cd ..
#mkdir b-psim
#cd b-psim
#../rtems/configure --target=powerpc-rtems4.9 --enable-rtemsbsp=psim --
enable-tests=samples
#make
813357357.003.png 813357357.004.png 813357357.005.png 813357357.006.png 813357357.007.png 813357357.008.png 813357357.009.png 813357357.010.png
Wpowyżejkomendiepodalimy targetBSPjakoPSIMPSIMjettootwartyymulatorproceorów
power-pc. Docelowo naąplatormąjet mpc755... Niestety nie ma dlaniegoBSPMożliweiż
adiała inneBSProdinympc755,aledomomentukiedyniemamypłytkiniemożemy tego
prawdid
JeżeliwytkopołogodnieplanemtomamykompilowanegoRTEMSnadrewiepimTera
caobacydcywytkodiałatakjaknależy
5. Test no. 2
KoniguracjapimajetbardokomplikowanaiwymagawieluparametrówNacciedobry
ludiepopialiodpowiedniekrypty,którerobiądużącdrecyanaZnajdiemyjewkatalogu
RTEMS_CVS/b-psim/powerpc-rtems4.9/psim/tests
natomiatameprogramikiprykładowenajdująi
RTEMS_CVS/b-psim/powerpc-rtems4.9/c/psim/testsuites/samples/
byobacydcywytkodiałatakjaknależypregrywamykrypty
psim
psim-gdb
runtest
do katalogu z naszym testem (np. ticker.exe).
Natpnieapomocąpolecenia „sh” uruchamiamy skrypty.
#sh psim ticker.exe
Jeżeliuruchomimytickerexe(tetegara)otrymamycotakiego
TA1 - rtems_clock_get - 09:00:00 12/31/1988
TA2 - rtems_clock_get - 09:00:00 12/31/1988
TA3 - rtems_clock_get - 09:00:00 12/31/1988
TA1 - rtems_clock_get - 09:00:05 12/31/1988
TA2 - rtems_clock_get - 09:00:10 12/31/1988
TA1 - rtems_clock_get - 09:00:10 12/31/1988
TA3 - rtems_clock_get - 09:00:15 12/31/1988
TA1 - rtems_clock_get - 09:00:15 12/31/1988
TA2 - rtems_clock_get - 09:00:20 12/31/1988
TA1 - rtems_clock_get - 09:00:20 12/31/1988
TA1 - rtems_clock_get - 09:00:25 12/31/1988
TA3 - rtems_clock_get - 09:00:30 12/31/1988
TA2 - rtems_clock_get - 09:00:30 12/31/1988
TA1 - rtems_clock_get - 09:00:30 12/31/1988
Dlaludirądnychwrażeo,możemyodpalidcobardiejklaycnegococałkowiciewieocydieło-
program hello. Otrzymamy: Hello World !!!Diała!!! ItobybyłonatyleWnatpnym
odcinkukompilowaniewłanychprogramikówpod RTEMS.
813357357.011.png 813357357.012.png 813357357.013.png 813357357.014.png
 
Zgłoś jeśli naruszono regulamin