
5 DSP/BIOS 的配置
如要把DSP/BIOS 的程序映射到擴(kuò)展程序空間,需要對其進(jìn)行配置,步驟如下:
(1) 建立一個新配置文件。啟動仿真軟件(Code Composer Studio), 建立testfar.pjt 工程,通過File 中的New--DSP/BIOS Config 創(chuàng)建配置文件, 選用sd54.cdb (54X EVM)配置。
(2) 添加軟件中斷。右鍵打開軟件中斷管理器(Software Interrupt Manager), 選擇Insert SWI, 創(chuàng)建SWI_PAGE1, 屬性配置為:function:_Page1Func;priority2。用同樣的方法
創(chuàng)建function為_Page2Func的SWI_PAGE2。右鍵打開定
時器功能管理器(Periodic Function Manage), 選擇Insert PRD, 創(chuàng)建PRD_POST_SWI, 屬性配置為:period(ticks):50, function:_PRD_Post_SWI, mode:continuous。
(3) 設(shè)置OVLY 位為1。打開System中的Global Settings 的屬性頁, 在PMST(6-0) 項中填入使第5位為1的值, 如MP=1, 填入0x60。
(4) 指定“遠(yuǎn)”調(diào)用模式。在Global Settings 屬性頁面的Function Call Model 選項中選擇far, 使全局變量Callmodel 設(shè)置為far。
(5) 在公共區(qū)中重新分配中斷向量表。雙擊System中的MEM, 右鍵打開VECT 的屬性頁, 在base 項中填入新的基地址, 如0x7F80。
(6) 配置擴(kuò)展程序地址段。對于54X EVM 評估板, 已經(jīng)有了兩個擴(kuò)展程序段EPROG0和EPROG1(如果沒有的話, 則需添加這兩個段, 選擇Insert MEM, 添加兩個擴(kuò)展程序段, 重命名為EPROG0和EPROG1)。EPROG0屬性為base:0x8000, len:0x4000, 勾去create a heap in this memory 選項, space:code;EPROG0與EPROG1的屬性不同之處為base:0x18000。加入一個新的擴(kuò)展程序段EPROG2,屬性為base:0x28000, len:0x4000, space:code。
(7) 將目標(biāo)代碼鏈接到擴(kuò)展程序段。 pragma 偽指令告訴編譯器的預(yù)處理器如何處理函數(shù),語法為#pragma CODE_SECTION(Page1Func,“.FarPage1”), 在名為“.FarPage1”的段中分配Page1Func的程序空間。這樣,目標(biāo)代碼Page1Func 就被鏈接到.FarPage1 段的區(qū)域。
(8) 創(chuàng)建一個新的鏈接命令文件(testfar.cmd)。其主要功能是把testfarcfg.cmd 鏈接進(jìn)去,并且告訴鏈接器把不同目標(biāo)函數(shù)放在不同的擴(kuò)展頁面上。如:





