2015-08-17 17 views
0

Я хочу определить определенную область памяти в микросхеме STM32, где хранятся некоторые строки. Я использую компилятор IAR, но я не нахожу простой пример, который может помочь мне правильно создать область с помощью файла icf. Как я могу создать регион и использовать этот регион в коде? БлагодаряIAR определяет область памяти для пользовательских данных

+0

Является ли это экзаменом e (http://supp.iar.com/Support/?note=27498) неясно? – VolAnd

+0

Да не ясно, потому что в примере вы можете увидеть распределение функций. В моем случае я хочу создать область памяти в примере 1K, где нужно поместить список строк. – Lorenzo

+0

Такая дорогая инструментальная цепочка и отсутствие поддержки? – Olaf

ответ

0

Я нашел это решение:

В файле Icf я определить область памяти таким образом:

define region LANGUAGE_region = mem:[from 0x080FB000 to 0x080FC000]; 
"LANGUAGE_PLACE":place at start of LANGUAGE_region { section .LANGUAGE_PLACE.noinit }; 

Я наполню этот регион с внешним SREC файл с помощью программатора. Чтобы проверить область с простой программой (с использованием целого числа) Я использую это заявление:

В заголовке:

extern const unsigned int mydata @".LANGUAGE_PLACE.noinit"; 

В файле C:

const unsigned int mydata; 

В отладчике я могу видеть правильный адрес константы mydata в 0x0800FB000

+1

Вы хотите сохранить строки внутри целого числа ....? Как этот код имеет смысл, учитывая вопрос? Разве вам не нужно иметь 2D-массив символов? – Lundin

+0

Важным для меня было найти способ создать регион во флеше. Я использовал целое число в примере кода только для проверки соблюдения начального адреса моего региона. Затем я попытаюсь поместить строковый массив, – Lorenzo