Перейти к содержимому
Форум журнала практической электроники «Датагор»

Оригинал микро-ПК Raspberry Pi 3 Model B+ (Broadcom 1.4GHz quad-core 64 bit processor, Wifi, Bluetooth, USB)

Офигенная миниатюрная рация на литии BaoFeng UV-5R, 5W, 5-15 км! Охота, поход, торговый центр и т.п.

TrueRMS мультиметр UNI-T UT139A с автодиапазонами

Паяльнник 80W с терморегулятором и LCD-дисплеем, популярные жала серии 900M
Гость serzh_5

В массив констант записать длинную последовательность 0хFF

Рекомендованные сообщения

Гость serzh_5

Зравствуйте. Создавая большие массивы чисел, для вывода изображения на дисплей, обнаружил интересную штуку. Если в массив констант записать длинную последовательность 0хFF, то МК прошивается, но не проходит верефикацию и в массиве в итоге оказаваются другие числа. Если же длинных последовательностей 0хFF нет, то верефикация проходит и числа в массиве те которые записывал. С чем это может быть сязано? Я пробывал прошивать AVRProg и CodeVisionAVR. Прогроматор AVR910 от PROTTOSS. Грешу на процес програмирования, может увидев длинную последовательность 0хFF програматор решает что это конец?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость hsl

Не знаю тот же это глюк или нет, но было у меня такое, что в EEPROM данные записывались не правильно. В моем случае это было когда FLASH и EEPROM прошивал одним файлом *.rom. При раздельной прошивке глюка не наблюдалось, прошивал из CodeVisionAVR.

Изменено пользователем hsl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость serzh_5

Врятли это этот глюк. Я прошиваю только FLASH.

 

Попробывал прошить с помощью PonyProg и LPT программатора, массив успешно записался. Думаю этот глюк связан с особеностями программирования AVR910, только вот с какими?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость prottoss

Дело не в программаторе. Программатор ничего не решает. Программатор всего лишь получает команду на запись флэш-памяти или EEPROM и ничего более. Он не проверяет биты-байты, которые он записывает в МК. Он берет блок данных, полученный от приложения на РС, и пишет его в МК.

Наверняка у Вас в программе программирования не установлена галка на чем то типа "Erase FLASH before programming" или по русски - "Стереть флэш перед программированием". Флэш память устроена так, что, при программировании, возможно перевести бит из "1" в "0", но не обратно. По этому есть команда стирания, которая как раз и занимается обратным, по этому после выполнения команды "erase" все ячейки флэш-памяти МК переводятся в значение 0xFF, т.е. все биты устанавливаются в "1", за тем уже выполняется программирование.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость serzh_5

prottoss, ваша версия не подтверждается, я стёр МК (кнопкой Chip Erase ) и попробывал прошить, результат опять тотже.

 

Под управлением AVRDUDE, AVR910 нормально прошил МК. Так что дело в программах-программаторах AVRProg и CodeVisionAVR, интересно что с ними не так..

Изменено пользователем serzh_5

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

︽ Наверх страницы ︽
×
×
  • Создать...