Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


const data in separete hex file

Hi ,

I have a problem with additionaly generated hex file for const tables.
I have additional section declaration:

MEMORY
{
FLASH (rx)  : ORIGIN = 0x8000000, LENGTH = 2048K
RAM (xrw)  : ORIGIN = 0x20000000, LENGTH = 320K
CCMRAM (rw)  : ORIGIN = 0x10000000, LENGTH = 64K
EXT_FLASH (rx)  : ORIGIN = 0x60000000, LENGTH = 16M
}

_ExternalFlash_init_base = LOADADDR(.ExternalFlash);
_ExternalFlash_init_length = SIZEOF(.ExternalFlash);

.ExternalFlash :
{
. = ALIGN(4);
_ExternalFlash_start = .; /*create a global symbol at NOR Flash start*/
*(.ExternalFlash)
*(.ExternalFlash*)
. = ALIGN(4);
_ExternalFlash_end = .; /*define a global symbol at end of NOR Flash*/
*(.gnu.linkonce.r.*)
} >EXT_FLASH

Then in main.c I declared some const table:

  1. define EXT_MEM attribute((section(“.ExternalFlash”)))

const __IO uint16_t EXT_MEM EXTFLASH_strinfo16 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

I see it in program FMC.
As a post build I set:

post-build:
-@echo ‘Generating binary and Printing size information:’
arm-none-eabi-objcopy -O binary “STM32469I_EVAL.elf” “STM32469I_EVAL.bin”
arm-none-eabi-size “STM32469I_EVAL.elf”
arm-none-eabi-objcopy -O ihex --only-section=ExternalFlash “STM32469I_EVAL.elf” “ext_flash.hex”
-@echo ’


and finally file “ext_flash.hex” is empty. Deos anyone can tell me why?


regards,
Piotr