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

 
 
> Как присоединить файл, IAR ARM
MALLOY2
сообщение Dec 18 2006, 16:43
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Есть обычный файл с данными, как его присоединить к IAR ARM чтобы он разместился во флеше по определенному адресу.


#Pragma location = 0xAAAAAA;
const filedata =
{
#include "file.dat";
};
Такая конструкция не катит, так как требует форматирования файла.
P.S. так нужно прикрепить 6 файлов.


Как его прикрутить чтобы не формактировать файл ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Panych
сообщение Jan 22 2008, 09:00
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 335
Регистрация: 17-06-04
Из: Москва
Пользователь №: 35



Попытался так прицепить прошивку для Tiny и не вышло... Пытаюсь запрограммировать с Mega.
При линковании кода программируемого устройства прописал в Extra Option:
Код
-Ompds-code,(CODE)=Z:\AVR_Project\Humidity_Work_Code.bin


Несколько скорректировал родной файл .xcl, изменив 1 строку и вставив 2:
Код
-Z(CODE)CODE,EXTCODE1,EXTCODE2=_..X_INTVEC_SIZE-_..X_FLASH_END        // измененная
--image_input=Z:\AVR_Project\Humidity_Work_Code.bin,bin_code_1,EXTCODE1,1 // вставленная в конец
--image_input=Z:\AVR_Project\Humidity_Debug_Code.bin,bin_code_2,EXTCODE2,1 // вставленная в конец
в коде программы прописано следующее:
Код
unsigned short bn = 0;
extern char bin_code_1[];
extern char bin_code_2[];
...
temp = bin_code_2[ bn ];
...
bn перебирается в диапазоне 0...2047

В результате пишется не то, что в бинарнике. Код в бинарнике небольшой, 126 байт, остальное занимают 0х00, но память программируемого устройства оказывается заполненной полностью какими-то символами.
Если записывать в память не из бинарника, то что пишем - то и считываем программатором.
Чего я недопонимаю?


Попробовал выводить на дисплей первые значения массива bin_code_2 - не соответствуют тому, что вижу при просмотре бинарника...

Ответ найден:
В программе надо объявлять как "extern __flash unsigned char"
Тема, которая помогла:
http://electronix.ru/forum/index.php?showtopic=18042&hl=


--------------------
Всегда не хватает времени, чтобы выполнить работу как надо, но на то, чтобы ее переделать, время находится. (Закон Мескимена.)
Go to the top of the page
 
+Quote Post



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

 


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


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