Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы по загрузчику
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 17:15:43

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 27 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Вопросы по загрузчику
СообщениеДобавлено: Ср дек 07, 2022 14:39:01 
Родился

Зарегистрирован: Ср дек 07, 2022 14:26:28
Сообщений: 8
Рейтинг сообщения: 0
Добрый день.

Ознакомился с документацией на Atmega 328, но остались вопросы:
1) Загружается ли код загрузчика при каждой прошивке МК? То есть, добавляется ли код загрузчика к коду проекта на этапе компиляции, линковки или как-то иначе?
2) Может ли код загрузчика при исполнении на МК изменить слова конфигурации (фьюзы, локи и т.п.)? Или это можно сделать только внешним прошиванием?

С уважением, буду рад разъяснению. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Ср дек 07, 2022 19:28:38 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 941
Рейтинг сообщения: 0
1) Нет. Инструменты - записать загрузчик.
2) Нет. Программатором.
Фьюзы нет, но частоту тактирования F_CPU может. Даже не загрузчиком.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Ср дек 07, 2022 21:40:12 
Родился

Зарегистрирован: Ср дек 07, 2022 14:26:28
Сообщений: 8
Рейтинг сообщения: 0
Спасибо. :)

То есть, испортить загрузчик не так-то просто? У меня есть опасения касающиеся возможной порчи загрузчика при использовании Arduino без IDE. Но очень хочется освоить. :)

Я ещё поинтересуюсь: что такое RWW (Read-While-Write) и NRWW (No Read-While-Write) секции? Загрузчик, получается, всегда в NRWW секции?

F_CPU? Скорость ядра вроде бы выбирается в Low Fuse Byte - CKSEL?

Ещё интересует происходящее с таблицей векторов прерываний при исполнении кода загрузчика и кода приложения? У загрузчика свой IVT?

Может быть подскажете как правильно прошить МК через avr-dude и не запортить загрузчик?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 08:09:22 
Грызет канифоль

Зарегистрирован: Пн окт 26, 2020 08:37:51
Сообщений: 284
Откуда: г.Волгоград
Рейтинг сообщения: 0
То есть, испортить загрузчик не так-то просто? У меня есть опасения касающиеся возможной порчи загрузчика при использовании Arduino без IDE. Но очень хочется освоить. :)

Если очень хочется, то нет преград! AVRStudio c внешним инструментом так и работает - есть в инете как настроить.
Сам с 2019 года перешел просто на командную строку в Far (https://farmanager.com/). Там встроенный редактор (F4) с подсветкой для асм.
Не одна Arduino не отказала во время многочисленных циклов перезаливки через её собственный загрузчик.
Программирую на асм. Папку старой версии проекта со всем утилитами для использования Arduino прилагаю. C.bat - компиляция проекта. W_COM4.bat - прошивка Arduino, подключенной по USB через COM4.
Ещё интересует происходящее с таблицей векторов прерываний при исполнении кода загрузчика и кода приложения? У загрузчика свой IVT?
Может быть подскажете как правильно прошить МК через avr-dude и не запортить загрузчик?

Вот так вектора прерываний забрать у загрузчика -
Код:
....
.def   A      = r16            
.def   B      = r17            
....
   in   A,MCUCR         
   mov   B,A
   sbr   A,1<<IVCE            ;Выполнения протокола переноса векторов прерываний в начало памяти  IVCE=1
   out   MCUCR,A
   cbr   B,1<<IVSEL            ;IVSEL=0
   out   MCUCR,B

Таблицу векторов естественно следует поместить куда надо - поглядите в core.inc

Вы правы, тактирование микропроцессора выбирается фьюзами, НО её можно еще уменьшить, программно включив делитель.


Вложения:
командная строка.zip [886.41 KiB]
Скачиваний: 52

_________________
ФУОЗ на платформе Ардуино: viewtopic.php?p=4366626#p4366626
ВК - "ФУОЗ на микроконтроллере Atmega328P (МПСЗ)"
Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 09:24:38 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 941
Рейтинг сообщения: 0
Спасибо. :)
Может быть подскажете как правильно прошить МК через avr-dude и не запортить загрузчик?

