Hello, everyone!
Where can I find the details of CC1310 memory? I want to know the address range of CC1310 info page, ROM and flash.
Hellc
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,
please find a memory map in the CC13XXWare documentation.
Hi Gilbert,
the FCFG1/2 sections contain factory settings are not writeable. The CCFG section contains the application configuration and maps to the last page in flash. You can use this section to store additional configuration settings, but you need to use the flash address. I reommend using the flash section before CCFG in order to not delete the CCFG by accident. Here is a more application-centric memory map:
+---------------+-------------+-------------+--------------+--------------------------------------------------------------------------+ | Segment | Begin | End | Size | Description | +===============+=============+=============+==============+==========================================================================+ | Flash | 0x0000 0000 | 0x0000 0FFF | 4 KiB | Free for application. 0x0000 is used as default reset vector. | | (32/128 KiB) +-------------+-------------+--------------+--------------------------------------------------------------------------+ | | 0x0000 1000 | 0x0000 14FF | 1280 B | When using TI-RTOS in ROM, this section contains kernel data structures | | | | | | at fixed addresses. | | +-------------+-------------+--------------+--------------------------------------------------------------------------+ | | 0x0000 1500 | 0x0001 FFA7 | 1280 B | Free for application | | +-------------+-------------+--------------+--------------------------------------------------------------------------+ | | 0x0001 FFA8 | 0x0001 FFFF | 88 B | Customer configuration (CCFG) area. It contains configuration | | | | | | parameters for the ROM bootcode, device hardware, and device firmware. | | | | | | Please refer to the Device Configuration chapter in the | | | | | | `Technical Reference Manual`_ | +---------------+-------------+-------------+--------------+--------------------------------------------------------------------------+ | ROM | 0x1000 0000 | 0x1001 FFFF | 128 KiB | Pre-built functions from TI-RTOS kernel and DriverLib. This reduces the | | (128 KiB) | | | | size of applications. See `Rom Functions`_ and also | | | | | | :ref:`using_internal_rom`. | | | | | | | +---------------+-------------+-------------+--------------+--------------------------------------------------------------------------+ | GPRAM | 0x1100 0000 | 0x1100 1FFF | 8 KiB | Used as internal instruction cache by default. Can be used for | | | | | | application purpose. Please refer to the VIMS chapter in the | | | | | | `Technical Reference Manual`_. | +---------------+-------------+-------------+--------------+--------------------------------------------------------------------------+ | SRAM | 0x2000 0000 | 0x2004 FFFF | 20 KiB | Free for application data. | +---------------+-------------+-------------+--------------+--------------------------------------------------------------------------+ | RFC_RAM | 0x2100 0000 | 0x2100 FFFF | 4 KiB | Internal RF Core RAM. Not accessible from the application. | +---------------+-------------+-------------+--------------+--------------------------------------------------------------------------+ | Peripheral | 0x4000 0000 | 0xFFFF FFFF | | Internal registers of peripheral units. Not accessible from the | | and internal | | | | application. Please refer to `CPU Domain Memory Map`_ for details. | | registers | | | | | +---------------+-------------+-------------+--------------+--------------------------------------------------------------------------+
Hi, Richard W.
I have some questions about CCFG:
1. The size of CCFG is 4KB. Why is the size of the Customer configuration (CCFG) area in flash 88B? Should I use other 4KB-88B?
2. In "SmartRF Flash Programmer2 ver.1.7.2 ---> Edit ---> CCFG", I change the value in address 0x0001ffb8 from 0xFF to 0x01. After reload new code in CCS, the value in address 0x0001ffb8 has been 0xFF. I hope to know how to do in order to make sure that the value in CCFG won't be changed.
Best Regards,
Gilbert
Hi Gilbert,
This makes sure that the debugger won't overwrite the .ccfg section when it uploads an application even though it is included in the application image. If you don't build the ccfg.c file in your project, then this option is not necessary because a ccfg section is not included. However, TI-RTOS requires this section to be present when it starts. So you must flash it at least once. Afther that you can reflash your device as many times as you want as long as the .ccfg section is not deleted.
I don't know about the internal ROM bootloader, maybe it requires some of the bytes in the .ccfg, too.
In my previous post, I talked about FlashProgrammer2 which is a separate programming tool.
Hello Richard,
I am trying to write my data into the flash using following code :
if( FlashProtectionGet( FLASHMEM_BASE_ADDR ) == FLASH_NO_PROTECT) { if(FlashSectorErase(FLASHMEM_BASE_ADDR ) != FAPI_STATUS_SUCCESS) { while(1); } FlashProgram( (uint8_t *)pbuffer, FLASHMEM_BASE_ADDR, 16); }
FLASHMEM_BASE_ADDR = 0xF00.
However I am not able to erase the flash and FlashSectorErase function is returning FAPI_STATUS_INCORRECT_DATABUFFER_LENGTH.
Am I using wrong flash address to write the user data ?
Hi,
Omkar Inamdar said:However I am not able to erase the flash and FlashSectorErase function is returning FAPI_STATUS_INCORRECT_DATABUFFER_LENGTH.
Am I using wrong flash address to write the user data ?
The flash sector/page size is 4 KiB. Hence the address provided to FlashSectorErase() must be a multiple of 4 KiB (4 * 1024 bytes), e.g. 0x0000, 0x1000, 0x2000, ...
Yes, it is. I have also updated the table in my previous post to make it more visible.