Всем привет.
Есть некий код на си, который использует еепром. Проблем с его использованием нет - но тут такая задача... еепром человек будет менять, и при этом прошивка контроллера меняться не должна. То есть я при старте программы получаю данные из еепром, привязываю их к каким то переменным и дальше с ними работаю. Вопрос - как это реализовать?
AVR EEPROM непосредственный доступ
- Реклама
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: AVR EEPROM непосредственный доступ
1. С помощью программатора зашивать только ЕЕПРОМ, не стирая микросхему.
2. Обновлять ЕЕПРОМ с помощью вашей программы, передавая данные с ПК например по COM-порту.
2. Обновлять ЕЕПРОМ с помощью вашей программы, передавая данные с ПК например по COM-порту.
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: AVR EEPROM непосредственный доступ
это понятноBerZerK-ku писал(а):1. С помощью программатора зашивать только ЕЕПРОМ, не стирая микросхему.
Непонятно как знать по каким адресам будут находиться мои переменные?
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: AVR EEPROM непосредственный доступ
BCluster писал(а):Непонятно как знать по каким адресам будут находиться мои переменные?
странно... адреса переменных вам якобы неизвестны, но в то же время человек будет менять EEPROM. как он это будет делать, не зная где что находится?! если этот человек знает - спросите у него про адресаBCluster писал(а):еепром человек будет менять
битва с дураками проиграна, победители торжествуют. слава победителям!
-
phanis
- Вымогатель припоя
- Сообщения: 513
- Зарегистрирован: Сб фев 19, 2011 18:04:08
- Откуда: Татарстан, пос. Актюбинский
- Контактная информация:
Re: AVR EEPROM непосредственный доступ
Получается, вы то будете знать где и какие данные, а значит и их адреса тоже будут известны.То есть я при старте программы получаю данные из еепром, привязываю их к каким то переменным и дальше с ними работаю
А если поделитесь с неким человеком, то он тоже будет это знать.
Можно для его удобства картинками отобразить что где и чего.
Для редактирования можно использовать POnyProg, как флеш так и епром. Епром текст синего цвета.
А если не знаете где именно в прошивке (епром) лежат данные, то можно с начала записать с программы по заданным адресам известные вам числа. например 0x01 0x02 0x03//
Слить епром и посмотреть/
Даже в протеусе не прошивая можно посмотреть.
- Реклама
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: AVR EEPROM непосредственный доступ
В IAR можно сделать так:BCluster писал(а):это понятно. Непонятно как знать по каким адресам будут находиться мои переменные?BerZerK-ku писал(а):1. С помощью программатора зашивать только ЕЕПРОМ, не стирая микросхему.
Код: Выделить всё
__no_init char __eeprom a @ 0x10; // 0x10 - адрес в EEPROMRe: AVR EEPROM непосредственный доступ
Думается, что любой современный компилятор может генерить карты памяти по результатам копиляции...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: AVR EEPROM непосредственный доступ
неизвестны мне адреса и ему тоже)Мастер Ломастер писал(а):странно... адреса переменных вам якобы неизвестны, но в то же время человек будет менять EEPROM. как он это будет делать, не зная где что находится?! если этот человек знает - спросите у него про адреса
даже если были бы известны я не знаю как привязать к именам переменных
так в итоге и сделал думал может есть метод умнееphanis писал(а):А если не знаете где именно в прошивке (епром) лежат данные, то можно с начала записать с программы по заданным адресам известные вам числа. например 0x01 0x02 0x03//
яр это гуд, но у меня кодвижн но все равно спасибо, буду знать!BerZerK-ku писал(а):_no_init char __eeprom a @ 0x10; // 0x10 - адрес в EEPROM
хз если кодвижн умеетKavka писал(а):Думается, что любой современный компилятор может генерить карты памяти по результатам копиляции...
всем спасибо, в принципе проблема решена, но если у кого-то еще есть идеи - будет интересно!


