C2000 3 15 декабря, 2023 Опубликовано 15 декабря, 2023 · Жалоба Добрый день! Можно ли в *.sct файле определять переменные? Например в начале скрипта определить адреса и размер всех секторов памяти а потом уже использовать эти переменные при описании секторов. Можно ли вложить в *.sct файл другой *.sct файл? Что то типа include "name.sct"? GCC, IAR это всё умеют да и примеры есть, а для KEIL что то ничего подобного не встречается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 19 декабря, 2023 Опубликовано 19 декабря, 2023 · Жалоба Можно. Пример sct Спойлер #! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m4 -xc #define __ROM_BASE 0x08000000 #define __ROM_SIZE (1024*128) #define __RAM_BASE 0x20000000 #define __RAM_SIZE (1024*32) #define __CCMRAM_BASE 0x10000000 #define __CCMRAM_SIZE (1024*8) #define __STACK_SIZE 1024 #define __HEAP_SIZE 0 #define __STACK_TOP (__CCMRAM_BASE + __CCMRAM_SIZE) /* Stack starts at end of CCMRAM */ #define __HEAP_BASE (AlignExpr(+0, 8)) /* Heap starts after RW_RAM section, 8 byte aligned */ #define __RW_SIZE (__RAM_SIZE - __STACK_SIZE - __HEAP_SIZE) LR_FLASH __ROM_BASE __ROM_SIZE ; load region size_region { ER_IROM1 __ROM_BASE __ROM_SIZE ; load address = execution address { *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) } RW_IRAM1 __RAM_BASE __RW_SIZE ; RW data { .ANY (+RW +ZI) } #if __HEAP_SIZE > 0 ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE {} ; Reserve empty region for heap #endif ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE {} ; Reserve empty region for stack } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться