|
|
  |
И всётаки она работает. Нужен совет., Про EEPROM. |
|
|
|
Jul 9 2008, 03:29
|
Участник

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711

|
Здравствуйте участники конференции. Наверно участники abc , SaSaVitebsk подумают опять этот ….. пишет. Которого отбрили в апреле со своей программой. Да это опять я. И программа моя, заработала , и ошибку я нашёл сам , без кого либо. Я против них ни чего не имею. Но мне тогда обидно стало . я её отложил и забыл. Но как то в июне сел заново . .Нашёл ошибку (как находил и как бился опущу). Переделал немного и теперь её , как бы улучшаю. Я это написал , чтоб не было разговоров . Типа тебе сказали …, а ты опять здесь …. (Кому нужно тот поймёт)
Извиняюсь за флуд , просто ….
Теперь по существу . Совет нужен вот в каком плане. У меня данные записываются в память проца в EEPROM. При зашивании программы , туда записываются FF. Как сделать , что бы данные заносились отдельно от программы? (сначала данные туда , потом прога ) или не как ? Если вопрос не понятен сформулирую по другому , примером.
|
|
|
|
|
Jul 9 2008, 03:41
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 4-04-07
Пользователь №: 26 760

|
А в чем сложность сначала прошить EEPROM, а затем FLASH? Чем прошиваете контроллер, какие ключи используете?
|
|
|
|
|
Jul 9 2008, 04:04
|
Частый гость
 
Группа: Участник
Сообщений: 82
Регистрация: 10-07-06
Пользователь №: 18 720

|
Цитата(Sholkin @ Jul 9 2008, 06:29)  Как сделать , что бы данные заносились отдельно от программы? (сначала данные туда , потом прога ) или не как ? В программаторе можно отдельно записать EEPROM, отдельно Flash. Можно записать только EEPROM, можно только Flash. Или я вопроса не понял.
|
|
|
|
|
Jul 9 2008, 04:20
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 8-06-06
Пользователь №: 17 866

|
Цитата(Tiny @ Jul 9 2008, 09:04)  В программаторе можно отдельно записать EEPROM, отдельно Flash. Можно записать только EEPROM, можно только Flash. Или я вопроса не понял. а еще можно что бы программа (которая во Flash) записывала то что нужно в EEPROM. Вариантов много - выбирай
|
|
|
|
|
Jul 9 2008, 05:54
|
Участник

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711

|
Цитата а еще можно что бы программа (которая во Flash) записывала то что нужно в EEPROM. Вариантов много - выбирай не так нельзя. Если так сделать . Когда проц зависнет или питание пропадёт, то оно переписываетсь на изначальное, так как уходит на программы настроек всех. Пробовал так . смысл . Если питания снято, или завис , (вачдок на перезагрузку отправил проц) в еепром остались данные те которые последниими туда записал. А при зашытии проги ( когда в устроиство только его вставляем , нак сказать начало работы устройсва) там нули были. Смысл , нужно эти данные отдельно от проги записать в EEPROM. Цитата В программаторе можно отдельно записать EEPROM, отдельно Flash. Можно записать только EEPROM, можно только Flash. Или я вопроса не понял. Вопрос правильно понял. Сегодня в программаторе по капаюсь . Посмотрю как он это может делать или нет. Спасибо за ответ
Сообщение отредактировал Sholkin - Jul 9 2008, 06:01
|
|
|
|
|
Jul 9 2008, 06:14
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Sholkin @ Jul 9 2008, 07:29)  Здравствуйте участники конференции. Наверно участники abc , SaSaVitebsk подумают опять этот ….. пишет. Которого отбрили в апреле со Если Вы меня имели в виду, то ник несколько другой  adc (это как команда сложения с переносом  ) Теперь по существу . Цитата(Sholkin @ Jul 9 2008, 07:29)  Как сделать , что бы данные заносились отдельно от программы? (сначала данные туда , потом прога ) или не как ? К примеру пони (PonyProg) может прошивать отдельно как flash так и EEPROM. Но! Зачем прошивать константы в EEPROM? Их можно определить во Flash и инициализировать EEPROM в начале программы.
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Jul 9 2008, 06:17
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425

