如何在 ARM Cortex M0 设备中使用 JLink 对引导加载程序区域进行编程
Posted
技术标签:
【中文标题】如何在 ARM Cortex M0 设备中使用 JLink 对引导加载程序区域进行编程【英文标题】:How to program the bootloader area with JLink in an ARM Cortex M0 device 【发布时间】:2021-08-24 07:09:54 【问题描述】:我正在尝试使用 JLink 和 JFlash 对 NUC240SE3AE 设备的引导加载程序区域进行编程,但出现错误消息:
"ERROR: Selected Data (0x100000 - 0x100FFF) does not fit into selected flash sectors."
芯片确实实现了该区域,但正如我在 Segger 的设备数据库中发现的那样:
此设备只有一个闪存库,
缺少主应用程序区域和引导加载程序的第二个区域。
所以我的问题是:有解决方法吗?如何对闪存区域进行编程?
【问题讨论】:
你在 Segger 论坛上问过吗?根据我的经验,他们的工程师反应迅速,Segger 定期发布软件和固件更新(包括 Beta 版本)。 forum.segger.com/index.php/Board/3-J-Link-Flasher-related 【参考方案1】:MCU的技术参考手册System Memory Map部分证明内存范围0x100000 - 0x100FFF
没有实现。
这意味着 flasher 或 linker 的配置不正确。请提供这两个配置以供进一步调查。 另外,固件来源是什么?
【讨论】:
我多年来一直在使用这个部件。在 0x001000000-0x00101FFF 之间闪存中有一个称为 LDROM 的区域。请再次检查手册。它位于文件 TRM_NUC230_240_Series_EN_Rev1.03.pdf 的第 178 页上。可以用 Keil 和 nuvoton 自己的工具编程,但不能用 Segger 的命令行工具。 那么请提供 JFlash 配置以供进一步调查。屏幕截图也会有所帮助。以上是关于如何在 ARM Cortex M0 设备中使用 JLink 对引导加载程序区域进行编程的主要内容,如果未能解决你的问题,请参考以下文章
基于ARM Cortex M0 核心的巨微MS1793S低功耗蓝牙芯片
单片机行业经常提到的M0 M1 M2 M3 M4 M7指的是啥