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.

IWR6843: Image and run difference between ccs load and uniflash

Part Number: IWR6843
Other Parts Discussed in Thread: UNIFLASH,

Hi,

My customer found a strange problem, program can run up well through loading the mss and dss binary separately in ccs, generating a combined bin file using the tools and methods in mmwave sdk, then load the bin in uniflash, found the program can run into main function, but faced problem and cannot run up. 

The problem here is, would u pls help give any comments to understand the difference on above two operations? Thanks.

Andy

  • Hello Andy,

    If they are using the imagecrateor tool from the SDK download manually instead of through CCS, be sure that they also add the BSS image as well. This can be seen in the post build step in the CCS project, or can be found in the image creator guide. The BSS image will control the radar front end directly so if the sensor crashes when trying to start the chirping, this may be the issue.

    C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\ImageCreator\Image_Creator_User_Guide.pdf

    Regards,

    Jackson

  • Jackson,

    Got it, image should be created well with BSS included, whatever will let customer confirm and update here.

    Besides, would u pls help check with internal tools team on the difference between ccs load/run and image burn-boot-run? I doubt there is few process differences such as memory initial, but i am not sure and don't find any documents on this, so here hope to get help for BU, thanks. 

    Andy

  • Hi, here is the build steps, the BSS image is included

    ${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/scripts/ImageCreator/out2rprc/out2rprc.exe high_accuracy_68xx_mss.xer4f high_accuracy_68xx_mss.tmp
    ${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/scripts/ImageCreator/multicore_image_generator/MulticoreImageGen.exe LE 37 0x00000006 high_accuracy_68xx_demo.bin 0x35510000 high_accuracy_68xx_mss.tmp 0xb5510000 ${COM_TI_MMWAVE_SDK_INSTALL_DIR}/firmware/radarss/xwr6xxx_radarss_rprc.bin 0xd5510000 "${WORKSPACE_LOC}/IWR68xx_dss_nonOS/Debug/iwr6843_mmw_dss_nonOS.bin"
    ${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/scripts/ImageCreator/crc_multicore_image/crc_multicore_image.exe high_accuracy_68xx_demo.bin high_accuracy_68xx_demo.tmp
    ${COM_TI_MMWAVE_SDK_INSTALL_DIR}/packages/scripts/ImageCreator/append_bin_crc/gen_bincrc32.exe high_accuracy_68xx_demo.bin

    I doubt the problem may concern with the ".fastcode{xxx}load=L3SRAM PAGE 0, run=L1PSRAM PAGE 0, table(_MmwDemo_fastCode_L1PSRAM_copy_table, compression=off) " settings in .cmd file, but I'm not sure.

    If the fastcode settings in .cmd file and the  "MmwDemo_copyTable(obj->edmaHandle[0], &_MmwDemo_fastCode_L1PSRAM_copy_table);" function called in dss_main.c are not masked, the data in the code will be modified.  If masked, the data will not be modified.

    But the mask operation will take another problem which is the code can not run fast and the chirp Interrupt nesting occurs.

  • Hello,

    Can you please confirm which lab you are basing this off? And what changes you have made?

    Also, Andy says you can load the code via CCS. Do you see the same errors when loading via CCS instead of loading from flash bin? What is the error you see and where does the code stop? Have you run through in CCS debug mode? To do this, you will need to flash the xwr68xx_ccsdebug.bin first to make sure it will load and run properly.

    Regards,

    Jackson

  • Mss code comes from high_accuracy_68xx_mss demo but does not use TI-OS including somes changes in mmwave SDK lib,  dss code comes from AWR16xx_dss_nonOS demo and all configured as IWR6843;

    There is no error if load from ccs debug mode with the xwr68xx_ccsdebug.bin load firstly.

    If load from flash bin, I find some DSS important data will change to 0x0 after the .fastcode copy operation with edma using load symbol.

  • Jackson,

    We have confirmed that all are done on the right way, in ccs debug with ccsdebug.bin burned firstly, in uniflash way the BSS firmware is included when generating the bin. Before customer has tested both ways well and the program can run well, then customer did lots of changes to add their own algo and make it meet their system spec, found the strange issue mentioned above, the program can run well in ccs debug, but run to abort with issue when burn and run the bin generated using TI tools. We have been debugging many days, found some clues mentioned above, but still not find the root cause. 

    In my opinion it is very hard and impossible to support customer debug remotely due to many changes in the software, there is no need for u to know the detail changes and support debug, it is customer's job as they know the changes and have the full project source code. 

    Here I hope u can help check internally on the difference between ccs debug and  image generate/burn/boot up, it would help fast the debug progress. Look forward to your valuable comments, any unclear let us know, appreciated!

    Andy

  • Hi Andy,

    If the customer is seeing issues with the .fastcode section, it seems it is probably an issue with the linker. Please make sure all new code changes are reflected with required updates to the linker file. I will follow up via email from here to get more details about the project.

    Regards,

    Jackson