Mikrokontroléry od Renesasu spolu s jejich překladači C/C++ jsou dost oblíbené v automobilovém průmyslu. V této souvislosti mě napadlo, zda autor nezvažuje do seriálu přidat také povídání o platformě Aurix TriCore. Je poměrně zajímavá, vznikla v Evropě a málokdo mimo lidi kolem aut vůbec ví, že existuje. Ale vývojové kity lze koupit už i v Conrad Electronics..
TriCore se totiz snad jinde nez v automotive ci vyjimecne industrial nepouziva... je totiz pekelne drahy. Myslim, ze kdyby Infineon zacal produkovat dostatecne vykonne ARM cipy automotive-grade a nacpal k nim vsechny ty CANy/FlexRaye/Liny + dalsi komponenty dle uziti, byla u toho nizsi cena, tak pro TriCore ani pes nestekne.
https://en.wikipedia.org/wiki/Infineon_AURIX
http://www.infineon.com/cms/en/product/microcontroller/32-bit-tricore-tm-microcontroller/channel.html?channel=ff80808112ab681d0112ab6b64b50805
Jinak je TriCore ale docela pekna hracka, pekne se disassembluje ;). Treba na rozdil od PowerPC, kde cloveku nejaky rlwinm umi slusne zamotat hlavu.
Na Tricore se u nás na katedře pracovalo. Využití kryptografické jednotky pro zrychlení protokolu Message Authenticated CAN navrženého ve Volkswagen research. Kód pro Linux a STM je zde
https://github.com/CTU-IIG/macan
Část pro Tricore je psaná psaná proti SDK, které bylo poskytnuté pod nějakou ošklivou licencí a nesmíme ho tedy publikovat. Bylo to pro Infineon, aby mohl předvést užitečnost čipu ve VW.
Jinak Infineon mé,co se týče použití v mé firmě, tvrdý ban. Snažili se, aby jim komunita pomohla integrovat podporu do NewLib, přitom používají a prodávají v SDK GCC, a při dotazu na zdojové kódy vývojář, který chtěl od komunity integrovat změny do NewLibu tak na prohlášení, že by měli k SDK dávat odkaz, balíček zdrojáků GCC, prohlásil, že nedají tečka.
Takže nevím, jestli si zaslouží propagaci článkem. Doporučuji Tricore považovat za mrtvou architekturu.
Hlavní přednost Tricore je, že je jádro implementované v klasickém LockStep režimu. Dvě CPU jádra zpracovávají stejné vstupy jen jedno je dostává o takt nebo 1.5 taktu zpožděné, první jádro pak zapisuje do paměti/okolního světa, jeho výstupy se ale ještě také zpozdí a pak se porovnají s druhým jádrem, pokud je rozdíl, tak se vyhlásí chyba a většinou je nastavené, že se systém zresetuje nebo odstaví a řízení převezme záložní nezávislý čip, třeba druhá LockStep dvojice. Toto je jedno z řešení pro bezpečnostně kritické systémy s vyššími požadavky (SIL).
Z architektur, které tuto techniku podporují a u kterých výrobci neprodávají kompilátory porušují licence a nebo minimálně jejich záměr, lze jmenovat Cortex-R4/5 (například TMS570, se kterou také pracujeme) a PowerPC (některé členy řady FreeScale/NXP MPC55xx). Dále jsou zde SPARCy, ale ty pro space dokonce implementují často majoritní logiku ze tří přímo na čipu.