С помощью загрузчика. Как загрузить - зависит от самого загрузчика, его протокола.
Очень много вопросов... Читать ДШ, хотя бы.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 09:31:52 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Arduino компилировать в temp папку "с загрузчиком". Но bootloader-часть защищена от перезаписи (и доступа программ).
Напр. в UNO: Lock bits: 0xCF -> [BLB12 BLB11] = [00] -> SPM is not allowed to write to the Boot Loader section, and LPM executing from the Application section is not allowed to read from the Boot Loader section. (SPM не разрешено записывать в раздел загрузчика, а LPM, выполняющемуся из раздела Application, не разрешено читать из раздела загрузчика.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 10:38:42 
Родился

Зарегистрирован: Ср дек 07, 2022 14:26:28
Сообщений: 8
Рейтинг сообщения: 0
Большое спасибо!!! :) ДШ потихоньку осваиваю...

Правильно ли я понимаю: при покупке нового МК он полностью чистый, без загрузчика?
Или в нём уже прошит "заводской" вариант?

Как загрузчик Arduino понимает что нужно делать: "записать код" или "исполнять код"?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 10:50:41 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 941
Рейтинг сообщения: 0
Правильно ли я понимаю: при покупке нового МК он полностью чистый, без загрузчика?
Или в нём уже прошит "заводской" вариант?

Как загрузчик Arduino понимает что нужно делать: "записать код" или "исполнять код"?

Я поначалу не заметил, что тема в разделе Ардуино. Вы же спрашиваете про AVR, без конкретики. В самом новом МК загрузчика нет - есть на плате Ардуино. Загрузчик записывает код, а затем уже передаёт ему исполнение с 0-го адреса. Если, же команд от Ардуино IDE нет на загрузку, то просто запускает код с 0-го адреса.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 12:10:29 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
... Kак загрузчик Arduino понимает что нужно делать: "записать код" или "исполнять код"?

Один из вариантов:
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 14:11:31 
Грызет канифоль

Зарегистрирован: Пн окт 26, 2020 08:37:51
Сообщений: 284
Откуда: г.Волгоград
Рейтинг сообщения: 0

Кстати, сейчас у Optiboot фишка прикольная (не знаю на сколько новая). После рестарта она проверяет его причину. Если причина включение питания, то сразу переход на прошивку минуя стадию ожидания новой прошивки. Немного удобнее стало с устройствами на основе Arduino.

_________________
ФУОЗ на платформе Ардуино: viewtopic.php?p=4366626#p4366626
ВК - "ФУОЗ на микроконтроллере Atmega328P (МПСЗ)"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 14:24:18 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Бы предпочёл без бутлоадера (если устройство с МК для дома напр.) - не имеет значения загружать код программы через программатор или через usb/ttl конвертер. Но ради универсальности будем использовать некоторые ресурсы и для загрузчика. А в некоторых МК и их системах уствойство видно напр. в Win как внешний диск, хороший вариант для обновления напр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 14:39:58 
Родился

Зарегистрирован: Ср дек 07, 2022 14:26:28
Сообщений: 8
Рейтинг сообщения: 0
Потихоньку проясняется. ))

Я посмотрел схему платы и понял так: Atmega16U - это не программатор, а просто мост USB->COM(TTL). Линия DTR используется для сброса МК со стороны ПК. После сброса загрузчик ждёт команды, если их нет, то стартует наше приложение.

Кстати, получается загрузить загрузчик на основной МК - Atmega328 напрямую не получится, а использовать плату Arduino в качестве программатора - это возможно. М-м, как-то сложно.

А какие программаторы Вы предпочитаете для AVR? Я слышал что AVR сейчас только лишь торговая марка Microchip. Получается, "родным" программатором будет PIC KIT?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 15:02:45 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 941
Рейтинг сообщения: 0
Бы предпочёл без бутлоадера (если устройство с МК для дома напр.) - не имеет значения загружать код программы через программатор или через usb/ttl конвертер.