|
Цитата(Sholkin @ Jul 9 2008, 08:54)  не так нельзя. Если так сделать . Когда проц зависнет или питание пропадёт, то оно переписываетсь на изначальное, так как уходит на программы настроек всех. Пробовал так . смысл . Если питания снято, или завис , (вачдок на перезагрузку отправил проц) в еепром остались данные те которые последниими туда записал. А при зашытии проги ( когда в устроиство только его вставляем , нак сказать начало работы устройсва) там нули были. Смысл , нужно эти данные отдельно от проги записать в EEPROM. инициализируете параметры один раз и защищаете контрольной суммой (какой придумаете). При следующем запуске проца - пересчитываете контрольную сумму параметров в EEPROM и сверяете с ее значением, сохраненным в EEPROM. Если параметры не повреждены - загружаете их в RAM и вперед...если контрольная сумма не совпала - параметры настройки повреждены и использовать их нельзя - инициализируете их дэфолтными значениями из памяти программы. ЗЫ а фьюз EESAVE можно еще запрограммировать...
Сообщение отредактировал swisst - Jul 9 2008, 06:19
|
|
|
|
|
Jul 10 2008, 02:14
|
Участник

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711

|
Цитата Если Вы меня имели в виду, то ник несколько другой adc (это как команда сложения с переносом ) Здравствуйте. Именно вас имел введу. Извиняюсь , что ник перепутал. Но я уже забыл всё проехали. По существу. adc у меня какой прогромматор не знаю . Может он это и может. Я его сам паял . Схему дали . Инструкции нет. Человека , который дал тоже нет. Цитата Но! Зачем прошивать константы в EEPROM? Их можно определить во Flash и инициализировать EEPROM в начале программы. Немного не понял как это зделать, подумаю сегодня. У меня там не константы, а данные . Они не должны быть потерены , а изначально , как устроиство запустили (первый пуск ) там должны 0. Потом они только туда записываются , но не переписываються на изначальные , первого пуска. Цитата инициализируете параметры один раз и защищаете контрольной суммой (какой придумаете). Это для меня пока сложно. Цитата Контрольная сумма - это еще года на 2 работы Может быть . Пока учимся. Эту пишу пока не два . С перерывом пол года. Первоя большая прога . Те были маленькие , пипеточные. Цитата Можно и без контр. суммы. После первой инициализации в ЕЕпром записать байт-признак и при последующих инициализациях опрашивать его и если он установлен - иниц. не производить. Вот этот вариан немного понял поппробую реализовать. Спасибо всем кто ответил.
|
|
|
|
|
Jul 23 2008, 08:46
|
Участник

Группа: Новичок
Сообщений: 41
Регистрация: 2-04-07
Пользователь №: 26 711

|
Парни спасибо за ответы. Не совсем понял про контрольную сумму. Но зделал сначала так. Стал записывать в EEPROM типа флага , что была произведена запись данных и при сбросе или первым включением его проверяю . Если флаг , то читаю с EEPROM если нет , то забиваю нулями. Потом зделал проще , если записи у меня не было , то в EEPROM (в ячейках куда данные записываю или когда только запрогроммировал) FF . А когда данные записываю, то там значение не превышающее 9 . Вот я зделал проверку старшей ячеики . Если там больше 9 то обнуляем , если меньше, то была запись. Пока работает 3 дня с таким алгоритмом , сбоя нет. Позднее хочу зделать запись данных , через ком порт (по ком порту забивать данные. Пока только индификационный номер посылаю). Тупа пока но . Про баит признак понял так , как делал с флагом. Или имелось что то другое ?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|