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.

RTOS/PROCESSOR-SDK-AM335X: Application start issue

Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: AM3359

Tool/software: TI-RTOS

Goodmorning,

I'm using a BegleBone Black with TI-RTOS "ti-processor-sdk-rtos-am335x-evm-04.02.00.09-Windows-x86-Install.exe". I've tried both the boot from SD card and UART, but the program always get stuck as follow:

StarterWare Boot Loader
BOARDInit status [0x0]
 SoC                   : [AM335X]
 Core                  : [A8]
 Board Detected        : [BEAGLEBONEBLACK]
 Base Board Revision   : [UNKNOWN]
 Daughter Card Revision: [UNKNOWN]

Please transfer file with XMODEM protocol...
CCCCCCCCCCCCCCCCC
Xmodem received 899072 bytes

Copying application image from UART to RAM is done
Jumping to StarterWare Application...

The steps that I followed are the following

  1. As explained by the document "processors.wiki.ti.com/index.php/Rebuilding_The_PDK" I've generated a simple GPIO app.
  2. I've generated the MLO file and app with the following post-scripts command:
    @echo 'Transform the MMCSD from .bin to MLO'
    "C:/ti/pdk_am335x_1_0_9/packages/ti/starterware/tools/ti_image/tiimage.exe" 0x402F0400 UART "C:/ti/pdk_am335x_1_0_9/packages/ti/starterware/binary/bootloader/bin/am335x-evm/gcc/bootloader_boot_uart_a8host_release.bin" "${BuildDirectory}/MLO"
    @echo 'Transform the application from .out to .bin'
    "C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/bin/objcopy.exe" "${BuildDirectory}/${BuildArtifactFileBaseName}.out" "${BuildDirectory}/${BuildArtifactFileBaseName}.bin"
    @echo 'Transform the application from .bin to app'
    "C:/ti/pdk_am335x_1_0_9/packages/ti/starterware/tools/ti_image/tiimage.exe" 0x80000000 NONE  "${BuildDirectory}/${BuildArtifactFileBaseName}.bin" "${BuildDirectory}/app"
  3. Copy the MLO file in the SDcard and then transfer the app file with teraterm (XMODEM mode).

What are the possible causes that prevent the app to start?

Thank you.

  • The RTOS team have been notified. They will respond here.
  • I found one thing that could help when I finish to geenrate the example, but I'm not sure:

    Done!
    Copying macro.ini
    Impossibile trovare il file specificato. //Impossible to find the file specified
    No projects detected
    Project generation complete

    Besides I haven't got any scripts. Are they important?

  • David,

    Please check the following section of the Processor SDK RTOS BOOT documentation for this devices:
    processors.wiki.ti.com/.../AM437x

    For UART boot ensure that you are using .bin format and for SD boot, you are using _ti.bin formatted image. Can you please indicate, what application are you trying to boot on the beaglebone black. The other thing to check is whether the prebuilt app and MLO that are provided in the Processor SDK RTOS work with your setup. You can locate the prebuilt binaries here:

    There could be many reasons for app to not boot, either the bootloader is not able to load application binary to DDR as DDR initialization failed, the SBL was not able to detect the entry point, etc. We also recommend that you review the Usage Notes section :
    processors.wiki.ti.com/.../AM437x

    In the common debug steps section, we describe, how you can load the bootloader .out on the ARM core over JTAG and detect exactly what went wrong in the bootloader.

    Regards,
    Rahul
  • Hello Rahul Prabhu,

    Thank youy for yours links which clarified me that some bootloader modes require _ti.bin file, while others .bin, but unfortunately I'm still not able to obtain a bootable app. In this moment I'm focusing on MMCSD boot mode only and the situation is the following:

    • If I copy in an SDcard the demo files contained in "C:\ti\processor_sdk_rtos_am335x_4_02_00_09\prebuilt-sdcards\evmAM335x\sd_card_files", the demo works.
    • If I rename the bootloader "bootloader_boot_mmcsd_a8host_release_ti.bin", contained in "C:\ti\pdk_am335x_1_0_9\packages\ti\starterware\binary\bootloader\bin\am335x-evm\gcc" as MLO and use it as bootloader for the prebuilt app file, it works.
    • The problem concerns the app file generation of my projects. Following the document, I've changed as follow:
      @echo 'Transform the application from .out to .bin'
      C:/ti/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-objcopy -O binary ${BuildDirectory}/${BuildArtifactFileBaseName}.out ${BuildDirectory}/${BuildArtifactFileBaseName}.bin
      @echo 'Transform the application from .bin to _ti.bin'
      C:/ti/pdk_am335x_1_0_9/packages/ti/starterware/tools/ti_image/tiimage.exe 0x80000000 NONE  ${BuildDirectory}/${BuildArtifactFileBaseName}.bin ${BuildDirectory}/${BuildArtifactFileBaseName}_ti.bin

      After that, I renamed the file that ends with "_ti.bin" as app. But no works.

    The application that I generated with "pdkProjectCreate.bat AM335x bbbAM335x little uart example arm" can be found in attachment.

    Unfortunately, at the moment, I haven't got a debugger beacause before spending some money for it, I want to make sure that the TI-RTOS is the right path for what I need to do, instead of staying in Linux.

    I have tried the whole day but unsuccesfully. I hope that you can help me again.

    Best Regards, Davide

    UART_BasicExample_bbbAM335x_armExampleProject.zip

  • Hello,
    I'm still stuck with the app problem, Can you check the message above?
    Thank you.

  • Hello,

    I've discovered that the beaglebone black platform doesn't exist.

    In fact, even though I've chosen bbbAM335x as board for generating the example, the project is made for ICE_AM3359.

    I'll try to write a custom platform for Beaglebone Black. Please, at least, advise me if you have one ready to download.

    Thank you.

  • David,

    The BIOS platform is not created for all TI evaluation platforms. The intent of creating a platform in the BIOS is to provide the memory section definitions, Cache configurations and initial core setup. The evmAM335x or iceAM335x platform can be used for other TI evaluation platforms to create a TI RTOS project and can be used on beagleBone black as well as you can see from the PDK examples provided for beaglebone black platform.

    When you pick this platform the linker and compiler will pull in the cortex A8 specific compile time flags and will know pick the OCMC and DDR memory definitions for the SOC from that platform definition.

    Regards,
    Rahul
  • David,

    any update on this thread. If you have resolved this issue please mark the issue as closed or open a new thread if you are still having issues.

    Regards,
    Rahul
  • Hello Rahul,

    thank you for your answer. The problem has been solved with the following changes:

    1. Use the "_ti.bin" or ".bin" file according to the chosen bootloader as you underlined in one of the previous post.
    2. Secondly, when it didn't work, I simply had copied and pasted my own files "app and MLO" on a FAT32 formatted SD card.
      As test, I tried to use Win32DiskImager with the prebuilt image file and it worked. Besides, since that moment, the copy and paste operation succeeded with my files as well.

    I still don't know why it was required to use Win32DiskManager at least one time to "prepare" the SD card....

    Thank you again.

    Regards,

    Davide