|
ATtiny + IAR, Проблемы с записью в EEPROM |
|
|
|
Feb 10 2005, 22:28
|
Участник

Группа: Свой
Сообщений: 32
Регистрация: 26-11-04
Из: Одесса, Украина
Пользователь №: 1 240

|
Вопрос в следующем: 1. В IAR EWAVR 3.10 объявляю переменную __no_init __eeprom uchar IR_Commands[IR_Max_Commands][IR_Max_Bytes];
Затем пробую в цикле в нее чего-нибудь записать. Например, uchar i,j; for (i = 0; i < 4; i++) for (j = 0; j < 6; j++) IR_Commands[i][j] = 0x12; Казалось бы, в ячейки EEPROM 1 - 25 должны быть записаны 0x12. А получается нечто типа: :10000000FF1212FFFFFFFFFFFFFFFFFFFFFFFFFFDA :10001000FFFFFFFFFF121212121212FFFFFFFFFF7E :10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 :10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 :10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 :10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 :10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 :10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 :00000001FF
Записанные программатором данные читаются нормально.
Причем в IAR 2.28 + AT90S2313 все работало нормально. В чем может быть соль?
|
|
|
|
|
 |
Ответов
|
Feb 14 2005, 19:05
|
Участник

Группа: Свой
Сообщений: 32
Регистрация: 26-11-04
Из: Одесса, Украина
Пользователь №: 1 240

|
А есть ли возможность убрать флажок "Enhanced core" (я так понимаю, это значит использовать расширенные команды от Mega), выбрав мой целевой процессор?
И еще вопрос: как в Вашем случае правильно объявить переменные в ЕЕПРОМ? Он матерится: Fatal Error[e72]: Segment EEPROM_N must be defined in a segment definition option (-Z, -b or -P)
|
|
|
|
|
Feb 19 2005, 11:37
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(Alex_St @ Feb 14 2005, 22:05) А есть ли возможность убрать флажок "Enhanced core" (я так понимаю, это значит использовать расширенные команды от Mega), выбрав мой целевой процессор? Из диалога - нет, а как иначе не знаю. Цитата(Alex_St @ Feb 14 2005, 22:05) И еще вопрос: как в Вашем случае правильно объявить переменные в ЕЕПРОМ? Он матерится: Fatal Error[e72]: Segment EEPROM_N must be defined in a segment definition option (-Z, -b or -P) В файле *.xcl (и только таким способом, а не через диалог) вставить строки: /* Internal eeprom memory */ -Z(XDATA)EEPROM_N,EEPROM_I=0-_..X_EEPROM_END В среде надо, разумеется, указать путь к этому файлу.
|
|
|
|
|
Feb 19 2005, 20:01
|
Участник

Группа: Свой
Сообщений: 32
Регистрация: 26-11-04
Из: Одесса, Украина
Пользователь №: 1 240

|
Цитата(IgorKossak @ Feb 19 2005, 13:37) В файле *.xcl (и только таким способом, а не через диалог) вставить строки: /* Internal eeprom memory */ -Z(XDATA)EEPROM_N,EEPROM_I=0-_..X_EEPROM_END В среде надо, разумеется, указать путь к этому файлу. Спасибо, попробую.
|
|
|
|
|
Feb 19 2005, 21:22
|
Участник

Группа: Свой
Сообщений: 32
Регистрация: 26-11-04
Из: Одесса, Украина
Пользователь №: 1 240

|
2 IgorKossak
Большое спасибо! Работает!
Интересно, а в следующих версиях ИАР этот глюк исправлен?
2 All: Поделитесь, уважаемые гуру, способами уменьшения объема кода, генерируемого ИАР. Есть код объемом 1300 Байт, который необходимо впихнуть в flash 1кБ. Включена оптимизация по объему, выкинуто все лишнее. Как еще можно уменьшить код? Какие есть подходы к написанию оптимального кода в ИАР?
|
|
|
|
|
Feb 22 2005, 12:02
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040

|
Цитата(Alex_St @ Feb 20 2005, 00:22) Поделитесь, уважаемые гуру, способами уменьшения объема кода, генерируемого ИАР. Есть код объемом 1300 Байт, который необходимо впихнуть в flash 1кБ. Если речь идет о С - можно отрихтовать стартап. Оставить только инициализацию стека, остальное выкинуть. Будут некоторые ограничения... Но если очень надо, то можно.
--------------------
- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
|
|
|
|
Сообщений в этой теме
Alex_St ATtiny + IAR Feb 10 2005, 22:28 Alex_St Может, причина кроется в том, что я не настраивал ... Feb 11 2005, 10:24 Alex_St Интересный факт - в опциях IAR ставлю Target devic... Feb 11 2005, 12:20 -Tумблер- Цитата(Alex_St @ Feb 11 2005, 15:20)Помогите,... Feb 11 2005, 13:10  Alex_St Цитата(-Tумблер- @ Feb 11 2005, 15:... Feb 11 2005, 13:39   Alex_St Вроде разаобрался...
Дело в том, что IAR для этого... Feb 12 2005, 12:42 IgorKossak Цитата(Alex_St @ Feb 12 2005, 15:42)Вроде раз... Feb 13 2005, 10:29    IgorKossak Цитата(Alex_St @ Feb 20 2005, 00:22)... Какие... Feb 20 2005, 11:09    IgorKossak Цитата(Alex_St @ Feb 20 2005, 00:22)2 IgorKos... Feb 20 2005, 12:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|