Dobrý den.
Koukal jsem do schémat telefonu Neo Freerunner a našel jsem tam zajímavou věc - společnou sběrnici pro SDRAM a jinou periferii (konkrétně multimedia coprocessorem). Jak je toto řešeno v jádře linuxu? Jde o standardní přímý přístup do paměti? Společná je adresová i datová sběrnice, výběr příslušné periferie se provádí pravděpodobně softwarově.
A teď bych měl dotaz: je v knize JSL popsáno jak pracovat s pamětí v podobných případech? Jak napsat ovladač, aby byl schopen periferii využívat (třeba aby bylo možné opravdu přímo zapisovat z periferie do paměti SDRAM bez zpracování procesorem, ukládání do cache)? Nebo nemám knihu kupovat a začít raději studovat zdrojáky ovladače toho koprocesoru ve FR? Budu stavět ne zrovna jednoduché zařízení s linux-ARM, zajímalo by mě zda je možné takto prudce zvýšit datovou propustnost.
Předem díky za odpověď
Díval jsem se zběžně do ovladačů pro S3C2410 a pro platformu S3C, podle všeho by mělo jít normálně využít standardní API pro DMA popsané v knize - tedy např. přes paměť alokovanou pomocí dmam_alloc_coherent(), přes DMA pool, proudové mapování nebo SG. Hardwarové detaily ale bohužel neznám, takže nevím, jestli tam není nějaké specifické omezení.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly