Pomocí MMAP si v linuxu mapuju fyzickou ardresu na virtuální, se kterou pracuji v aplikaci obslutující HW. Snažím se tím vyhnout nutnosti psaní ovladače. Zatím se to chová uspokojivě. Ale, má s tím někdo z Vás zkušenost?
Máte někdo zkušenost, jak z uživatelské aplikace chytit přerušení?
A dále - potřeboval bych vyhradit blok fyzické paměti, který bude pro OS nepřístupný, mělo by to jít boot argumentem, ale zatím jsem to nezkoumal, radu bych ocenil.
Je to můj první projekt s vestavným Linuxem, takže na tom sbírám zkušenosti. Většina funkcionality je implementována v HW tak, že procesor toho moc nedělá - programuje DMA, nastavuje (sem tam) pár registrů a odešle buffer po ethernetu.
V tomto projektu mi ovšem narastli nároky tak vysoko (souborový systém, FTP, SMB, webserver) že už by bylo neefektivní implementovat to jako bare metal.