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.

AWR2944PEVM: Cannot run AWR2944PEVM in standalone mode after flashing appimage

Part Number: AWR2944PEVM
Other Parts Discussed in Thread: AWR2944P, SYSCONFIG, UNIFLASH, AWR2944EVM, AWR2944

Tool/software:

Hi,

I have an UDP data streaming application developped for the ARM Cortex R5F core on the AWR2944PEVM platform.

When I test my application directly in the CCS 12.8.1 debugger, it behaves as expected by transferring data from EVM with IP 192.168.1.100 to my PC with IP 192.168.1.120.

Here is the wireshark capture showing the data transmission:

The issue I faced is when I want to flash my application into the eval board so that it starts streaming in standalone mode after power-on.

After the flashing, nothing is streamed and the LED on the RJ45 Ethernet port remain turned off.

Here are the steps I followed to flash my appimage containing the xer5f application:

1. Conversion from .xer5f to .rpcp
C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr2x44p_10_00_00_07/tools/boot/out2rprc/elf2rprc.js C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.xer5f

2. Appimage creation
C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr2x44p_10_00_00_07/tools/boot/multicoreImageGen/multicoreImageGen.js --devID 55 --out C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.appimage C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.rprc@0

3. Flash into AWR2944PEVM
python C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr294x_10_00_00_07/tools/boot/uart_uniflash.py -p COM10 --cfg=C:/HOME/REFLASH/default.cfg

With default.cfg following content:
#-----------------------------------------------------------------------------#
#                                                                             #
#      DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT      #
#                                                                             #
#-----------------------------------------------------------------------------#

# First point to sbl_uart_uniflash binary, which function's as a server to flash one or more files
--flash-writer=sbl_uart_uniflash.release.tiimage

# Now send one or more files to flash or flashverify as needed. The order of sending files does not matter

# When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0
--file=sbl_qspi.release.tiimage --operation=flash --flash-offset=0x0

# send the application image to flash. Flash it at 0xA0000 as the SBL expects it at this location
--file=C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.appimage --operation=flash --flash-offset=0xA0000

What can be the cause of my issue according to all I wrote there?

BR,

