CutClassH / RT105x-Flashloader-with-W25Q

nxp rt105x 外置w25q flash的下载算法,解决Embedded Studio和MCUXpresso无法下载的问题。
GNU General Public License v3.0
7 stars 6 forks source link

RT105x-Flashloader-with-W25Q

此下载算法解决Jlink无法将程序下载到NXP RT105x核心板的外置W25Q Flash上。\ 由于手上的开发板和Jlink限制,只测试了一种Jlink,一款开发板。

理论上只要开发板同样的Flash,都是支持的。加入此下载算法之后,实测可以使用MCUXpresso 和 Embedded Studio下载调试。

下载算法使用

1.下载flashloader RT105x_W25Q.elf

2.将文件复制到 $(JLink_DIR)/Devices/NXP/iMXRT105x目录下,Jlink_DIR为Jlink的安装路径。

3.打开Jlink的安装路径下的JLinkDevices.xml,找到

<Device>
    <ChipInfo Vendor="NXP" Name="MCIMXRT1052" WorkRAMAddr="0x20000000" WorkRAMSize="0x00080000" Core="JLINK_CORE_CORTEX_M7" JLinkScriptFile="Devices/NXP/iMXRT105x/NXP_iMXRT105x.pex" />
    <FlashBankInfo Name="HyperFlash" BaseAddr="0x60000000" MaxSize="0x04000000" Loader="Devices/NXP/iMXRT105x/NXP_iMXRT105x_HyperFlash.elf" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>

更改为

<Device>
    <ChipInfo Vendor="NXP" Name="MCIMXRT1052" WorkRAMAddr="0x20000000" WorkRAMSize="0x00080000" Core="JLINK_CORE_CORTEX_M7" JLinkScriptFile="Devices/NXP/iMXRT105x/NXP_iMXRT105x.pex" />
    <FlashBankInfo Name="QSPI Flash" BaseAddr="0x60000000" MaxSize="0x04000000" Loader="Devices/NXP/iMXRT105x/RT105x_W25Q.elf" LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>

4.在IDE中将Debuger Target配置为"MCIMXRT1052"。

源码说明

对于如何构建自定义的Jlink 下载算法,Segger的wiki有详细的说明。并且提供了embedded studio的工程模板。\ 如果需要修改或者尝试自己编译这个工程,你需要下载安装Embedded Studio 4.30。 这个工程提供了两个工程配置,debug用于调试程序,release用于编译生成下载算法。