Linux下Cold Fire 片內SRAM的應用程序優化設計
為了在修改內核代碼的同時不影響系統其他文件的正常運行,要在內核鏈接腳本中添加新的段區定義(.sramcode),指定該段區鏈接加載地址為處理器片內SRAM,并在.sramcode段區內定義代碼段(.sramtext)和數據段(.sramdata),分別用于存儲驅動中的代碼和數據。對齊方式采用ALIGN(4),因為對32位微處理器來說,該對齊方式將有效減少處理器執行周期,提高執行效率。然后,使用2個指針_lsramcode和_lsramcodeend分別指向,sramcode段區的段首和段尾,具體實現如下:本文引用地址:http://www.104case.com/article/166834.htm
完成對操作系統鏈接文件的修改之后,使用宏定義在音頻驅動程序中把相關函數和數據分別指定鏈接到,sramcode代碼段和數據段,并由copy函數把相關函數復制到SRAM中執行。編譯、鏈接完成后,可以在系統內核存儲映射文件Sys-tem.map中查看驅動函數和數據在內存中的地址。圖3顯示了音頻驅動函數在處理器片內SRAM中的映射地址。
評論