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.

reg. serial flash utilities (OMAPL13x Custom board with SPI Flash) booting issue with large image sizes.

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

Hello,

I am using Serial Boot and Flash Loading Utility for OMAP-L13x evm based customized board.

The utilities works fine for small size of dsp*bin and appl*.bin  but when the size dsp*.bin size increases to  70 or 80KB the board stops booting. No console logs visible. Whereas the serial flash utility shows successful Flash write operation on console.

Is there any limitation in the serial flashing tools for the binary image size (dsp and app)?

Please suggest/specify if modifications are needed in the Utility files.

Thanks in advance.

Regards
Srinivas

  • Hi,

    What is your size of old dsp*.bin and size of  new one ?

    What is your device name ie OMAPL138 or 137?

    What is your destination flash ie SPI or NAND?

    Can you please create output binary into single (combing the 2 *.out  binaries through AISgen tool) and try to flash into flash media with "flash_noubl" option.

  • Hi Titus,

    Thank you for the reply.

    old dsp binary size is around 30KB and the new one is 70KB

    Device is OMAP L-137

    Flash is SPI based

    I can try combining the image (dsp and omap) but the requirements is to be able to write two images independently.

    Thanks & Regards
    Srinivas

  • Hi,

    1) Try to use your DSP UBL binary size is around > 64KB with "flash" option through SFH utility.

    2) Try to combine & use your DSP UBL and DSP app binary into single image with "flash_noubl" option through SFH utility.

    I'm suspecting that the DSP UBL size is restricted to >=64KB when you are giving "flash" option, but I'm not sure, since i have not used this much size DSP UBL code.

  • Hi,

    Thank you for the reply & Sorry for the delay (stuck up with some other issues).

    I have tried both of the suggested options but no luck yet.

    I did not get any error/warning when i wrote the file to Flash using SFH but it is not booting up after the restart.

    Do  you have any further suggestions on this.

    Please let me know.

    Thanks & Regards
    Srinivas

  • Hi,

    Try to Modify your serial flash utility source code.

    OMAP-L138_FlashAndBootUtils_2_40/OMAP-L138/GNU/sfh#vim sfh_ais.module

    Add the yello shaded line in your sfh_ais.module file for debugging,

    Need to find whether the app loaded address getting overlap ed,

            ackHeader.startAddr = cmdParams.UBLStartAddr;
            ackHeader.byteCnt = (UInt32) imageData.Length;
            ackHeader.loadAddr = 0x0020;

            Console.WriteLine("\nFlashing UBL " + cmdParams.UBLFileName +" (" + imageData.Length +" bytes) at 0x00000000\n");  

    //Titus : debug prints
            Console.WriteLine("\nackHeader.startAddr= " + ackHeader.startAddr +" (" + imageData.Length +" bytes)\n");     
            Console.WriteLine("\nackHeader.loadAddr= " + ackHeader.loadAddr +" (" + imageData.Length +" bytes)\n");     
            Console.WriteLine("\nackHeader.magicNum= " + ackHeader.magicNum +" (" + imageData.Length +" bytes)\n");     

  • Hi Titus,

    I have added debug logs as suggested. I dont see any overlapping between DSP and ARM images

    #####################################################################

    Flashing UBL C:\testuser\dspApp.bin (81948 bytes) at 0x00000000

    ackHeader.startAddr=  00000100 (81948 bytes)
    ackHeader.loadAddr=  0x00000020 (81948 bytes)
    ackHeader.magicNum= 1430408379 (81948 bytes)

    100% [ ████████████████████████████████████████████████████████████ ]
                     Image data transmitted over UART.

    100% [ ████████████████████████████████████████████████████████████ ]
                          UBL programming complete


    Flashing application C:\testuser\Arm.bin (99608 bytes)
    ackHeader.startAddr= 80000000 (99608 bytes)
    ackHeader.loadAddr= 80000000 (99608 bytes)
    ackHeader.magicNum= 1430408379 (99608 bytes)

    100% [ ████████████████████████████████████████████████████████████ ]
                     Image data transmitted over UART.

    100% [ ████████████████████████████████████████████████████████████ ]
                      Application programming complete


    Operation completed successfully.

    #####################################################################
    After this board (OMAPL137) hangs.

    Please let me know, if you have any queries.


    Regards

    Srinivas

  • Hi,

    Did UBL code will produce any message logs on console?

    Write your DSP UBL (dspApp.bin) code alone using "-flash_noubl" and check whether you are getting any messages on console,

    If you are getting then, it might have overlaped, I think that the SFH tool wont give any warnings if overlap happens but I'm not sure ; I need to check.

    Can you please give me some brief introduction about your dspApp.bin and Arm.bin

  • Hi Titus,


    Thank you for the reply.

    DSP UBL does not give any messages.  I also feel that there is some overlapping happening.

    In order to confirm overlap do we have any other way because there are no debug prints from the SFH tool if something goes wrong on the target side.

    Also there are some Debug prints in SFT code (DEBUG_printString() function) but i am not sure to which console they are redirected.

    Thanks & Regards
    Srinivas

  • Hi,

    Srini said:

    DSP UBL does not give any messages.

    In order to confirm overlap do we have any other way because there are no debug prints from the SFH tool if something goes wrong on the target side.

    Titus said:

    Write your DSP UBL (dspApp.bin) code alone using "-flash_noubl" and check whether you are getting any messages on console,

    Can you please put some prints in DSP UBL code and try,

    1) Add some prints on your DSP UBL code on both the binaries (working & not working)

    that means i)  >64K ii) <64K size of DSP UBL code

    2) Flash the >64K size DSP UBL binary with "flash_noubl" option to confirm DSP UBL code will work with "flash_noubl" option

    3) Flash the >64K size DSP UBL binary with "flash_noubl" option to confirm overlapping.

    Got my idea!

  • Hi Titus,

    I got your point.

    I have tried the similar exercise with "-flash" option and i could able to see the console log for the image <64Kand NO console logs for the >64k image.

    I think there is a overlapping issue. May be i have to tweak the Flash memory parameters. I will try your idea as well.


    By the for my another query, the debug  prints from code that is executed on Target (SFT), where do they redirected? Can you please share some information on this.

    Thanks & Regards
    Srinivas