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.

Re-build UBL for DM368 IPNC - current source / tools?

As we are currently having issues with our prototype board, which may be related to DDR2 timings, I am hoping to rebuild the UBL to alter the DDR timings (not just the clock  frequencies) as I think we need to alter RAS/CAS latencies.

We are using the Appro DM368 MT5 IPNC SDK 4.x, we do not have CCS.

I have spent a load of time reading lots of posts/wiki about UBL, but there is a lot of out-of-date information about which versions are OK or not, build environments which are out of date (old SDK's, compilers, etc.).

So I have three questions:

  1. What's the current recommended UBL version for the DM368?
  2. If that's not the version already in the Appro SDK, where do I get the source?
  3. How can I compile it from within the SDK without CCS?
  • It's been pointed out (thanks Marko!) that the unregistered version of CCS can be used to build UBL, so I'm now trying to use that. I've decided to use the UBL source/project from IPNC SDK 5.1 (Utils\flash_utils_dm36x\DM36x\CCS\UBL\UBL_IPNC368_486arm_360ddr.pjt) on the grounds that it should be at least a compatible version, if not the latest & greatest.

    Unfortunately the UBL project is an old CCS V2 one, and CCS 5.3 fails to build it.

    Initially it was due to the lack of hex470.exe, but I found that and copied it to where CCS could see it.

    Then it was UBL2BIN.cmd:

    <Linking>
    'Finished building target: C:/Users/John/WSL/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr/../../../../DM36x/CCS/UBL/NAND/UBL_DM36x_NAND_IPNC.out'
    ' '
    C:/ti/ccsv5/utils/bin/gmake --no-print-directory post-build
    "C:/Users/John/WSL/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr/postBuildStep_BOOT_NAND.bat" PROJECT_ROOT C:/Users/John/WSL/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr !
    >> WARNING: invalid option:
                -o=C:/Users/John/WSL/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr\ubl_432arm_340ddr_ipnc_dm368.bin
    >> FATAL ERROR: cannot open input file
                    'C:/Users/John/WSL/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr\NAND\UBL_DM36x_NAND_IPNC.out':
                    No such file or directory (aborting)
    ' '

    **** Build Finished ****

    Now I have corrected the path to that, and the linker spits out this error:

    <Linking> 'Finished building target: C:/Users/Bob/Bob/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr/../../../../DM36x/CCS/UBL/NAND/UBL_DM36x_NAND_IPNC.out'
    ' '
    C:/ti/ccsv5/utils/bin/gmake --no-print-directory post-build
    "C:/Users/Bob/Bob/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr/postBuildStep_BOOT_NAND.bat" PROJECT_ROOT C:/Users/Bob/Bob/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr !
    >> WARNING: invalid option:
    -o=C:/Users/Bob/Bob/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr\..\ubl_432arm_340ddr_ipnc_dm368.bin
    "C:/Users/Bob/Bob/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr\..\NAND\UBL_DM36x_NAND_IPNC.out", line 1:
    ERROR: illegal input character: 0x7F
    "C:/Users/Bob/Bob/IPCam/5.1/Utils/flash_utils_dm36x/DM36x/CCS/UBL/UBL_IPNC368_432arm_340ddr\..\NAND\UBL_DM36x_NAND_IPNC.out", line 1:
    FATAL ERROR: cannot open input file 'ELF.out':
    No such file or directory (aborting)
     ' '
    **** Build Finished ****

    Although I can find no reference to "ELF.out" in the project or filesystem.

    I'm continuing to work on this but any pointers (either to what I'm doing wrong or to more up-to-date UBL sources) gratefully received in the meantime!

  • For some reason the version in the IPNC SDK is an old CCS project... I've now downloaded PSP-SDK-03.21.00.04 and followed the build instructions for CCS V5 and it works - although the guide appears to be wrong when it states the resulting .bin code is ready to write to the board. I can only make it work if I use the dm3xx_sd_boot tool which writes the magic number as well.

    Loading it from U-Boot via TFTP fails to boot at all.