Нужно подобие ОС для Ардуины

Тема в разделе "Микроконтроллеры AVR", создана пользователем Ariadna-on-Line, 9 ноя 2019.

  1. DetSimen

    DetSimen Guest

    ТС хочет бутлодера изнасиловать.
     
  2. asam

    asam Гик

    Так предлагали ужо.
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Спасибо всем. Еще раз убедился, - невнятно поставленный вопрос (в данном случае - мною) - порождает ......излишнее . Действительно без "вшивки" в флешь-память не обойтись. Тогда вопрос сужается конкретно. Нужен бутлоадер с ДВУМЯ этапами загрузки после ресета -
    1этап. Ждет пару секунд команд по сериалу (как и сейчас). Если есть - а) загрузка с компа, если нет - б) переход на 2 этап.
    2этап. Проверяет наличие внешнего ПЗУ с прогами. Если есть - a) стартует процесс выбора и загрузки (надо обсуждать конкретно), если нет - б) запускает уже вгруженную программу (как и сейчас). Вроде бы так. Поэтому интерес к бутлоадерам. Смотреть что там есть.

    ПС. При крайне скудной памяти проца - ставить интерпретатор .......... курам на смех.
    ППС. Это было бы недорогое дальнейшее развитие ардуин. Если идея стоящая - возьмите в долю - буду схемотехником. >)))
     
    Последнее редактирование: 15 ноя 2019
  4. timon

    timon Гик

    Напаяльте рядом какую нибудь SPI корчу восьминогую, килобайт на 64-128. Хватит ногами подрыгать на все случаи жизни. Все равно большинство датчиков опрашиваются с частотой до 20кгц, вот вам 800 тактов на инструкцию (включая выборку) ))
    Сама выборка - 3 байта адреса, байт данных, т.е. 4 байта, 32 такта * на /4 скорость SPI, ну образно 128 тактов. На интерпретацию 500-600 тактов. так то норм с виду. Зря боитесь ) Плюс если что закешировать в памяти МК 256-512-1024 байт всегда можно.
     
  5. Ariadna-on-Line

    Ariadna-on-Line Гуру

    ));>(()
     
    Последнее редактирование: 12 ноя 2019
  6. parovoZZ

    parovoZZ Гуру

    реально это влезет во флеш секции бута?
     
  7. DetSimen

    DetSimen Guest

    если на асме писать, то влезет со свистом.
     
  8. parovoZZ

    parovoZZ Гуру

    поддержку FAT32?
     
  9. timon

    timon Гик

    эт как писать... как писать...
    спорим - я так напишу, что во всю флешку не влезет? )))
     
  10. timon

    timon Гик

    А шо такова? Есть даташит, бери, пиши, не ленись )))
    А серьезно если - только SPI флешь, только хардкор, и файловая система какая нибудь одноклеточная типа TR-DOS. Вот тогда и асм и небольшой объем.
     
  11. parovoZZ

    parovoZZ Гуру

    а винда разберет? А то ведь и под винды придется драйвер чиркануть.
     
  12. timon

    timon Гик

    Можно не нужно ) По идее, если пораскинуть мыслей - тот же putty умеет в себя из буфера обмена по правой клавише.
    Т.е. соединили мега девайс с любым компом через usb2uart свисточек, подключились к "буту на асме" через терминал, набрали в командной строке "upload megasoft.hex", указав имя, затем написали "press right mouse button", бут засосал из буфера обмена hex-ик
    2019-11-12_16-33-57.png
    и через терминал все это дело вшил в SPI-флешку. Вроде норм? Винда тут не участвовала совсем )) А при "запуске" megasoft.hex уже прошивается флешка MK.
     
    Последнее редактирование: 12 ноя 2019
  13. SergeiL

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

    Даже после более подробного разъяснения, все равно не могу понять для чего это нужно?
    Чем не устраивает имеющийся вариант?
     
  14. parovoZZ

    parovoZZ Гуру

    причем здесь бут на асме, если хотят hex на флешке?
     
  15. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Неееа. Утверждения именно про "hex" - не было. Читайте выше. Перед заливкой любой программатор перекодирует Хекс в Бин (машинный код) . Хекс - это для НАШЕГО удобства. Утилита hex2bin.exe (и bin2hex.exe) в пример. В виде бин-массивов файлы можно и хранить (они занимают втрое меньше места), и грузить.
    ПС.Еще раз повторяю - почему бы не сделать, если это требует аппаратного очень-очень мало. А удобство - не нужен комп. Тридцать секунд - "и брюки превращаются в элегантные шорты". Первые ПК запускались так (с дискеты).
    ППС. Невозможно без поллитра понять исходник бута в мешанине "предпроцессинговых директив" (вроде так это называется). Где бы найти "чистый" код исходника для 328Р.
     
    Последнее редактирование: 12 ноя 2019
  16. SergeiL

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

    Сделать прекомпиляцию - останется чистый код.
     
  17. parovoZZ

    parovoZZ Гуру

    Открой в адекватном редакторе кода. Он неиспользуемый код затенит.
     
  18. asam

    asam Гик

    Поддержка SD карт и, в особенности, FAT32 требует существенных рессурсов флеша и ОЗУ которых и так кот наплакал. Если встроить все это в бутлоадер, то совсем мало место останется для программ. И вообще это не массовый случай. Обычно комп нужене для отладки, а потом ардуино встраивается в готовое изделие и перешивать ее особо не требуется.
    Для тех же редких случаев когда, все же, надо, а ноутбук таскать лень можно сделать автономный прошивальшик на какой нибудь STM32
     
  19. b707

    b707 Гуру

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

    Ariadna-on-Line Гуру

    Нашел бутлоадер для Уно. Грузит с SD. Но зато не грузит по Сериалу. Автор признался, что не может пока совместить оба по какой-то причине. Не из-за размера.
    Кто знает, какие байты гонит ИДЕ 1.8.5 в ардуину, чтоб бутлоадер включился на сериал ?