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.
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.
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,
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.
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,
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 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