Portál AbcLinuxu, 13. května 2025 04:11
Troška nostalgie. Připomíná mi to testování uCLinuxu 2.0 včetně podpory síťové karty na naší desce MO_CPU1 (zdokumentované v diplomové práci Michala Sojky z roku 2003)
Desky se stále ještě pro reálné robotické aplikace používají, ale přesto, že Linux na ní chodil, tak to byl jen pokus a vzhledem k overheadu to nemá kromě získávání smysl. Udržuji pro desky podporu pro RTOS RTEMS, který je dostupnému množství paměti přiměřenější, ale hlavní aplikace robotického kontroléru je napsaná natvrdo na HW s řídicí smyčkou v přerušení a vlastní regulátory jsou zoptimalizované v assembleru, aby se řízení osmi os na 1 kHz stíhalo. V dnešní době ale přecházíme a používáme ARMy Cortex-M4F a Cortex-A8.
Co se týče řady Motorola 683xx, tak je byl z mého pohledu nepřátelštější mikrokontrolér, co znám. Žádná překvapení, periferie chodily tak jak bylo v manuálu a manuál byl dokonale strukturovaný. Například SPI řadič jsem podle manuálu naprogramoval na několik periodických přenosů s různými parametry a výsledek chodil hned na první spuštění. Současné manuály často psané v Číně a nebo odbyté s neúplným popisem registrů a koncepce jsou proti tomu neštěstí. Potom ještě postupně vyjdou errata, kde se člověk dozví, že v každé periferii jsou alespoň dvě chyby, které za určitých okolností vedou k nedefinovanému chování. Prostě M68k byla jiná doba, pomalejší, ale s důrazem na spolehlivost.
No nic tak zpátky k LPC1778 a druhému koprocesoru který máme navržený v FPGA. Už to umí víc než naše dřívější systémy, mnohem rychleji a alespoň ta část na ARMu je celá v C, ale do preciznosti a míře otestování starší aplikace to má ještě daleko. Jinak na LPC také existuje uCLinux, ale čas s tím ztrácet nebudeme. To je lepší už i RPi nebo raději AM335x nebo i.MX5x/6. RTEMS nám na tom naopak chodí pěkně.
A navíc zajímavou periférii: 2ks vestavěných Microdrivů. Vsadím se, že pro ty blokové ovladače do jádra ještě nikdo ani nezkusil napsats/blokové/páskové/
crw-rw---T 1 root tape 9, 128 Nov 3 09:18 /dev/nst0 ^
$ ls -alh /dev/st0
brw-rw---- 1 root operator 5, 0 May 3 2011 /dev/st0
Je pravda, ze kdyz se pristupuje na pasku primo, tak je to znakove. Ma to v Unixu dvoji interface.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.