我们有 LPC8N04 的定制板,我们正在使用 Keil ULINK2 编程器通过 SWD 接口对其进行编程。此时,微控制器处于深度掉电模式,我无法再用调试器接触到内核。
如何对 LPC8N04 重新编程?
我不熟悉这种芯片。但是,将 RESETN 调低通常会使 CPU 退出低电源模式并进入某种 RESET 状态。也许可以试试它是否在 RESET 时以这种方式响应 SWD 命令?如果你必须在接下来的几微秒内,在执行太多代码之前释放 RESET,然后再执行 SWD 以使其恢复到低电源模式,那就太不幸了。
你好,我叫帕维尔,我将支持你的案例,我找到了一个相关的主题,也许你可以使用 Flash 魔法工具。
LPC8N04 EEPROM 写入 4kB 结果芯片已锁定-恩智浦社区
致以最崇高的敬意,
Pavel
看来你是对的,我找不到任何关于模式引脚或 ISP 模式的信息。
这有点不寻常。
也许恩智浦的一些员工可以解释如何用这个微控制器拆掉板。
我会尝试设置唤醒引脚(PIO0_0),同时尝试调试访问。
如果 MCU 不支持 ISP 模式,我会很惊讶,但这并非不可能。
出于个人兴趣,我会查一查。如果是这种情况,请避免使用这款 MCU ... ;-O
我忽略了你提到的 " 自定义板 "。这可能意味着没有设计任何支持。
> 此外,该 MCU 没有 UART 接口。这是一个简约的 MCU。
UART 只是最常见的一种。许多系统 ROM 引导加载程序支持 SPI、CAN 甚至 USB 等其他接口。
但正如我所说的,我会查看 DS/用户手册,看看能否找到什么。
众所周知,深度睡眠模式会破坏调试访问。
我想,如果能添加一个可手动操作的唤醒源,比如 GPIO 电平转换,应该会有所帮助。
我在以前编程的恩智浦 MCU 中使用过 ISP 模式,但在这款 MCU 中却找不到这些模式。此外,该 MCU 没有 UART 接口。这是一个简约的 MCU。
我使用的是 SWD 接口,到目前为止运行正常。
虽然我没有使用 LPC8N04 的经验,但基本上所有现代 MCU 都支持这种模式。
通常通过特定的模式引脚,这些引脚在 MCU 启动时进行检查。如果检测到特定的逻辑电平组合,MCU 就会保留在系统 ROM 中,等待通过定义的串行线路之一进行通信。最常用的是 UART 接口。
模式引脚、逻辑电平组合、支持的输入线路和 ISP 协议通常在用户手册中定义。
评估板通常带有用于将 MCU 设置为 ISP 模式的跳线。
因此,也请查看评估板文档。
感谢您的回复。问题是 LPC8N04 没有 ISP 模式(据我所知)。
> 此时,微控制器处于深度掉电模式,我无法再用调试器接触到内核。
这正是掉电模式的目的——关闭设备以节省能源。
这很可能是您的应用程序出现了错误。
将 MCU 启动到 ISP 模式,然后通过 FlashMagic 等工具访问以擦除闪存。
之后,集成开发环境和调试 pod 应能以正常方式访问它。
MCU 用户手册和/或相关应用说明中通常会解释这一过程。