付雪飛
摘要:本文介紹NorFlash啟動雙核系統的辦法,詳細介紹啟動過程中需要的工作流程,包括程序的存放、燒寫、載入、跳轉、執行等。
關鍵詞:雙核;啟動;NorFlash
中圖分類號:TN312+8;TP368.1 文獻標識碼:A 文章編號:1007-9416(2018)04-0166-02
1 雙核啟動介紹
1.1 OMAP-L138介紹
OMAPL138雙CPU內核高性能處理器是由德州儀器公司的雙CPU處理器,內部包含DSP和ARM兩個CPU內核。本文介紹了一種基于Flash實現雙核啟動,并分別加載ARM和DSP程序的方法,介紹了OMAPL138雙CPU核的自啟動和開發方法,對于OMAPL138的應用有非常強的參考。
1.2 OMAP-L138程序映射介紹
本文介紹ARM啟動后,喚醒DSP自啟動系統,這種自啟動系統需編寫bootloader程序、應用程序段,其中ARM包含bootloader、應用程序,DSP包含應用程序。
所有程序的代碼放置在外部NOR Flash內,外部Flash與雙核CPU通過EMIF總線連接。程序放置位置的中的地址映射如圖1所示,其中,bootloader.bin通過雙核CPU出廠自帶的搬運程序到共享shareRAM中,shareRAM起始地址為0x80000000,出廠自帶的搬運程序不能搬運超過16 KB的二進制文件;ARM應用程序arm.bin放在DDR2,起始地址為0xC0000000和DSP應用程序代碼段放在L2,起始地址為0x11800000,最后,ARM中斷向量表存放在ARM_LOCAL_RAM地址空間,位于0xFFFF0000處。
1.3 OMAP-L138程序啟動流程介紹
(1)所有目標碼(*.bin)寫入外部NORFlash的程序實現。寫入外部NORFlash程序是由用戶獨立編寫,運行在ccs5.4中的一個額外的仿真程序,用于將應用程序寫入到外部NORFlash中,當然寫入地址除bootloader.bin必須在NOR Flash頂端外,其他*bin程序都可以由用戶自由定義。
(2)bootloader只完成一項工作,就是將ARM程序、DSP程序、中斷向量表搬移到分別對應的空間中去。
之后ARM程序按順序完成的以下事件:
(1)將ARM設置為super mode,且初始化對應的寄存器和堆棧;
(2)雙核CPU內部寄存器的初始化;……