Конечно, через загрузчик удобнее, если Ардуино с USB - никаких программаторов, никаких кабелей.) И даже, если сидишь не в Ардуино среде, ничто не мешает грузить через Ардуино загрузчик.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 15:09:38 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
ОФФ: На столе/или в ящике рядом со столом/ лежат все наверное необходимые устройства для записи, обслуживания (и возможной реанимации) всех исп. МК :). Но для конкретного пользователя - конечно, должно быть проще: с буутлоудер
---
... А какие программаторы ...

Напр.
- USBasp - самодельной и китайской
- Arduino as IP - к большинству доступных AVR есть вариант
- PICkit2 - для AVR есть метод
- AVR-доктор /или на Atmega8, или в последнее время собираю при необходимости с Arduino - прямо на бредборде/

При написании и настройке кода и демонстрационного устройства я стараюсь не отсоединять пины для программирования. С осторожностью не использовать выводы для другого. Но в большинстве тут без вариантов - либо резисторы, чтоб не мешали, либо с отключением для программирование или тест.. Получается а-ля "Ардуино" на бредборде или макетной плате.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 15:24:17 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 941
Рейтинг сообщения: 0
получается загрузить загрузчик на основной МК - Atmega328 напрямую не получится

Как понять? Пины ICSP выведены на разъём, во многих платах даже на отдельный разъём...
Программатор любой, тысячи их.) Преобразователь на FT232RL удобен - 2 в 1-м.

Добавлено after 4 minutes 24 seconds:
С осторожностью не использовать выводы для другого. Но в большинстве тут без вариантов - либо резисторы, чтоб не мешали, либо с отключением для программирование или тест..
Так нормальные программаторы переводят в третье состояние свои пины. Это совсем не сложно.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 15:28:55 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Да, ну не тот случай - но частотомер (на PIC) бил на timer1 по внешнем кварце, но должно было быть без cap-нагрузок, а клеммы там программные ...
Вариантов много, и единого решения нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 15:32:50 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Для записи как самой прожки, так и загрузчика и комплекта фузов может использоваться "лишняя" нанка переделанная в ардуионISP программатор. Только нужно соответствующие вкладки IDE для тех операций выбирать.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 16:07:43 
Родился

Зарегистрирован: Ср дек 07, 2022 14:26:28
Сообщений: 8
Рейтинг сообщения: 0
BOB51 писал(а):
Для записи как самой прожки, так и загрузчика и комплекта фузов может использоваться "лишняя" нанка переделанная в ардуионISP программатор. Только нужно соответствующие вкладки IDE для тех операций выбирать.
8)

Вот это уже интереснее. :) Наверняка такое решение уже где-то есть: записать в Arduino приложение-программатор, которое превратит Arduino в AVR-программатор. Тогда, наверное, можно будет прошивать не только 328-й МК?

Мне ещё интересно, avrasm2 - это из комплекта AVR Studio? Почему предпочитают этот транслятор, а не avr-gcc?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 16:29:23 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
В самой ардуино IDE имеется соответствующее программное обеспечение для данного программатора.
Но оно завязано на IDE, для "автономного" применения не годиться.
Из "сторонних" достаточно много и программ-оболочек и самих схем программаторов под них.
Среда разработки AVR studio имеет два компилятора -
Для проектов под "читсым ассемблером" - avrasm2
и для работы под Си (GCC), в составе которого и имеется как дополнение avr-gcc.
Собственно его используют "продвинутые пользователи" самого GCC.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по загрузчику
СообщениеДобавлено: Чт дек 08, 2022 17:26:14 
Сверлит текстолит когтями

Карма: 20
Рейтинг сообщений: 296
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1219
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
1. Arduino Nano/UNO -> Arduino IDE -> Примеры -> ArduinoISP
2. AVRDUDESS - A GUI for AVRDUDE: https://blog.zakkemble.net/avrdudess-a- ... nt-page-5/
(для winXP -> 2.13!, дял других: v2.14)

Копия екрана: для моего друга для ATtiny13A, но для всех AVR то же самое.
(При необходимости отрегулируйте скорость).

И Arduino UNO/Nano становится программатором для AVR - читает и пишет из flash, eeprom и фюзы.


Вложения:
Untitled-2.jpg [238.13 KiB]
Скачиваний: 47


Последний раз редактировалось veso74 Чт дек 08, 2022 17:30:05, всего редактировалось 2 раз(а).
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y