Adrien

  • I forgot the show the cmd prompt screenshot for the flashing:

  • Hello,

    It seems for steps 1 & 2 that you are utilizing the 2x44p SDK and not 294x SDK.

    Try taking the same steps but using 294x SDK since you are using the AWR2944EVM. The 2x44p SDK is for the AWR2x44PEVM. Let me know if that solves the issue.

    Best,

    Gabriel

  • Hi Gabriel,

    Thank you for your reply. Concerning my issue, I am actually using 2944P, not the classic 2944. This is why I chose to use the 2x44p SDK.

    BR,

    Adrien

  • Hello,

    ok in that case you are using the wrong uart_unifalsh.py application.

    Please use the 2x44p mcuplus sdk for this. It would be in the same file path. Let me know if that works.

    Best,

    Gabriel

  • Hi Gabriel,

    Indeed I made a mistake in the uart script flash path. However, I checked the differences in the python scripts between the awr2x44p and awr2944 sdk folders and I noticed they are strictly identical. I still proceed to the change and ran again the uart flash script.

    My issue is still present.

    BR,

    Adrien

  • Hello,

    Ok I see another likely issue in your step 2. You are missing the firmware image to build the app image present here.

    C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_dfp_02_04_17_00\firmware\radarss\xwr2x4xp_radarss_metarprc.bin

    (for reference this would be followed by @3)

    There are also some more examples to better verify if you built the app image correctly. There is a makefile present in the SDK and there is a OOB projectspec for the AWR2x44p that both build app images. I will attach both. Follow the bin command in the makefile and the pre/post build steps in the projectspec file. 

    makefile: C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\ti\demo\awr2x44P\mmw_ddm\makefile

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1023/1512.awr2x44p_5F00_mmw_5F00_demo_5F00_mssDDM.projectspec

    Best,

    Gabriel

  • Hi Gabriel,

    Since my UDP demo does not need the RSS firmware, I originally removed it. I just tested adding it in the flash command like you advised:

    C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr2x44p_10_00_00_07/tools/boot/multicoreImageGen/multicoreImageGen.js --devID 55 --out C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.appimage C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.rprc@0 C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mmwave_dfp_02_04_17_00/firmware/radarss/xwr2x4xp_radarss_metarprc.bin@3

    But this does not solve my issue.

    To compare with the classic AWR2944 EVM, I took the same MSS code for my application and adapted the sysconfig file for the AWR2944 EVM.
    I used the SDK 04.07.00.01 with awr294x paths to build the .xer5f MSS image.
    Flashing the generated .appimage gave the same results than before, no communication over the ethernet port and no LED powered-on on the RJ45 connector.
    So I wondered if the SDK 04.07.00.01 was not the cause of my issue.

    I kept going on with the classic AWR2944 EVM board but this time building my MSS appplication with the SDK 04.06.00.01.
    I applied the same process than before, even without adding the RSS firmware in the .appimage generation

    1. Conversion from .xer5f to .rpcp
    C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mcu_plus_sdk_awr294x_09_00_00_15/tools/boot/out2rprc/elf2rprc.js C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.xer5f

    2. Appimage creation
    C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mcu_plus_sdk_awr294x_09_00_00_15/tools/boot/multicoreImageGen/multicoreImageGen.js --devID 55 --out C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.appimage C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.rprc@0

    3. Flash into AWR2944EVM
    python C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mcu_plus_sdk_awr294x_09_00_00_15/tools/boot/uart_uniflash.py -p COM5 --cfg=C:/HOME/REFLASH/test_demo_awr2944_sdk4601/default_awr2944_sdk4601.cfg

    With default_awr2944_sdk4601.cfg following content:
    #-----------------------------------------------------------------------------#
    #                                                                             #
    #      DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT      #
    #                                                                             #
    #-----------------------------------------------------------------------------#

    # First point to sbl_uart_uniflash binary, which function's as a server to flash one or more files
    --flash-writer=C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mmwave_mcuplus_sdk_04_06_00_01/tools/awr294x/sbl_uart_uniflash.release.tiimage

    # Now send one or more files to flash or flashverify as needed. The order of sending files does not matter

    # When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0
    --file=C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mmwave_mcuplus_sdk_04_06_00_01/tools/awr294x/sbl_qspi.release.tiimage --operation=flash --flash-offset=0x0

    # send the application image to flash. Flash it at 0xA0000 as the SBL expects it at this location
    --file=C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.appimage --operation=flash --flash-offset=0xA0000


    And the result now is OK. After flashing the AWR2944 EVM board, my UDP demo is working well and my data are streamed from the EVM to my PC without any issue.


    I think my issue hides behind the sysconfig management with the SDK 04.07.00.01 but I still have not found where I did something wrong. 
    I'll keep looking at it and I'll keep you aware of my progresses.

    BR,
    Adrien

  • Ok that is interesting behavior, thanks for letting me know. Let's close this thread and if another issue arises you can start another thread and can reference this one.

    Best,

    Gabriel

  • Hi Gabriel,

    Sorry for the delay.

    I prefer keeping this thread opened since no indication about the issue has yet been found.

    BR,

    Adrien

  • Hello,

    I understand but since there is no more current questions this thread should be closed. If you have a question on maybe how the sysconfig file could be affecting it please ask and we can continue or else it is not protocol to leave the E2E open since the problem has been solved even due to work around. Again if you have another question you can start a new thread and reference this E2E and you will be helped promptly. Let me know

    Best,

    Gabriel

  • Hi Gabriel,

    Indeed I have a temporary workaround using the AWR2944 classic EVM with the SDK 04.06.00.01 but I will not be able to keep this solution much longer. The plan is to use the new AWR2944P EVM that offers new capabilities and right now, I cannot use it because of the issues I mentioned with the SDK 4.7+. So I really need you help to now what is wrong using the SDK 4.7+ and sysconfig the way I did.

    BR,

    Adrien

  • Hello,

    Ok I understand. I will investigate and get back to you by end of day tomorrow.

    Best,

    Gabriel

  • Hello,

    I compared the elf2rprc.js and multicoreImageGen.js and they are exactly the same across the two different SDK's. If you can, can you try a few tests for me.

    Use both the 4.7.0.1 app images created for both the 294x and 2x44p and do every test I specify all from SDK 4.7.0.1

    1) In default .cfg use sbl_uart_uniflash.release.tiimage from SDK 4.6. Make only this change and test for both 2x44p and 294x

    2) For the second test use the sbl_qspi.release.tiimage from SDK 4.6. Make only this change and test for both 2x44p and 294x

    These are the only differences I can think of at the moment since you used the same sysconfig version throughout the tests you specified. Let me know the results.

    Best,

    Gabriel

  • Hi Gabriel,

    I did the tests for both AWR2944 and AWR2944P EVM and here are my results:

    AWR2944

    1) Issue not resolved. No communication between EVM and PC, LED on RJ45 port are powered-off.

    2) The result is OK, my UDP transmission from the EVM to my PC is working fine!

    AWR2944P

    1) Flashing procedure is KO, the second step with the sbl_qspi did never start.

    2) Flashing procedure is OK. But the result is not. The LED on RJ45 are powered-on but no transmission occurs between the EVM and my PC. I precise that I also re-tested the .xer5f application before by loading it into the R5 core in the CCS debugger. This debug test was OK and UDP transmission worked as expected.

    So there are improvement with the AWR2944 but more investigations are necessary for the AWR2944P EVM.

    Best regards,

    Adrien

  • Hello,

    It appears that the issue is related to qspi image. This image is what essentially takes your app image from flash and loads it using qspi. This makes sense since when you are using the CCS debugger it works since CCS is doing the loading. To help with this problem you can create your own qspi image to debug the issue. There are examples in the SDK so you can build your own. Follow these steps.

    - Import the qspi example to CCS. It is present at the following path. It is the same path for SDK 4.6 as well. In order to import both of them you will need to change the name of the project in "example.projectspec"

    C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mcu_plus_sdk_awr294x_10_00_00_07\examples\drivers\boot\sbl_qspi\awr294x-evm\r5fss0-0_nortos\ti-arm-clang

    - You can now edit and build both of these projects. I would compare the differences in see what can help fix the qspi image for SDK 4.7. 

    - Then you can replace the qspi image in default.cfg with your own custom image and keep testing. Once a change has been found that fixed the issue for you, you can then try making the same changes for the 2x44p qspi image which is present at the following path.

    C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mcu_plus_sdk_awr2x44p_10_00_00_07\examples\drivers\boot\sbl_qspi\awr2x44p-evm\r5fss0-0_nortos\ti-arm-clang

    Due to the high customization of your application I will not be able to help with this but I can answer any questions on the specific process I have shared. Hopefully with some debugging this can solve your problem.

    Best,

    Gabriel