Помогите зашить bootloader в atmega128 через arduino uno r3

Тема в разделе "Arduino & Shields", создана пользователем Ariadna-on-Line, 8 фев 2022.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Сразу говорю - программаторов НЕТ. Есть конверторы USB-TTL со всеми линиями СОМ порта. Есть Ардуины УНО. НЕТ - опыта с чего начать. Главное - нет самого хекс-файла.
    Хочу сделать свою Ардуину с внешней ОЗУ. Спаял железо. Кварц на 20 МГц. Если что - могу заменить на 16. Осталось запрограммить.
    Заранее спасибо.
     
    Последнее редактирование: 8 фев 2022
  2. User248

    User248 Гик

    В меню Arduino IDE есть пункт Скетч -> Экспорт бинарного файла. Получается два варианта бинарника - с загрузчиком и без. Нужно зашить тот, что с загрузчиком.
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Чтоб получить два варианта бинарника надо что-то сначала открыть и скомпилировать. А без этого - пункт меню не работает никак.
     
  4. b707

    b707 Гуру

    ну и вопросы у вас. Откройте что угодно, да хоть пустой скетч... но лучше написать простейший блинк системным свеодиодом, чтобы сразу было видно, что плата прошилась
     
  5. a1000

    a1000 Гуру

    Ну а бинарник чем заливать будете?

    Да и загрузчик на 128 мегу где возьмёте?
     
  6. a1000

    a1000 Гуру

  7. SergeiL

    SergeiL Оракул Модератор

    Да я тоже не понял в чем вопрос.
    Даже писать не нужно, есть же в примерах.
    А программатор - забить в гугле "arduino as isp".
    ВСЕ :)
     
    DetSimen нравится это.
  8. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Господа, что не понятного. Русским языком написано - нужно вписать загрузчик. Программатора нет.
    Я видел. Да загрузчик там есть, но он как-то подозрительно написал - слегка исправленный, и видимо под 8МГц.
    Он пользует программатор USBasp.
    Первая же мысль была - про Arduino as ISP. В ступор ввело вот это -
    Что это за хрень Arduino as ISP (Mega Core) ?
    Но завтра попробую Ардуину как проггер.
     

    Вложения:

    Последнее редактирование: 8 фев 2022
  9. a1000

    a1000 Гуру

    Ну это самая меньшая из ваших проблем. Имеющаяся у вас Ардуино УНО с помощью примера ArduinoISP легко превращается в програматор. Вы для начала попробуйте интегрировать в Arduino IDE вашу мегу.
     
  10. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Как видите на картинке - платформа установлена. Компилирует под 128-ю вполне нормально. Проверяю Протеусом. Он конечно врет иногда, но не сильно часто.
     
    Последнее редактирование: 8 фев 2022
  11. a1000

    a1000 Гуру

    Тогда у вас и загрузчик уже есть. Далее дело техники. Вот пример для 8 меги. Сделаете по аналогии

     
    Ariadna-on-Line нравится это.
  12. a1000

    a1000 Гуру

    Ну а на будущее выпишите у китайцев usbasp. Стоит копейки, а иногда сильно выручает.
     
    Ariadna-on-Line нравится это.
  13. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Коль зашла беседа - повторю свой давнишний вопрос - как указать компилятору в Ардуино ИДЕ, чтобы он стек программы выносил во внешнюю память, в старшие адреса ? Чтобы младшие адреса составляли единое пространство.
     
  14. b707

    b707 Гуру

    распределением памяти заведует линкер, так что надо редактировать конфиг-скрипт линкера
    Правда не знаю, есть ли такое в Ардуино для АВР. Для СТМ32 есть,
    И это явно не уровень Ардуино ИДЕ - в том смысле, что в ИДЕ никаких средств для такой настройки нет, надо ручками конфиг файлы править
     
  15. a1000

    a1000 Гуру

    Сейчас пока ни чем не помогу. Сдох блок питания на компьютере. Сижу на старом. А он и так тормозит. Как блок питания сделают, спишемся. Попробую ещё раз разобраться.
     
  16. a1000

    a1000 Гуру

    Теоретически там всё просто. Надо вершину стека перенести в конец внешней памяти. У меня как-то не срослось. Не смог разобраться с адресацией.
     
  17. User248

    User248 Гик

    Можете схему показать?
     
  18. Ariadna-on-Line

    Ariadna-on-Line Гуру

    https://scienceprog.com/adding-external-memory-to-atmega128.
    https://www.rlocman.ru/shem/schematics.html?di=71093
    Пока собираю плату процессора. Запустив его - буду макетировать схему.
    В приложенной схеме (симулятор Протеус) введены элементы задержки из пар инверторов. Без них Протеус показывает неправильную работу. В принципе - правильно показывает. В даташите на Атмегу где-то указано, что задержки он выдает недостаточные для большого числа микр памяти. Слишком доверять схемам из интернета не следует - там часто тупой плагиат с ошибками. Короче - макетирование покажет правду-схему.
     

    Вложения:

    • 128.png
      128.png
      Размер файла:
      134,2 КБ
      Просмотров:
      90
    • ExtSRAM.jpg
      ExtSRAM.jpg
      Размер файла:
      209,8 КБ
      Просмотров:
      93
    Последнее редактирование: 9 фев 2022
    User248 нравится это.
  19. b707

    b707 Гуру

    по поводу схемы - не совсем понятно, нафига там там всунут регистр, чтобы с экономить 6 ног МК? - вроде бы их и так достаточно. А скорость доступа из-за этого падает очень существенно
    Вот уж действительно один у другого списывают. даже не думая
     
  20. Ariadna-on-Line

    Ariadna-on-Line Гуру

    1. Вообще-то 8, а не 6.
    2. Никто ни у кого не списывает. Так задумано производителем процессора.
    3. Потратить 26 ног на адресацию, шину данных и управление чтением-записью- из 58 доступных - сочли расточительным.
    Где находятся эти конфиг-файлы ??? Поправить ручками не поленюсь.
     
    Последнее редактирование: 10 фев 2022