Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Размещение констант во flash
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
ivainc1789
Не получается разместить массив:
Код
const unsigned char MyConstTable[64] = {1,2,....64};

во flash в IAR v6.10
Поиском по форуму в курсе, что в 5 версии поменяли, но в 6 версии, такие объявления не прокатывают:
Код
// С файл
#pragma location = "CONST"
const unsigned char MyConstTable[64] = {1,2,....64};

// ICF файл
place in ROM_region   { readonly section CONST };

Линкер упорно размещает в RAM. Подскажите, как правильно?
Xenia
Цитата(ivainc1789 @ May 4 2011, 14:12) *
во flash в IAR v6.10
Поиском по форуму в курсе, что в 5 версии поменяли, но в 6 версии, такие объявления не прокатывают

В версии 6.20 попробуйте, вчера вышла.
ivainc1789
Цитата(Xenia @ May 4 2011, 14:21) *
В версии 6.20 попробуйте, вчера вышла.


В версии 6.20 flashloader вообще не программирует flash STM32F103R6T6A. Вот лог:

Код
Wed May 04, 2011 19:47:02: Loaded macro file: D:\Program Files\IAR Systems\EWARM\arm\config\flashloader\ST\FlashSTM32F10xxx.mac
Wed May 04, 2011 19:47:02: -I- execUserFlashInit!
Wed May 04, 2011 19:47:02: Loaded debugee: D:\Program Files\IAR Systems\EWARM\arm\config\flashloader\ST\FlashSTM32F10xxxRAM6K.out
Wed May 04, 2011 19:47:02: Target reset
Wed May 04, 2011 19:47:06: Downloaded E:\PcadDsn\Charger\ChargerSTM32\Software\Debug\Exe\ChargerSTM32.out to flash memory.
Wed May 04, 2011 19:47:07: 23540 bytes downloaded into FLASH and verified (4.28 Kbytes/sec)

Wed May 04, 2011 19:47:07: Warning:  
Verify error at address 0x08000000, target byte: 0xFF, byte in file: 0xE0
.
.
.
Wed May 04, 2011 19:47:07: Warning:  
Verify error at address 0x080000C8, target byte: 0xFF, byte in file: 0x00

Wed May 04, 2011 19:47:07: Warning: Too many verify errors, only the first 200 are displayed
Wed May 04, 2011 19:47:09: Warning: There were warnings during download, see Log Window
Wed May 04, 2011 19:47:09: Loaded debugee: E:\PcadDsn\Charger\ChargerSTM32\Software\Debug\Exe\ChargerSTM32.out
Wed May 04, 2011 19:47:12: User error: Stack pointer is setup to incorrect alignment.  Stack addr = 0xFFFFFFFF
Wed May 04, 2011 19:47:12: Target reset
Wed May 04, 2011 19:47:12: Failed to load debugee: E:\PcadDsn\Charger\ChargerSTM32\Software\Debug\Exe\ChargerSTM32.out


Хотя иаровцы попытались сильно улучшить IDE и драйверы - теперь для ST-LINK доступна установка клоков. Однако суть не изменилась: в v6.10 нужно было перед отладкой в С-SPY стереть flash в сторонней утилите, в v6.20 - вообще заливать можно только "на стороне", а потом запускать С-SPY. Либо что не так делаю, но flashloader не шьет через ST-LINK вообще.

С размещением констант все также не получается в 6.20.
ivainc1789
C работой ST-LINK временно проблему решил.

Положить массив вo FLASH получилось так:

Код
// user С файл
const unsigned char MyConstTable[64] @ "CONST" = {1,2,....64};

// linker ICF файл
place in ROM_region   { readonly section CONST };
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.