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