ZHCAB23A June 2019 – January 2021 OMAP-L132 , OMAP-L138 , TMS320C6742 , TMS320C6746 , TMS320C6748
問題: 如何啟動可執行文件?
答案:必須使用 AISgen 工具將 COFF/ELF 格式的可執行文件轉換為 AIS 格式。有關此過程的更多詳細信息和示例,請參閱Topic Link Label3.1。
問題: 如何啟動 DSP 可執行文件?
答案:由于 OMAP-L138 是 ARM 啟動器件,因此必須首先引導可執行文件以喚醒 DSP。對于 C6748,可以直接啟動 DSP AIS 二進制文件。有關此過程的更多詳細信息和示例,請參閱Topic Link Label3.2。
問題: 是否有任何適用于 EVM 的示例 AISgen 配置文件?
答案:以下文件包含將內核/mDDR 頻率設置為 456/150MHz 和 300/132MHz 的 AISgen 配置文件。
下載示例 AISgen 配置文件。這些可從以下位置上的AISgen包獲得::AISgen for D800K008\cfg_files。
請注意,選擇 OPP 時必須適當調整內核電壓。
問題: 為什么我的程序可以在 CCS 中運行,但無法從閃存中啟動?
答案:Gel 文件的依賴性
常見的問題是在代碼需要的GEL 文件中做了一些配置,如外部內存配置、pinmux 配置或 PLL 配置。大多數功能也可以由引導加載程序使用 AISgen 工具來執行。啟動后比較 PLL、pinmux 和 DDR 寄存器,并驗證它們是否與 GEL 文件設置的情況相匹配。
答案:錯誤的外部內存配置
如果您的代碼在外部內存中有一些段,則引導加載程序必須在復制該代碼之前,先配置控制器設置。驗證 AISgen 中使用的 DDR 配置設置是否與 GEL 文件中使用的設置相匹配。如果 DDR 配置正確,您應該能夠在 CCS (0xC0000000) 中插入 DDR 內存區域。
答案:管理員模式與用戶模式
SOC 設計要求 Arm 內核處于管理員模式,以配置引腳多路復用 (PINMUX) 寄存器。TI Arm 工具鏈在初始化期間以用戶模式配置內核,因此 Arm 應用需要包含 boot.asm 源文件,以將 Arm 執行狀態更改為管理員模式。可在Topic Link Label3.2.2的 zip 文件中找到該文件。在 CCS 中,應在項目鏈接器選項中勾選“Search libraries in priority order (--priority, -priority)”框以避免鏈接錯誤。
答案:KICK 寄存器解鎖
在以前版本的器件(版本 1.0 和 1.1)上,在訪問某些受保護的寄存器之前,必須先解鎖 KICK 寄存器。雖然 CCS 中的 GEL 文件可以自動執行此操作,但應在代碼開始執行以使文件可移植。有關該過程的更多信息,請參閱 OMAP-L138 C6000 DSP+ARM 處理器技術參考手冊。
答案:錯誤的啟動模式
再次檢查啟動引腳在復位上升沿處的電壓是否合適。使用Topic Link Label4中的 Debug GEL 文件確定器件鎖存的啟動模式,并查看任何其他 ROM 錯誤消息。另外,請驗證 TRST 是否從外部下拉。
答案:使用引導加載程序共享內存
ROM 引導加載程序本身使用從 0x80000000 開始的 16KB 共享 RAM,用于多種用途。該內存不應該被用戶應用程序的任何初始化段使用。
答案:RAM 與 ROM 自動初始化模型
通過 ROM 啟動代碼時,請確保在鏈接器選項中使用 ROM 自動初始化模型 (-c)。如果使用 RAM 自動初始化模型 (-cr),即使某些內存位置在 CCS 下,也永遠不會被加載。可以在此處找到構建選項:
問題: 是否需要次級引導加載程序 (UBL)?
答案:在引導加載程序無法解析 AIS 文件的較舊器件上,需要次級引導加載程序,又名用戶引導加載程序 (UBL)。通過將 AISgen 工具與 OMAP-L138 引導加載程序一起使用,以前由 UBL 執行的大部分功能都可以由引導加載程序完成。
對于典型的 Linux 應用程序,舊流程如下所示:
OMAP-L138 的流程如下所示:
所以一般來說,不需要單獨的 UBL,因為 AIS 功能可以執行大部分相同的任務。
問題: 如何為 NOR direct 或 NOR legacy 啟動模式準備映像?
答案:有關創建啟動映像的說明,請參閱 處理器SDK 軟件開發人員指南的啟動 一節。
問題: 應如何格式化 SD/MMC 卡以便于啟動?
答案:有關如何準備 SD/MMC 卡的詳細信息,請參閱 處理器DK 軟件開發人員指南的啟動 一節。。