打印
[CAN-bus/DeviceNet]

我在调试LPC2132的IAP时,出现一个非常奇怪的现象:

[复制链接]
2056|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wxbhlj|  楼主 | 2011-9-14 00:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按照 SelSector(1,1)  -->  EraseSector(1,1)  --> SelSector(1,1)  -->  RamToFlash(dst, src, 256) 的逻辑顺序执行,均正确,返回的状态调用的各个函数返回的状态字也是“CMD_SUCCESS”,即成功的!但是程序执行完这四个函数后,就停在这里了,好像是“死机”似的,再无任何 反应。当LPC2132板子重启后能够看到上次写入到Flash里的信息是正确的。

相关帖子

沙发
wxbhlj|  楼主 | 2011-9-14 00:10 | 只看该作者
继续主题:然后单步跟踪上面的四个函数,发现进入 SelSector(1,1) 函数执行第一条语句“paramin

[0] = IAP_SELECTOR;” 后,主程序就会出现上面提及的“死机”现象,尽管仍然会把4个函数跑

完并返回的状态字也正确的。我作了一个实验,把“paramin[0] = IAP_SELECTOR;” 这条语句注

释后,其它不做任何改变,程序完全正常!这是什么原因?非常郁闷!!

使用特权

评论回复
板凳
wxbhlj|  楼主 | 2011-9-14 00:11 | 只看该作者
继续上面主题:附:我在 “mem_c.scf” 等三个文件中使用如下分散加载的方式,不知正确否?【因为我

的主程序有50.6k,所以采用分散加载,选择扇区1来保存“PC机下发的一些配置信息”】。请大侠

指导,问题到底出现在哪里?

     

ROM_LOAD 0x0
{
    ROM_EXEC 0x00000000
    {
        Startup.o (vectors, +First)     
    }

    ROM_EXE1 0x00002000  FIXED
    {      
        * (+RO)
    }
   
    IRAM 0x40000000
    {
        Startup.o (MyStacks)
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        Startup.o (Heap)
    }

    STACKS 0x40004000 UNINIT
    {
        Startup.o (Stacks)
    }
}

使用特权

评论回复
地板
wxbhlj|  楼主 | 2011-9-14 09:24 | 只看该作者
请高手指教,不胜感激

使用特权

评论回复
5
wxbhlj|  楼主 | 2011-9-14 21:07 | 只看该作者
有人顶一下吗?

使用特权

评论回复
6
wxbhlj|  楼主 | 2011-9-15 09:56 | 只看该作者
ding

使用特权

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

本版积分规则

0

主题

30

帖子

1

粉丝