最近在做一个28335的bootloder 编程后通过仿真器进行验证,发现 Erase() Program() 函数都能正常运行,Flash能正常擦除,也能正常通过调用API函数正常写入数据,但是在写入数据后 调用Flash_verify() 函数对数据 进行验证时,却总是报错,返回40, 按照TI提供的API文档,检查了很多遍,实在想不出是什么问题,缓存数据 和Flash中数据也一模一样,为什么还是会报错?通过调试运行一步一步的执行汇编 语句,看了下,验证第一个字节就出错 然后直接跳转。
就这个小问题整了一天了,cmd文件也检查了很多遍,程序是否在 ram中运行 会影响运行结果,各种各样的疑问都试了一遍最终还是没法得到正确的答案。想请教下各位,可能还存在什么原因 会引起这样的问题!!! 拜托大家出出招。
Seven Han:以下链接是否有帮助:
processors.wiki.ti.com/…/FAQs
最近在做一个28335的bootloder 编程后通过仿真器进行验证,发现 Erase() Program() 函数都能正常运行,Flash能正常擦除,也能正常通过调用API函数正常写入数据,但是在写入数据后 调用Flash_verify() 函数对数据 进行验证时,却总是报错,返回40, 按照TI提供的API文档,检查了很多遍,实在想不出是什么问题,缓存数据 和Flash中数据也一模一样,为什么还是会报错?通过调试运行一步一步的执行汇编 语句,看了下,验证第一个字节就出错 然后直接跳转。
就这个小问题整了一天了,cmd文件也检查了很多遍,程序是否在 ram中运行 会影响运行结果,各种各样的疑问都试了一遍最终还是没法得到正确的答案。想请教下各位,可能还存在什么原因 会引起这样的问题!!! 拜托大家出出招。
dong yan2:
回复 Seven Han:
您好,我的问题解决了,但是还是有点懵懵懂懂,我程序中对初始化的时候 对Flash进行了初始化, 把这个函数 屏蔽后就好了这个 有点奇怪。您提供的连接有很多东西可以借鉴的,谢谢。