|
|
  |
Как в ИАР задать пкременную в eeprom, и зашить ее в мк при программировании |
|
|
|
Oct 26 2005, 11:04
|

Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480

|
Цитата(arttab @ Oct 26 2005, 12:42) объявляю так #pragma location=0x0100 const __eeprom unsigned char Zone1 = 10; а как получить данные для прошивки eeproma? Посмтрите описание на прогу $\IAR\avr\bin\postlink.exe Сама дока лежит здесь $\IAR\avr\doc\postlink.htm Обратите еще внимание на $\IAR\avr\bin\postlink.bat Это вам поможет
|
|
|
|
|
Oct 27 2005, 05:53
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(Pat @ Oct 26 2005, 17:04) Цитата(arttab @ Oct 26 2005, 12:42) объявляю так #pragma location=0x0100 const __eeprom unsigned char Zone1 = 10; а как получить данные для прошивки eeproma? Посмтрите описание на прогу $\IAR\avr\bin\postlink.exe Сама дока лежит здесь $\IAR\avr\doc\postlink.htm Обратите еще внимание на $\IAR\avr\bin\postlink.bat Это вам поможет Postlink уже давно obsolete. Все разруливается через опции линкера. Подробнее не скажу, копаться надо, давно было, все уже забыл.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Oct 28 2005, 09:21
|

Частый гость
 
Группа: Свой
Сообщений: 86
Регистрация: 13-06-04
Из: Minsk
Пользователь №: 29

|
Цитата(arttab @ Oct 28 2005, 05:53) выставил в debug info и все пошло А создать переменную по заданному адресу никак? Код -we133=i -Ointel-extended,(CODE)=$PROJ_DIR$\rxd8535.hex -Ointel-extended,(XDATA)=$PROJ_DIR$\ee_rxd8535.hex Это по линковке... Код volatile __eeprom char e_stupVN @0x17 = 0x90; Это по адресу
|
|
|
|
|
Oct 31 2005, 10:32
|

Группа: Новичок
Сообщений: 13
Регистрация: 18-10-05
Пользователь №: 9 808

|
Цитата(arttab @ Oct 28 2005, 06:53) выставил в debug info и все пошло А создать переменную по заданному адресу никак? Я у себя в IAR(4.11A) поступаю следующим образом: #pragma location=0x00 __eeprom unsigned long BOOT_FLAG=0xХХХХХХХХ; #pragma location=0x04 __eeprom unsigned long APP_SECT_CRC1=0xХХХХХХХХ; ДЛЯ ЛИНКЕРА: выходной формат: debug information for C-SPY в экстра опшинсах линкера: -Ointel-extended,(CODE)=$PROJ_DIR$\Release\Exe\code.hex -Ointel-extended,(XDATA)=$PROJ_DIR$\Release\Exe\eeprom.eep В результате он нормально генерит код в code.hex и данные вида 0xXXXXXXXX в eeprom.eep. Дальше через Image Craft или CodeVision заливаю оба файла и все путем!
|
|
|
|
|
Nov 3 2005, 21:10
|

Группа: Новичок
Сообщений: 13
Регистрация: 18-10-05
Пользователь №: 9 808

|
Цитата(arttab @ Nov 1 2005, 07:13) делал так: #pragma location=0x10 __eeprom unsigned long S_nombe=0xFFFFFFFF;//íîìåð ïðèáîðà а он мне ошибку выходной формат: debug information в экстра опшинсах линкера прописал что нужно Очень странно, т.к. такая ошибка возникает, если кроме Output файлов, указанных в Extra Otions, для Linker на вкладке Output выбран формат intel-extended, а не debug information for C-SPY. И тогда линкер не может в один файл записать код и данные eeprom -> (Error[e133]: The output format INTEL-EXTENDED cannot handle multiple address spaces). Если на вкладке линкера выбран debug information for C-SPY, а IAR выдает такую ошибку, то может быть компилятор и глючит, но я в таких ситуациях потом всегда находил где-то свой ляп и выяснял, что сам сглючил
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|