想实现280049 BootLoader功能,测试工程的boot在bank0,APP在bank1。
两个工程单独运行时都能正常,bootloader写入后确认APP程序无异常,两个工程MAP确认无重叠,但是在跳转到APP区时会进入NMI中断。
调试发现应该是在进入main之前的引导过程进入该中断,请问可能是什么原因?
yx wu:
,
Susan Yang:
请问您是如何跳转的呢?直接使用的asm(" LB");指令?
另外您如何判断是否有执行app呢?
,
yx wu:
1.我是用typedef void (*pFunction)(void)指针直接跳转到APP地址的,之前做过28335的uboot是可以用的;2.我在APP的入口地址打了断点,还没执行_c_int00函数就出现NMI错误;3.我看手册中说这个FLUNCERR一般是由于ECC错误引起的?是不是我flash写入用的有问题,我写入用的是Fapi_issueProgrammingCommand()函数,最后一个参数用的是Fapi_DataOnly。
,
yx wu:
您好,目前我使用Fapi_AutoEccGeneration参数写入flash 应用层就能够正常运行了,我还有一些疑问。
1.280049写入程序需要用Fapi_AutoEccGeneration才能正常运行,那只是写入数据可不可使用Fapi_DataOnly,应用层中用于参数写入好像没什么问题。
2.28335是不是没有flash ECC?之前调用flash库写入程序和数据都是用同一个API,没什么问题.
,
Stephen Pei:
您好,想请教您个问题,感觉我的设计跟您的差不多,我也是boot在bank0,APP在bank1,Fapi_DataOnly这种模式,一致不对,请问您最后如何解决了?我对照Flash区数据与HEX一样的,就是不能运行