ARM cross-compile toolchain használata

Ahhoz, hogy le tudjuk fordítani egy programot a Beagleboardra, szükség van egy ARM toolchain-re. Egy ajánlott toolchain a CoderSourcery toolchain, ami letölthető innen: CodeSourcery ARM toolchain installer

Installer helyett letölthető a csomagolva is, ez esetben manuálisan kell beállítani az elérési útvonalakat.

A Cross-compiler egy tipikus helye a /opt lehet. Oda kell kicsomagolni, és a fordításhoz a környezeti változókkal kell megadni a cross-compiler elérési útvonalát.

cd /opt
wget http://bodri.tmit.bme.hu/ip_telefon/docs/Lab/ARM/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
tar -xjf arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
export PATH=${PATH}:/opt/arm-2010q1/bin
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-

A Cross-compiler használata:

# edit ~/embed/main.c
# arm-none-linux-gnueabi-gcc -o hello main.c

Mai feladat: hello world program megírása és lefordítása a beagleboardra.

Letöltés a beagleboardra: felmásolás az SD kártyára vagy letöltés hálózaton keresztül...

Feltöltés - megosztás

Úgy is lehet megosztani hogy feltöltitek az alábbi oldalra és onnan wget-el a Beagleboardra:

Megosztás letöltése: wget http://bodri.tmit.bme.hu/upload/filenév

RTP folytatás - vevő megvalósítása

Kiindulási pontunk a az előző órai feladat Minta forrás végeredménye. Mintaként itt elérhető Lipcsei János működő verziója: ARM codec + RTP küldés implementálva

Az RTP fogadó implementációja jóval komplexebb, mivel socket pollozás és jitter buffer implementálása is szükséges hozzá. Megoldandó feladat tehát, hogy ha adat jön akkor azt egy jitter bufferbe dekódoljuk, a PCM lejátszás pedig a jitter buffert ürítse. Ez a meglévő minta kód átgondolását igényli, mivel nem feltételezhetjük hogy a csomag mindig a PCM lejátszási idő előtt meg fog érkezni...