( tovis | 2019. 04. 02., k – 12:19 )

Jól belementél. Amiért a "bare metal" programozást akarom először kipróbálni pont az, hogy kiismerjem magam az architektúrán. Az ARM olyan mintha egy alaplapot kellene programozni - van benne órajel, interrupt kezelő és DMA. Így foglalnám össze a legalapvetőbb különbségeket a jól ismert 8 bites mcu -hoz képest.
Az előre gyártott freeware kódokkal folyton ez a probléma - hol vannak a határai, mennyire is használható valójában. Azért nagy gáz ha lekódolod amit kell és ott sül ki hogy nem bírja hazárdos, nehezen kinyomozható hibákat okoz.
A keretprogramok oda csapják ezeket a kódokat.
Viszont, nem akarom feltalálni a spanyol viaszt, és az összes vezérlő regisztert ledefiniálni - lusta vagyok és nem tartom ésszerűnek, ha van kész és mindenki azt használja - azaz más is ki igazodhat rajta.
A ip stacktől egyelőre olyan messze vagyok mint Makótol Jeruzsálem. Valószínűleg ott kellhet igazából az RTOS mint ütemező és valami kész, akár fizetős ipstack kód. (Így is annyi ilyen van már és én is láttam hogy milyen bugosak tudnak lenni)
Ami az izomzatot illeti, kicsit zavarba ejtő, hogy mekkora flash áll rendelkezésre, míg mondjuk az M0 legfeljebb 8k RAM, valljuk meg ez minden csak nem izmos. Minden periféria igényel puffereket, mérési eredmények tárolása további feldolgozáshoz stb. és akkor azért a stack -re is vigyázni kell nestelt interrupt és egyebek.
Apropó, több helyen olvasom hogy az interruptot nem ISR szolgálja ki hanem callback? Vagyis kilép a védett üzemmódból és mókol valahol?

* Én egy indián vagyok. Minden indián hazudik.