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.

ROM bootloader with UART

Other Parts Discussed in Thread: TMS320DM6437

Hi,

I am trying to use the UART to load an AIS file in a TMS320DM6437 device (FASTBOOT = 1, AEM[2:0] = 001b, BOOTMODE[3:0] = 1000b). I could find in another post that when using UART without flow control, we need to turn off the CRC computation, which I did.

I have several problems to get a successfull upload but I could find a given setup that works correctly which is the following one:

1- Generate the AIS file with those options: "perl.exe %1\genAIS.pl -i %2\Sensor.out -crc 0 -otype txt -bootmode uart -o %2\Sensor_EVM.ais -cfgtype ais -cfg %1\aiscfg_EVM.txt" (aiscfg_EVM.txt is attached).

2- Upload the file through a terminal (Tera Term) in a single sequence.

When doing this, I correctly get the "DONE" response.

Here are situations that result in an upload failure with the message "DATA CORRUPT" and that I cannot explain:

1- If I try to adjust the PLL frequency in my AIS config file "aiscfg_EVM.txt", the error message appears right after the beginning of the upload (before the file upload is finished). The lines I am trying to add are:

0x5853590D  #Function Execute Command
0x00030000  #   Selects PLL configuration function, with 3 arguments
0x00000015  #   PLLM value
0x00000000  #   PLLDIV 0
0x00000000  #   Clock source

2- Another situation that makes the upload to fail is if I pause the AIS upload and resume it some time later or if I send it in small pieces instead of a single big file. The message appears right after the beginning of the second piece upload. Is there a timeout in the bootloader code that would explain this behaviour?

Is there someone who could give me some hints about what is happening?

Thanks

Franck

  • Hi,

     

    UART mode without flow control probably won't work well because there is proper protocol / handshaking mechanism. If you are able to, please see whether you can use the uart w/ flow control mode.

  • Thank you for your reply. I made some modifications to our mainboard in order to be able to use the flow control as you recommended.

    The upload is actually much more robust this way, I can now activate CRC and adjust the PLL frequency, things that I were not able to do before.

    On the other hand, I still get a corrupt message if I try to pause the upload somewhere in the middle of the file and resume it some time later (even if I pause/resume it as fast as I can) which I can't explain. I still suspect some kind of timeout or discontinuity check done by the bootloader during an upload. Maybe you could confirm this hypothesis?

    Thanks

    Franck