zoukankan      html  css  js  c++  java
  • (转)CortexM3 (NXP LPC1788)之看门狗定时器对Flash编程的影响

    这两天在学习窗口式看门狗模块,之前一直调试的很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模块,有点揪心,接下去调试得仔细点了。

  • 相关阅读:
    用于聚类的信用卡数据
    微信支付 参考
    小程序中 自定义组件的使用
    小程序页面跳转传参
    小程序人脸核身
    ant desgin pro 的项目中 封装的 socket.js
    vscode红色波浪线
    ant desgin pro 的项目中 请求之封装
    小程序的请求 方式封装
    浏览器网页链接打开本地exe客户端程序 及 无法导入,指定文件不是注册脚本.您的注册表编辑器只能导入2进位注册文件
  • 原文地址:https://www.cnblogs.com/tdyizhen1314/p/2704594.html
Copyright © 2011-2022 走看看