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