加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1.App image 的生成
    • 2. 獲取 XMCD 文件
    • 3.使用 MCUBootUtility 完成 image 的下載
    • 4. 從 flash 啟動
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

如何下載 RT1170 ARMGCC SDRAM 代碼到外部 flash

01/02 17:02
295
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

在我們?nèi)粘i_發(fā)中,都傾向于直接把應(yīng)用代碼下載到 SRAM/SDRAM 里調(diào)試(視應(yīng)用代碼大?。?yàn)榇a下載到 RAM 比較快,也無需過多的擦寫 flash,那當(dāng)調(diào)試完成,又該如何把應(yīng)用代碼下載到 flash 里啟動呢?本文提供了一篇指導(dǎo),教大家如何把 RT1170跑在 SDRAM 的代碼下載到外部 flash 并通過 None XIP 模式從 flash 啟動。

本文是基于 NXP RT1170 SDK 2.15 的 HelloWorld demo, 官方 MIMXRT1170-EVK開發(fā)板,生成 ARMGCC SDRAM 工程,偏移 APP image entry,使用工具生成 image,然后下載到外部 flash 中。具體步驟如下:

1.App image 的生成

1.1 下載 RT1170 SDK 2.15 并解壓到本地

1.2 參考 Getting Started 文檔建立 ARMGCC 編譯環(huán)境

1.3 修改相應(yīng)的 LD 文件中 image 的起始地址,這里為了保證 IVT 等 image 頭部數(shù)據(jù)的空間,偏移了 0x2000 字節(jié),但不是固定的,客戶可根據(jù)自己需要微調(diào)。

1.4 進(jìn)入對應(yīng)項(xiàng)目的 armgcc 目錄,運(yùn)行 build_sdram_debug.bat 文件

2. 獲取 XMCD 文件

因?yàn)?SDRAM debug 下載代碼的時候,是由 IDE 工具執(zhí)行相應(yīng)的腳本來初始化設(shè)備的 SDRAM接口,因此當(dāng)把 image 下載到 flash 啟動時,需要配置 XMCD 文件,由 BootROM 來完成這一部分的初始化工作。這里使用了一點(diǎn)小技巧,是用了 SPT 工具直接從 flexspi_nor_sdram 的image 中提取了 XMCD 信息。

記住這個路徑,待會會用到。

3.使用 MCUBootUtility 完成 image 的下載

3.1 配置 boot mode 為 serial download,通過 USB 連接 RT1170EVK。

3.2 加載 XMCD 文件,就是從前面那個路徑導(dǎo)入

3.3 加載 elf 文件并生成完整的 image

3.4 下載 image 到 RT1170EVK

4. 從 flash 啟動

配置 boot mode 為 internal boot 后,上電啟動。

小伙伴們,你們學(xué)會了嗎

相關(guān)推薦

電子產(chǎn)業(yè)圖譜