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.
Hi,
I try to program f28377s using serial flash programmer. Kernel loading is successful. But when I select the DFU selection, I am getting message like below. Is there any advice about this error message ? How can I solve this ?
Thanks
2a==2a
d0==d0
94==94
48==48
3==3
ef==ef
1==1
9a==9a
2==2
6f==6f
2==2
9a==9a
6==6
0==0
0==0
0==0
Bit rate /s of transfer was: 2325.741211
Kernel loaded! Booting kernel...
Done waiting for kernel boot...
Attempting autobaud to send function message...
What operation do you want to perform?
1-DFU
2-Erase
3-Verify
4-Unlock Zone 1
5-Unlock Zone 2
6-Run
7-Reset
0-DONE
1
calling f021_SendPacket
NACK Error with sending the Function Packet... Please press Ctrl-C to abort.Down
loading blinky.txt to device...
Checksum does not match... Please press Ctrl-C to abort.
Hi,
Hope you have used the example from \C2000Ware_X_XX_XX_XX\device_support\f2837xs\examples\cpu1\blinky, FLASH configuration
and used the right options hex2000.exe -boot -sci8 -a -o <file.txt> <file.out> to create the .txt file.
Please modify the blinky linker command file to align sections on 128-bit i.e. use ALIGN(8) instead of ALIGN(4).
Can you try by erasing the flash before you program i.e. use option 2 before using option 1.
Can you try to perform further debug to understand the issue?
Looks like the device did not receive a proper packet from the host PC. You can debug the issue by loading the kernel via JTAG and using the serial flash programmer to communicate the flash application to the kernel while you have JTAG connected.
Use the Visual Studio project for the serial flash programmer and comment out the DownloadKernel() function. Then you can run the kernel and the serial flash programmer which would be sending the flash application.
Refer : TMS320F280049: serial flash programming through F28004x flash kernel - C2000 microcontrollers forum ...
Thanks,
Katta
Hi Krishna,
The problem is solved. But there is an another problem. I am getting the error message like below
ERROR status: VERIFY_ERROR
ERROR Address: 0x0
Can the solution be the same advices which are given by you ?
Thanks.
Hi,
There is a known issue in Shared_Verify.c which will be fixed in next c2000ware release.
If you need it urgent you can update the file with extending miniBuffer from size 4 to 8 and update in other places in the file accordingly.
Please let me know if you need help.
Thanks,
Katta
Hi,
I extended the size of miniBuffer and updated in other places. But still, I am getting the same error after selecting DFU option also after selecting Verify option. Can there be different type error ?
Regards.
Hi,
Hope you have assigned miniBuffer[4]-miniBuffer[8] and incremented BlockHeader.DestAddr += 0x8
Please attach your file. I will see if there is any correction needed.
Thanks,
Katta
Hi,
I run the application code with "CPU_FLASH" build selection. And the error message changed. Still, I am getting the following message.
ERROR MESSAGE: BLANK_ERROR
ERROR Address: 0x8200
What can be problem ? I searched on forum but I couldn't see any post about the blank_error.
Regards
Hi,
Can you erase all the sectors before trying to program?
There is a way to debug the issue. I have explained it in my first reply.
Thanks,
Katta
Hi Krishna,
When I select the erase option and type "ALL", I am getting the same error message which is like below
ERROR STATUS: BLANK_ERROR
ERROR ADDRESS: 0x8000
Hi John,
In your shared_erase.c file could you please add
while(Fapi_checkFsmForReady() == Fapi_Status_FsmBusy);
oReturnCheck = Fapi_issueAsyncCommandWithAddress(Fapi_EraseSector, (uint32 *)(sectAddress[i]));
Try the application program with the updated kernel build.
Let me know if you see any change in the behavior.
Thanks,
Katta