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.

CC2340R5: UART Debugging in Persistant App

Part Number: CC2340R5
Other Parts Discussed in Thread: SYSCONFIG

Hi,

          How to enable UART debugging Messages for Persistant_App onchip OAD.I have tried MenuModule_printf it's not working.Implementing UART driver exceeding the App size limit.

  • Hi,

    Thank you for reaching out. If implementing the UART2 driver (while using the UART2callback or UART2echo examples as reference) exceeds the app size limit, then I would recommend attempting to use the log driver instead. The following E2E thread provides some valuable information into how the log driver works: https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1239043/faq-cc2340r5-enabling-debug-logging-on-the-cc23xx-device-family

    Best Regards,

    Jan

  • Hi Jan,

    Thanks for link. but I want debug messages on UART. Can you suggest better way to implement.

  • Hi,

    Looks like you have limited options here:

    1- either, you have to save some flash size within the persistent application

    2- or, you have to increase the flash memory size allocated to the persistent application while you are debugging it. This can be done by modifying the linker command file.

    I hope this will help,

    Best regards,

  • Hi,

    1. How do I save the memory? Most of the features are used by application. Can you suggest which part of the code can be skipped. We need approx. 2kb memory. 

    2. If I increased flash size of Persistent application, How to make same changes in mcuboot code. I'm using hex file given for mcuboot in example folder of sdk.

    I have referred the following link for making changes in mcuboot. But I didn't found information for compiling and creating hex file for mcuboot.

    link : https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1240632/cc1354p10_6-mcuboot-and-basic_ble_oad_onchip/4690718

  • Hi,

    The modifications you can make will depend on your application, but to start you could try removing the menu module from the application as well as removing any unused files. You could also try removing UART entirely from the application as well as removing functionality.

    The MCUBoot project may be found in {SDK_INSTALL_DIR}\examples\nortos\LP_EM_CC2340R5\mcuboot. These projects may be modified and compiled to create a new mcuboot hex file.

    Best Regards,

    Jan

  • Hi Jan,
                      I have tried to import the new MCUBoot project found in {SDK_INSTALL_DIR}\examples\nortos\LP_EM_CC2340R5\mcuboot. But while importing an project am getting the this error.

    Thank you.

  • Hi,

    I was able to import both the gcc and ticlang compiler versions of the projects as shown below:

    Can you specify which version of CSS as well as the SDK you are using? You should be okay to simply use the ticlang version if it is compiling properly.

    Best Regards,

    Jan

  • Hi Jan,

          I am using 

              CSS version : Code Composer Studio 12.3.0

              SDK version : simplelink_lowpower_f3_sdk_7_10_00_35

    Thank you.

  • Hi,

    Got it. That is strange then that you are seeing that error. Can you check which compiler version you have installed? You should be able to view this in the project properties.

    Best Regards,

    Jan

  • Hi Jan,

              Compiler version : TI Clang v2.1.3.LTS.

    Thank you.

  • Hi,

    That is very strange. I have the same compiler, ccs, and sdk versions. Regardless, you should be okay to just use the ticlang version, so we should move forward with that one.

    Best Regards,

    Jan

  • Hi Jan,
          I have imported the ticlang version project. In flash_map_backend/flash_map_backend.h has an some example address.

    so I have tried to change configuration to default address as

    #elif defined DeviceFamily_CC23X0R5
     #define BOOTLOADER_BASE_ADDRESS 0x00000000
     #define BOOT_BOOTLOADER_SIZE 0x00006000
    
     #define BOOT_PRIMARY_1_BASE_ADDRESS 0x00006000
     #define BOOT_PRIMARY_1_SIZE 0x0002c000
    
     #define BOOT_SECONDARY_1_BASE_ADDRESS 0x00032000
     #define BOOT_SECONDARY_1_SIZE 0x00048000


    After compiled MCUBoot and loaded MCUBoot -0x0 ,basic_persistent  -0x6000 ,basic_oad - 0x32000  binaries but its advertising only Persistent application.

    I have tried by setting MCUBOOT_MAX_IMG_SECTORS to 125 in mcuboot_config/mcuboot_config.h still OAD application is not advertising.

    	/* Default maximum number of flash sectors per image slot; change
     * as desirable. */
     
    #define MCUBOOT_MAX_IMG_SECTORS 250  

    we required the changes as per these memory address and let us know value to set MCUBOOT_MAX_IMG_SECTORS.

    #elif defined DeviceFamily_CC23X0R5
     #define BOOTLOADER_BASE_ADDRESS      0x00000000
     #define BOOT_BOOTLOADER_SIZE         0x00006000
    
     #define BOOT_PRIMARY_1_BASE_ADDRESS  0x00006000
     #define BOOT_PRIMARY_1_SIZE          0x00030000
    
     #define BOOT_SECONDARY_1_BASE_ADDRESS 0x00036000
     #define BOOT_SECONDARY_1_SIZE         0x00046000

    Please let us know how to solve this issue and share the workaround soon. If you required any further details. Please let us know.

    Thank you.

  • Hi,

    Taking a bit of a step back, can you clarify what the goal is with changing the base address? My apologies if this was mentioned before, but I want to ensure I have a complete understanding of what the issue at hand is.

    Best Regards,

    Jan

  • Hi Jan,

               In persistent app need to print some messages on UART. When Implementing UART driver exceeding the App size limit because of memory issue, so we are trying to increase the flash size of Persistent application and changing the base address of application code.

              Before trying this I have tried with the  basic_Persistent example code and basic_ble_oad example code given in the sdk and we have modified default address to  MCUBoot ticlang.Now loaded these three codes but default OAD example code is not working with modified MCUBoot.

    #elif defined DeviceFamily_CC23X0R5
     #define BOOTLOADER_BASE_ADDRESS 0x00000000
     #define BOOT_BOOTLOADER_SIZE 0x00006000
    
     #define BOOT_PRIMARY_1_BASE_ADDRESS 0x00006000
     #define BOOT_PRIMARY_1_SIZE 0x0002c000
    
     #define BOOT_SECONDARY_1_BASE_ADDRESS 0x00032000
     #define BOOT_SECONDARY_1_SIZE 0x0004A000

    This is the memory address modified in the  MCUBoot ticlang version code imported from SDK.

    Please share the workaround to set the default memory address in the MCUBoot ticlang.

    Thank you.

  • Hi,

    Got it. Thank you for clarifying. I wanted to make sure I didn't miss the original problem. I think we can try a few things here. Instead of modifying the default address could you try increasing the size to see what behavior we see? We could also try removing some code from the persistent_app that we may not need.

    Best Regards,

    Jan

  • Hello Jan,

          I have tried increasing  size of persistent app and basic_ble_oad app with an example MCUBoot and loaded these binaries,persistent app only advertising.

  • Hi,

    Can you try modifying the stack/heap sizes to see if this helps in SysConfig?

    Best Regards,

    Jan