OMAPL138雙核裸機(jī)燒寫(xiě)

參考gel文件中的配置,完成arm的引導(dǎo)和初始化

打開(kāi)OMAPL138平臺(tái)的Starterware目錄下GPIO_LED工程,添加以下初始化代碼所需的宏定義

image.png
#define PSC0_BASE       0x01C10000
#define LPSC_DSP        15
#define PSC_TIMEOUT     200
#define PSC0_MDCTL      (PSC0_BASE+0xA00)
#define PSC0_MDSTAT     (PSC0_BASE+0x800)
#define PSC0_PTCMD      *(unsigned int*)(PSC0_BASE + 0x120)
#define PSC0_PTSTAT     *(unsigned int*)(PSC0_BASE + 0x128)

找到GEL文件圖中初始化的函數(shù)定義:

image.png

將圖中的代碼復(fù)制到工程源碼中,并且屏蔽兩處“ GEL_TextOut ”的打印行,如下圖:

image.png

繼續(xù)定義DSP的初始化wake_dsp函數(shù),設(shè)定引導(dǎo)地址和調(diào)用以上初始化函數(shù)。添加以下代碼:

static void wake_dsp()
{
    *(volatile unsigned int *)(0x01C14044) = 0x11800000;
    PSC0_LPSC_enableCore(1,LPSC_DSP);
}
image.png

在main主函數(shù)中,調(diào)用wake_dsp()

image.png

Rebuild重新編譯。

image.png

修改DSP裸機(jī)工程的cmd文件入口地址

以控制核心板LED的Timer工程為例,修改cmd文件的程序入口。

原地址
修改后

注意,DSP和ARM的內(nèi)存空間,不可以重疊沖突,建議一個(gè)使用DDR,另一個(gè)使用SHRAM,如圖所示:

image.png
image.png

重新編譯Timer工程,生成.out文件;

image.png

打開(kāi)AIS生成工具AISgen_d800k008.exe

image.png

選擇加載AISgen_Boot6748_on138_456M_config.cfg配置文件。

image.png

點(diǎn)擊"+",選擇步驟一,生成的arm端裸機(jī)二進(jìn)制可執(zhí)行文件GPIO_LED.out

image.png
image.png

選擇對(duì)應(yīng)的生成路徑(非中文路徑即可)。

image.png

點(diǎn)擊Generate AIS生成.ais可執(zhí)行文件。

image.png

連接開(kāi)發(fā)板和仿真器,在arm核加載nandwrite.out文件,擦除flash后,燒寫(xiě)test_a.bin文件。

image.png

重新上電,撥碼開(kāi)關(guān)改成從nand flash啟動(dòng),底板GPIO由ARM控制,核心板LED由DSP控制。
ARM裸機(jī)工程,DSP裸機(jī)工程燒寫(xiě),測(cè)試成功。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容