不会由硬件自动插入等待周期,如果此时仍采用2.1节的flash编程函数对flash存储器进行编程,则会得到错误的编程结果。编程结束后会发现flash存储器中有一部分内容仍然是0xffff,处于编程前的状态。虽然对flash存储器进行了编程操作,但由于flash存储器上一次编程操作还未完成,本次的编程操作无效,数据根本写不进flash存储器。在ccs3.1中用“view/memery”功能查看flash存储器,就会发现flash存储器中的数据等间隔地出现编程正确和编程不正确的现象。笔者在自己设计的tms320c6711d-250嵌入式模块(带有am29lv400b flash存储器)上,通过断开dsp与flash存储器的硬件ready信号进行编程测试,无等待状态的测试结果见表1,有等待状态的测试结果见表2。 可见,在没有硬件握手的情况下,需要通过软件来判断当前flash存储器编程或擦除的状态来进行编程操作。如果flash存储器正处于编程或擦除过程中,则无法继续对flash存储器进行编程,需等到flash存储器上一次数据编程(写入)完成时才能进行下一次数据编程(写入)。否则,会得到错误的编程结果,造成编程后数据
不会由硬件自动插入等待周期,如果此时仍采用2.1节的flash编程函数对flash存储器进行编程,则会得到错误的编程结果。编程结束后会发现flash存储器中有一部分内容仍然是0xffff,处于编程前的状态。虽然对flash存储器进行了编程操作,但由于flash存储器上一次编程操作还未完成,本次的编程操作无效,数据根本写不进flash存储器。在ccs3.1中用“view/memery”功能查看flash存储器,就会发现flash存储器中的数据等间隔地出现编程正确和编程不正确的现象。笔者在自己设计的tms320c6711d-250嵌入式模块(带有am29lv400b flash存储器)上,通过断开dsp与flash存储器的硬件ready信号进行编程测试,无等待状态的测试结果见表1,有等待状态的测试结果见表2。 可见,在没有硬件握手的情况下,需要通过软件来判断当前flash存储器编程或擦除的状态来进行编程操作。如果flash存储器正处于编程或擦除过程中,则无法继续对flash存储器进行编程,需等到flash存储器上一次数据编程(写入)完成时才能进行下一次数据编程(写入)。否则,会得到错误的编程结果,造成编程后数据