现在我在做一个基于CAN的IAP,controlsuite里面有一个Flash API的例程序(Example_Flash2803x_API),讲述了如何利用Flash API函数来擦除与改写片上Flash.
我利用这个例子编译后调试是可以擦除与改写Fash的,但是我将这部分代码放到我的APP里面一起整合,代码变化不大。
我把我的APP程序的main去掉,例程与APP的其他代码一起参与编译,同时IAP代码放到FlashA扇区,APP代码放到其他Flash扇区,然后运行IAP里面擦除和编程功能,单步跟踪到擦除APP部分扇区时总是出现死机,具体就是
Status = Flash_Erase(SECTORF,&FlashStatus),这一句总是跳不过去,确定SECTORF不是IAP所在的扇区
我用的芯片是28035.
我想可能与cmd文件有关,但是我花了几天去修改这部分还是有同样的问题,如果与APP代码整合,CMD文件有这么重要吗,需要注意哪些问题
单独运行例程是对的。
请帮我分析下可能的原因,谢谢!
另外看到网上有很多关于IAP与APP的疑问,为什么到现在也看不到关于IAP与APP的完整例程呢?