查看: 2271|回复: 1

[原创] 【我要分享】Cortex-M3 (NXP LPC1788)之看门狗定时器对Flash编程

[复制链接]

该用户从未签到

17

主题

32

帖子

0

注册会员

Rank: 2

积分
85
最后登录
2018-6-13
发表于 2017-2-27 08:56:09 | 显示全部楼层 |阅读模式
这两天在学习窗口式看门狗模块,之前一直调试的很happy,今天早上突然就进入不了调试模式,而且无法擦除Flash,无法下载程序。郁闷了半天,以为是Keil软件和Ulink出了问题,在另外个电脑上重载,问题依旧。准备用ISP进行尝试,使用FlashMagic软件,进行读取芯片的ID,一直报警autobaud错误,进他提示的网页看下也没有什么有用的信息。

仔细看了数据手册,在Flash存储器章节看到如下信息。引导加载器(boot loader)控制芯片复位后的初始化操作,并提供对Flash存储器进行编程的工具。包括ISP,通过引导加载器软件和UART0串口片上Flash存储器进行编程或在编程。IAP,应用终端用户的应用代码对片上Flash存储器进行编程。

Flash引导加载器代码在芯片每次上电或复位后最先执行。加载器可以执行ISP命令处理器或用户的应用代码。复位之后,P2[10]引脚的低电平可以被视为启动使用UART0管脚的ISP命令处理器的外部硬件请求。假定在复位管脚出现上升沿时,电源管脚出现标称电平,那么在采样P2[10]之前有3ms的时间来决定是执行用户代码还是ISP处理器。如果P2[10]取样得到低电平且看门狗溢出标志置位,那么启动ISP命令处理器的外部硬件请求将被忽略。在没有ISP命令处理器执行的请求时,将搜索有效的用户程序。

根据红色标记的那句话可知由于我的看门狗调试程序中,设置了溢出不复位,且溢出后没有清除溢出标志。所以导致系统无法产生执行ISP处理器的硬件请求。也就无法通过ISP对芯片进行操作。

问题的原因已经找到,为了解决这个问题,由于自己的调试看门狗程序有问题(一上电就复位,且没清溢出标志),所以正常情况下通过ISP擦除Flash没法成功。尝试用ULINK的JTAG接口进行擦除,但是也一直报警出错。后来只能使用最笨的办法,在上电的时候按住复位按键,然后反复上电,反复使用FlashMagic进行擦除尝试,终于擦除成功。 擦除以后使用ULINK进行下载程序,可以连接正常。

终于可以重新正常使用开发板,继续调试WDT模块,有点揪心,接下去调试得仔细点了。




回复

使用道具 举报

该用户从未签到

10

主题

40

帖子

0

注册会员

Rank: 2

积分
96
最后登录
2018-5-11
发表于 2017-2-27 11:09:07 | 显示全部楼层
辛苦了
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-5-5 17:14 , Processed in 0.117485 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表