Good morning,
I have my own board design and my own flash programing code that I use to accept an intel hex file over a serial connector and put it on the flash. This works perfectly with the 8 bit boot mode but when switching to 16 bit I am having problems.
The first line of the intel hex file is:
:20000000 29000002 2A341802 69C00002 6A000002 76021002 29040002 ABC84002 00000000 38 (spaces to make the diffrent sections clearer)
If i put the file on the flash and power cycle the unit the first section of flash acording to the memory viewer is:
0x90000000 - 02000029 0218342A 0200C069 0200006A 02100276 02000429 0240C8AB 00000000 0200C069
however what has been copied over looks like this:
0x00000000 - 00002929 02020000 34342A2A 02021818 C0C06969 02020000 00006A6A 02020000 02027676 02021010 04042929 02020000 C8C8ABAB 02024040 00000000 00000000
So it seem to be copying over every 8 bit part twice?
When I just load the program to see what the first part should look like this is what I get:
0x00000000 - 02000029 0218342A 0200C069 0200006A 02100276 02000429 0240C8AB 00000000 0200C069
So it seems that what is being put into the flash is correct but the DSP is failing to copy it over correctly.
All that has been changed in the hardware is HD[4:3] to swap to 16 bit boot mode. The ram its self was always setup in 16 bit mode but only the first 8 bits of each address space was used.
I would very much appericiate any ideas as to what is happening here and how to rectify the problem.
Many thanks
Sean