This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

2803x的FlashAPI无法正常擦写问题求助

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和手册来的,恳求老司机们相助.........