dsp产品型号是28034,FlashAPI库是在官网下载的2803x的1.0版本,关于FlashAPI的使用情况如下:
(1)引入头文件和symbol库文件,修改型号为28034 ,调用初始化API。
(2)不使用看门狗,使用了Timer0 1ms和SCI A接收中断。
(3)工程代码放在Flash最后的8k空间(sector A,总64k),擦写Flash的前56k空间,Flash API运行在BootRom中(手册说不用拷贝到RAM)。
测试情况如下:
(1)FlashAPI库版本测试
测试API:Flash_APIVersion(),Flash_APIVersionHex()
测试结果:正常(版本1.0)
(2)FlashAPI频率测试
测试API:Flash_ToggleTest()
测试结果:正常(输出预期10kHz波形)
(3)FlashAPI擦除测试
测试API:Flash_Erase()
测试结果:(参考例程,擦除前做了CsmUnlock()操作。)
1.调用前后,不关开总中断,在调用中跑飞(形容为异常更为准确,有时仿真暂停在其它代码处,有时阻塞,总之不能返回)。
2.调用前后,关开总中断,程序运行约6-7s(共7个扇区)返回,查看内存显示擦除成功,但后续的SCI A接收中断不响应,Timer0中断正常。
(4)FlashAPI编程测试
测试API:Flash_Program()
测试结果:在擦除完成后,对Flash前256个存储单元进行编程,(无CsmUnlock()操作。)
1.调用前后,不关开总中断,和擦除情况类似。
2.调用前后,关开总中断,程序正常返回,查看内存,显示编程不成功(比如写0x1111,2222,0x3333...,结果为0x0000,0xFFFF,0x0000,
0xFFFF, 0xFFFF,0xFFFF...(后面一直是0xFFFF))。
在API调试前或阻塞后断点暂停,看寄存器状态,发现均未处于limp模式。
基本情况就是这样,配置和使用都是参照Demo和手册来的,恳求老司机们相助.........