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.

UART0 Boot with HW flow control

Other Parts Discussed in Thread: TMS320C6424

Hello

I have a board with TMS320c6424 configured to use UART0 HW flow control Boot mode, Little Endian, Slow Boot.

When the DSP is powered up I get on the UART0 BOOT ERR instead of BOOT ME.

If I upload an AIS file the DSP respond with DONE, and the application is not executed. Then I upload again the AIS file, at the end again I get the DONE message but this time the application is executed.

If I read the BOOTCFG ( 0x01C4 0014 ) register then I get the value 0x10000E. This mean that I have Little endian and UART0 HW flow control,slow boot.

So where is the problem?

Br

Robert.

  • Hello

    My HW config is:

    PIN: RMTXD1/GP[27]/(LENDIAN) is set to HIGH

    PIN: GP[22]/(BOOTMODE0) is set to LOW

    PIN: GP[23]/(BOOTMODE1) is set to HIGH

    PIN: GP[24]/(BOOTMODE2) is set to HIGH

    PIN: GP[25]/(BOOTMODE3) is set to HIGH

    PIN: GP[26]/(FASTBOOT) is set to LOW

    PIN: PCIEN is set to LOW

    Is this correct ?

    Please helt to find out why my DSP is booting with BOOTER.

    Br

    Robert

     

  • Robert Kemenes said:
    Please helt to find out why my DSP is booting with BOOTER.

    I looked through the ROM code (sorry, I can't just publish it!) and it looks to me like this is the expected behavior when using the UART0 with flow control boot mode.  In other words it is expected that it print out "BOOTER" instead of "BOOTME", but that in itself is not a problem.

    Can you copy/paste the exact messages you are seeing?

  • The exact message is "BOOTER".

    If this is a normal behavior in case of UART0 HW flow control. Then why I have to upload twice the ais code?

    I do not get any error message after upload. just the normal "DONE" response.

    I generated the AIS file with the c642x_ais_utility

    I take the compiled .OUT file and convert it into AIS file.

    BR

    Robert

  • Robert Kemenes said:
    If this is a normal behavior in case of UART0 HW flow control. Then why I have to upload twice the ais code?

    Don't shoot the messenger.  I just said that the message "booter" was expected for this boot mode.  I'm trying to help you find the reason for your other issue of uploading the code twice.

    I asked for the exact message because your first post said "BOOT ERR" and I spent 30 minutes searching for that string...

  • sorry. I do not want to shoot the messenger.

  • It's been a while since I worked with the 6424 AIS tools.  You're running genAis.pl to create your AIS file right?  If you execute that command with no arguments it dumps out a help menu.  At the top is the version.  Mine says 1.05.00. 

    Questions:

    • What version of the AIS tool are you using?
    • How are you invoking the tool on the command line, i.e. what options are you passing?  If you have a config file please attach.
    • Does the code you're downloading to the target contain code/data that resides in external memory?
    • How exactly are you downloading the code to the target (i.e. which program, etc.)?
    • Can you attach the generated AIS file?  (Note, you could make a simplified project if you don't want your real image posted publicly).
  • Hello

    AIS tol version is: genAis v1.05.00:  AIS Generation Tool

    I execute the following command to generate the aid image:

    genAIS.pl -otype txt -i Test.out -o Test_uart.ais -bootmode uart

    I do not use config file.

    All data/program files are loeaded in L2

    I send the AIS data over UART with HW flow control,. an MCU does the job, but before I tested also via Tera Term and the same effect.

    I will make a small AIS and send it to you.

  • I see CRCs in the generated AIS file.  Can you turn that off using -crc 0 command?  It should work with CRCs, but for now let's disable that feature just in case...  Also the AIS utility as a -debug option.  Can you try that out too?  Please repost your file after the changes.

    Also, how do you know when your program works vs when it does not work?

  • My first program (not what I have sent to you) did a led blink.

    when the program do not start, the the bootloader say "done" but aftert that I still can send ais commands and upload again the ais file.

    When the program starts, booloader say "done" and the LED start blinking.

    but allways have to send twice. not necessary the same ais. but the last upload will be executed.

    Now to avoid to upload long AIS twice, I first send via teraterm the first.ais (what i have sent to you) and after the real AIS.

    It looks like that the bootloader does not jump to the start address, or reset itself without saying anithing. no messageges at all.

  • Just so we're on the same page I'm currently waiting for you to post your new AIS file built with -crc 0 and -debug.  Let me know if that makes any difference in the behavior.

  • hello

    Here are the files.

    I have sending the real ais file what I try to upload.

    I have attached the folowig files:

    gen.out - output from the genais tool with debug option

    Test_uart_dbgu.ais - The AIS file with -debug option

    Test_uart_nocrc.ais - The AIS file with -crc 0 option

    Test_uart_crc.ais - The AIS file without -crc 0 option

     

    Br

    Robert

  • It looks like I forgot to attach :D

    4401.files.zipd:

  • hello

    Any news?

    Br

    Robert

  • Robert,

    I'm out of ideas!  I've asked 2 other colleagues to take a look but either they haven't had time or didn't have further suggestions.  I recommend that you start working on some kind of contingency plan using your "double load" method to get something working.

    Brad