реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Размещение констант во flash, IAR EWARM v6.10.5
ivainc1789
сообщение May 4 2011, 10:12
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Не получается разместить массив:
Код
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. Подскажите, как правильно?
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 4 2011, 10:21
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



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

В версии 6.20 попробуйте, вчера вышла.
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение May 4 2011, 16:41
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Цитата(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.
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение May 7 2011, 12:09
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



C работой ST-LINK временно проблему решил.

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

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

// linker ICF файл
place in ROM_region   { readonly section CONST };
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 17:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01388 секунд с 7
ELECTRONIX ©2004-2016