使用Flash API报错 错误号是31 — — STATUS_FAIL_ZERO_BIT_ERROR
代表的应该是尝试把0写成1了。但这个问题的可能性不大;
我程序在仿真器下跑,一点错误都没有,脱离仿真器后就报上面的错误信息。
我程序里只用了一个串口中断,会不会是中断没关的原因?
时钟应该是正确的,main函数一开始就设置PLL了。
请问该如何解决?
scott scott:
而且我是使用#pragma CODE_SECTION使得API函数在RAM中运行的
调试后发现: Flash_Program(Flash_ptr,Buffer,Length,&FlashStatus);中的Buffer;在RAM中运行时,数据是对的;
脱离仿真器 在flash中运行 Buffer中数据就不对了, 一开始还能跑 最后出现status=31的错误。。。
使用Flash API报错 错误号是31 — — STATUS_FAIL_ZERO_BIT_ERROR
代表的应该是尝试把0写成1了。但这个问题的可能性不大;
我程序在仿真器下跑,一点错误都没有,脱离仿真器后就报上面的错误信息。
我程序里只用了一个串口中断,会不会是中断没关的原因?
时钟应该是正确的,main函数一开始就设置PLL了。
请问该如何解决?
Eric Ma:
回复 scott scott:
建议在flash编程的过程,不要开中断。用查询方式接受串口的数据。在flash编程的时候,有些时候是不允许打断的。
Eric
使用Flash API报错 错误号是31 — — STATUS_FAIL_ZERO_BIT_ERROR
代表的应该是尝试把0写成1了。但这个问题的可能性不大;
我程序在仿真器下跑,一点错误都没有,脱离仿真器后就报上面的错误信息。
我程序里只用了一个串口中断,会不会是中断没关的原因?
时钟应该是正确的,main函数一开始就设置PLL了。
请问该如何解决?
scott scott:
回复 Eric Ma:
我在中断接收到指令后,写了一句PieCtrlRegs.PIECTRL.bit.ENPIE = 0;
就是把串口中断关闭了,这样不行吗?
使用Flash API报错 错误号是31 — — STATUS_FAIL_ZERO_BIT_ERROR
代表的应该是尝试把0写成1了。但这个问题的可能性不大;
我程序在仿真器下跑,一点错误都没有,脱离仿真器后就报上面的错误信息。
我程序里只用了一个串口中断,会不会是中断没关的原因?
时钟应该是正确的,main函数一开始就设置PLL了。
请问该如何解决?
scott scott:
回复 Eric Ma:
关闭中断了,用的查询方式;
可是结果还是不行。。。。
使用Flash API报错 错误号是31 — — STATUS_FAIL_ZERO_BIT_ERROR
代表的应该是尝试把0写成1了。但这个问题的可能性不大;
我程序在仿真器下跑,一点错误都没有,脱离仿真器后就报上面的错误信息。
我程序里只用了一个串口中断,会不会是中断没关的原因?
时钟应该是正确的,main函数一开始就设置PLL了。
请问该如何解决?
Eric Ma:
回复 scott scott:
你是在串口的中断服务函数里面对flash进行操作吗?
如果要关中断,直接 DINT;关全局中断即可。
其实你可以不用使用中断,用查询方式即可。反正这个时候CPU不会干其他时间,这样子你开发起来调试会方便一点。
Eric
使用Flash API报错 错误号是31 — — STATUS_FAIL_ZERO_BIT_ERROR
代表的应该是尝试把0写成1了。但这个问题的可能性不大;
我程序在仿真器下跑,一点错误都没有,脱离仿真器后就报上面的错误信息。
我程序里只用了一个串口中断,会不会是中断没关的原因?
时钟应该是正确的,main函数一开始就设置PLL了。
请问该如何解决?
scott scott:
回复 Eric Ma:
关闭中断了,用的查询方式;
可是结果还是不行。。。。
还有什么思路么?我是这样,使用fopen fgetc等函数进行文件操作,读到一个缓冲区,然后调用API函数进行烧写。
fopen等函数是在rts2800_fpu32.lib里面,有必要将他们也拷贝至内存运行吗?
使用Flash API报错 错误号是31 — — STATUS_FAIL_ZERO_BIT_ERROR
代表的应该是尝试把0写成1了。但这个问题的可能性不大;
我程序在仿真器下跑,一点错误都没有,脱离仿真器后就报上面的错误信息。
我程序里只用了一个串口中断,会不会是中断没关的原因?
时钟应该是正确的,main函数一开始就设置PLL了。
请问该如何解决?
scott scott:
回复 scott scott:
怎么办呢?
TI中文支持网



