В чём может быть причина? Спасибо заранее.
usbasp функционирует, но пограмирвать невозможно
- Сообщения: 132
- Зарегистрирован: Пн фев 06, 2017 15:20:04
Доброго времени суток. Простая китайская ардуина на atmega168p. Китайский usbasp. Читает. Но нефьюзы. Сохранил исходную прошивку. Залил новую. Записалась только часть файла, много ошибок. Сохранил. Залил исходную прошивку. Без ошибок. Поувторил несколько раз. Все копии попыток залить свою прошивку идеинтичны.
В чём может быть причина? Спасибо заранее.
В чём может быть причина? Спасибо заранее.
- Реклама
- Сообщения: 1978
- Зарегистрирован: Ср июл 17, 2013 13:55:57
sergs777, а ошибку думаете не нужно было приложить?
Возможно ваша прошивка под другой МК и выходит за пределы памяти программ целевого мк.
Возможно ваша прошивка под другой МК и выходит за пределы памяти программ целевого мк.
- Сообщения: 132
- Зарегистрирован: Пн фев 06, 2017 15:20:04
[uquote="NStorm",url="/forum/viewtopic.php?p=3895470#p3895470"]sergs777, а ошибку думаете не нужно было приложить?
Возможно ваша прошивка под другой МК и выходит за пределы памяти программ целевого мк.
Разобрался. Оказывается, даже один стандарт HEX файла имеет много вариантов. После компилятора 20 байтов в строке. А avrdude при чтении выводит в 10. А мохет быть, наоборот. Прилагалась прошивка, почему-то разделённа на две маленьие чсти. А между ними огромный массив из FF. Предполагал, для маскировки дефекта flach. Изучал долго. Прямых переходов не нашёл.
Возможно ваша прошивка под другой МК и выходит за пределы памяти программ целевого мк.
Разобрался. Оказывается, даже один стандарт HEX файла имеет много вариантов. После компилятора 20 байтов в строке. А avrdude при чтении выводит в 10. А мохет быть, наоборот. Прилагалась прошивка, почему-то разделённа на две маленьие чсти. А между ними огромный массив из FF. Предполагал, для маскировки дефекта flach. Изучал долго. Прямых переходов не нашёл.
может то был бутлоадер? он какраз в конце флеша располагается...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 132
- Зарегистрирован: Пн фев 06, 2017 15:20:04
Нашел быстрый и надежный способ для проверки прошивки. Приготовленный и считаный после проверки hex файлы конвертируются в bin формат и сравниваются. Конвертирую утилитой hexbin.exe, входящей в пакет восьмых протеусов.
- Реклама
Зачем столько садизьму над адуринкой-то?
Нужно перезалить прошивку с фузами - делаем ардуиноISP из нанки, устанавливаем его в графе "инструменты - программатор"(или имеющийся под лапами, который соответствует выпадающему списку доступных для данной версии IDE программаторов) и выполняем "инструменты -> записать загрузчик".
IDE автоматически подберет из встроенных архивов и вариант загрузчика и вариант комплекта фузов под установленную в "инструментах" конфигурацию платки.
Программатор к ПК цепляем через СОМ порт, а прошиваемую платку к программатору через разъём ISP.
Это штатный инструмент самой IDE.
МК прошиваемой платки может быть "абсолютно чистым" (свежекупленным с фузами по умолчанию или свежестертым "общим стиранием").

Или может хотим *.hex файлы получить перед пршивкой?
Тоже без особых проблем - IDE может сгенерировать два "стандартных" хекс файла в папку проекта при нажатии "скетч -> экспорт бинарного файла"...
Там будут два файлика - один с бутлоадером (но без набора фузов), другой без бутлоадера.
Набор фузов УВЫ, придется считывать из МК.
А вот то, что вычитывается из МК "сторонним программатором" будет соответствовать только формату софтинки того "стороннего программатора"...
И совсем необязательно именно intel hex8, да еще и с "удалением лишних строчек со сплошным 0xFF".

Нужно перезалить прошивку с фузами - делаем ардуиноISP из нанки, устанавливаем его в графе "инструменты - программатор"(или имеющийся под лапами, который соответствует выпадающему списку доступных для данной версии IDE программаторов) и выполняем "инструменты -> записать загрузчик".
IDE автоматически подберет из встроенных архивов и вариант загрузчика и вариант комплекта фузов под установленную в "инструментах" конфигурацию платки.
Программатор к ПК цепляем через СОМ порт, а прошиваемую платку к программатору через разъём ISP.
Это штатный инструмент самой IDE.
МК прошиваемой платки может быть "абсолютно чистым" (свежекупленным с фузами по умолчанию или свежестертым "общим стиранием").
Или может хотим *.hex файлы получить перед пршивкой?
Тоже без особых проблем - IDE может сгенерировать два "стандартных" хекс файла в папку проекта при нажатии "скетч -> экспорт бинарного файла"...
Там будут два файлика - один с бутлоадером (но без набора фузов), другой без бутлоадера.
Набор фузов УВЫ, придется считывать из МК.
А вот то, что вычитывается из МК "сторонним программатором" будет соответствовать только формату софтинки того "стороннего программатора"...
И совсем необязательно именно intel hex8, да еще и с "удалением лишних строчек со сплошным 0xFF".
USBasp работает из-под студии или avrdude? Эта Arduino IDE настолько кривая, что при прямой работе с usbasp выпадает ошибками, но если прошивку что она подготовила залить напрямую хазармой или дудкой, то проблем нет.


