Привет, написал простенькую программу плавного старта низковольтного освещения. Программа при соответствующих корректировках работает на attiny2313. Но тини13 не могу нормально прошить, процесс заливки идет нормально, на верификации спотыкается. Читаю записанное, а там программа записана вся, но с пробелами в виде пустых ячеек flash. Вот как это выглядит
Требуемый флеш:
После ошибки верификации, читаю флеш, а там:
Фьюзы сейчас low 0x71 high 0xff , но пробовал в различных комбинациях на различных частотах, не помогает. Отдельно фьюзы пишутся без проблем. EEPROM кстати тоже Программатор другие девайсы перепрошивает без проблем. Программатор usbasp пробовал в режиме пониженной скорости, при Vtarget 3.3v - без изменений. И самое интересное, если считать искалеченную прошивку в том виде, как она записалась, сохранить ее, стереть чип и залить сохраненную, то все происходит так как нужно! Пробовал на двух разных чипах, один куплен на месте, другой с али. Либо я не знаю чего-то о работе с данным чипом, либо мне не повезло и я получил в руки два бракованных чипа (правда еще есть 9 штук с али, но думаю их можно не првоерять.)
И самое интересное, если считать искалеченную прошивку в том виде, как она записалась, сохранить ее, стереть чип и залить сохраненную, то все происходит так как нужно!
Значит получается что что-то не так с исходным hex-ом.
_________________ Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. Всегда с уважением, Александр.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
В схеме, но в ярости уже обрезал все линии, так что она автономна, только штырьковый разъем и 220мкф по питанию. Даже пробовал садить вручную на землю reset во время программирования.
И самое интересное, если считать искалеченную прошивку в том виде, как она записалась, сохранить ее, стереть чип и залить сохраненную, то все происходит так как нужно!
Значит получается что что-то не так с исходным hex-ом.
Этот hex с парой измененных команд работает в 2313. Я пробовал этот же hex заливать в другой контроллер, работает или нет, не знаю, но записывается же! В бракованную тн13 даже пара nop`ов не заливаются. FLASH какой-то пятнистый получился. Может ее нужно прошивать на сверхнизкой скорости? Но имеющийся у меня програматор не позволяет это сделать. Разве что собирать 5 проводков.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Да, после стирания кривой прошивки и последующего чтения - весь flash - 0xFF
Вот только что внаглую, без изменений залил hex в аттини2313, все удачно пишется, верифится, читается. Мне кажется hex не может рушить процесс записи, хоть абрукадабру загоняй, записаться должен.
АВР студия при компиляции укажет размер файла... а матюкнется только, если был подключен файл описания ресурсов (*.inc) соответствующего МК... И то - Х/З не пробовал такие "казуизвраты"... Насчет остального... К примеру таймера могут быть разные, карта векторов прерываний и прочие "мелочи".
Карма: 13
Рейтинг сообщений: 163
Зарегистрирован: Сб дек 22, 2012 08:17:42 Сообщений: 744 Откуда: Караганда, Казахстан
Рейтинг сообщения:0
Да, скорее всего, битая эта тинька. Тут недавно этот вопрос уже поднимался, у нашего коллеги svetl1928 мелкая серия, так он тоже жаловался, что среди 13А очень много брака. Вот здесь.
_________________ Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
При повышении Vtrgt до 6.5в ничего так же не изменилось. Все 10 с Китая и 2 с местного магазина имеют одинаковую партию. Сэкономил, чё. Надо было брать в проверенном годами инетмагазине. Что бы убедиться, что я не сошел с ума, послезавтра выпаяю с рабочего девайса тн13 и испытаю ее.
А вообще, я так понимаю, это не подделки? Их же нельзя подделать, архитектура контроллеров не лежит в открытом доступе? Я так понимаю, это брак оригинальных контроллеров, который нелегально выкидывают на али? Да и контроллеры уже 2 года должны маркироваться Микрочипом, а на них до сих пор atmel1802
Насчет подделок... Вряд-ли. А вот насчет программаторов... На практике я использую или поньку или avrdudeshell c STK200 или в последнее время собственной версией СИ-прога
(заведен на COM порт материнки!). Возможно в алгоритмах оболочки нюансы... - попробуйте те "бракованные" на другом софте и железе прошить для эксперимента - хуже им уже не будет в любом случае.
Если не официальная поставка, а например с али или какого нибудь мелкого магазинчика(а там скорее всего с али), то велика вероятность что у вас просто брак. Поставьте на её место заведомо рабочую, если прошьётся нормально, сразу будет понятно.
_________________ Глупый не задает вопросы. Глупый и так все знает.
А я всё же ставлю на корявый hex, так как, судя по картинкам, имеет место сдвиг адресов godrik123, выкладывайте свой hex, будем смотреть. Или попробуйте прошить этот hex (проверено лично).
_________________ Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. Всегда с уважением, Александр.
Я только изучаю программирование и не очень хотел бы смущать здесь людей своим быдлокодом. Ну ладно. Кстати ваша прога залилась с такими же пятнами. Спойлер
ldi temp, RAMEND ; инииализация стека out SPL, temp
ldi temp, 0b11111111 ; потр В на выход out ddrb, temp
ldi temp, (1<<COM0A1)|(0<<COM0A0)|(1<<wgm00)|(1<<wgm01) ; режим быстрого ШИМ out TCCR0A, temp ldi temp, (1<<cs00) ; счетчик без предделителя out tccr0b, temp
ldi temp1, 0 ; начальное значение ШИМ out OCR0A, temp1
main: cpi temp1, 255 ; сравниваем значение ШИМ с максимальным breq endprog ; если да, то заканчиваем увеличение ШИМ inc temp1 ; иначе увеличиваем значение ШИМ на 1 out OCR0A, temp1 rcall delay ; задержка rjmp main ; замыкаем цикл
endprog: ; конец программы ldi temp, 0 ; выключаем ШИМ out TCCR0A, temp out tccr0b, temp ldi temp, 0b0001 ; устанавливаем на выходе ШИМ постоянную 1 out portb, temp rjmp endprog
delay: ; задержка 18ms ldi r19, 197 ldi r20, 234 loop: dec r19 brne loop dec r20 brne loop ret
Добавлено after 8 minutes 49 seconds: Извините, перезалил hex, там порт не тот выставлен был.
Чтож, тогда моя ставка не сыграла. В таком случае, если есть возможность, заполните буфер прошивальщика "00", прошейте МК, и считайте. Проверьте на нескольких МК, и если результат повторяется, то скорее всего имеются проблемы с алгоритмом программирования конкретного МК.
_________________ Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. Всегда с уважением, Александр.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения