打印

请教LPC1700芯片的IAP FLASH问题

[复制链接]
2717|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
summerlee|  楼主 | 2013-7-17 17:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用例程程序移植到我的工程中后,在程序上电时候能够成功编程特定的扇区,在程序的其他地方也能成功,可是就是在串口接收完毕后,调用例程里面的代码就死在擦除函数里面了,如下代码:
    IAP_Entry = (void(*)())IAP_ENTER_ADR;                               /* 初始化函数指针IAP_Entry      */
    __disable_irq();                                                     /* 在IAP操作前必须关闭所有中断  */
    parIdRead();                                                        /* 读器件ID                     */
    codeIdBoot();                                                       /* 读Boot版本号                 */
    sectorPrepare(15,15);                                                 /* 准备扇区1                    */
    sectorErase(15,15);                                                   /* 擦除扇区1                    */
     BEEPON();
     for (i=0; i<0x3FFFFF; i++);
     BEEPOFF();
    blankChk(10,10) ;                                                     /* 查空扇区1                    */

    sectorPrepare(10,10);                                                 /* 选择扇区1                    */
    ramCopy(0x00001000*10, (uint32_t)iap_flash_data, 4096);                     /* 写数据到扇区1                */
   ucErr = dataCompare(0x00001000*10, (uint32_t)iap_flash_data, 4096);         /* 比较数据                     */
应该是在擦除后听到蜂鸣器的声音,可是没有,为什么啊,找不出原因来了,其他情况下调用本函数可以成功呢?郁闷中,请各位高手指点迷津啊。。。
谢谢。

相关帖子

沙发
南宫云明| | 2013-7-17 20:52 | 只看该作者
扇区1?你不会吧自己的程序给擦出了吧?

你的程序空间是放在哪个扇区的?

使用特权

评论回复
板凳
summerlee|  楼主 | 2013-7-18 09:00 | 只看该作者
我擦出的是扇区15,自己的程序在0-8里面

使用特权

评论回复
地板
summerlee|  楼主 | 2013-7-18 09:53 | 只看该作者
我测试了,我通信成功后,接着就去运行FLASH那段函数就不行,但是我做一个标志,在主程序里分析后再运行就可以,真不知道是怎么了?

使用特权

评论回复
5
王治坤| | 2015-7-1 18:21 | 只看该作者
你好,请问,在主程序里分析后再运行就可以,这句话是什么意思?

使用特权

评论回复
6
王治坤| | 2015-7-1 18:21 | 只看该作者
summerlee 发表于 2013-7-18 09:53
我测试了,我通信成功后,接着就去运行FLASH那段函数就不行,但是我做一个标志,在主程序里分析后再运行就 ...

你好,请问,在主程序里分析后再运行就可以,这句话是什么意思?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

150

帖子

1

粉丝