-
- Есть такая хреновина - ардуина. Для нее имеется и загрузчик по протоколу STK500, и "черно-белый" avrdude, и гуЯ, и даже онлайн генератор HEX под произвольный кварц (по ссылке). Ну и все исходники, разумеется. Раньше внимания не обращал, потому как Гудвин(293 знак., 03.03.2017 19:16 - 19:45, ссылка)
- Ну зачем стрим? Простейшее приложение нельзя написать? Пусть уходит HEX-файл построчно, с подтверждением. - vllv(03.03.2017 10:49)
- Некоторое время назад писал как раз такое приложение для писюка, чтобы бутлодырю данные скармливала. Писал на питоне. Вылез интересный момент. Каждое обращение к последовательному порту занимает много времени, хоть байт посылаешь, хоть килобайт. mr-x(191 знак., 03.03.2017 17:10)
- А лучше 1 большим куском. Я давным-давно слепил себе на вижуалбасике программку-прошивкоделку. Она берёт бинарный файл, приделывает к нему вначале строку из 64 нулей (для того чтобы AVR настроил свой UART автоматически на скорость), потом пишет vpv.vpv(317 знак., 06.03.2017 09:09)
- Одним куском в ОЗУ не влезет. И потребителю надо не терминал, а exe-шник, чтобы оный запустил и всё. У мну программка ещё порт сама определяет. - mr-x(06.03.2017 10:19)
- В ОЗУ целиком не влезет. Да оно и не нужно. В ОЗУ должна помещатся 1 страница, для всего остального существуют волшебные буквы RTS/CTS. Практика показывает, что пока заполняется 1 страница в ОЗУ через UART на 115 кБод, вторая за это время успевает vpv.vpv(20 знак., 06.03.2017 11:45)
- Не-не, экзешник низзя, его никакая электронная почта не пропустит. Поцребителю нужен веб-интерфейс. Можно с рюшечками и жабаскриптом. - SciFi(06.03.2017 10:23)
- Нафиг. Я уже не молод и слишком зануден для этого дерьма. А exe-шник на сайте можно выложить. - mr-x(06.03.2017 10:29)
- Самый простой вариант - набрать в письме текстовый bat-файл для командной строки ("MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]....." а дальше копировать файл в порт. :-)))) - vpv.vpv(06.03.2017 11:55)
- Я тоже, но рядом есть товарищи, которые понимают, что нужно поцребителю. Иначе обойдут на повороте. "... но уже другой - кто-то молодой, кто-то пьяный Хочет стать рекою, быть темною водой - вечно молодой - вечно пьяный" - SciFi(06.03.2017 10:34)
- Нафиг. Я уже не молод и слишком зануден для этого дерьма. А exe-шник на сайте можно выложить. - mr-x(06.03.2017 10:29)
- Одним куском в ОЗУ не влезет. И потребителю надо не терминал, а exe-шник, чтобы оный запустил и всё. У мну программка ещё порт сама определяет. - mr-x(06.03.2017 10:19)
- А лучше 1 большим куском. Я давным-давно слепил себе на вижуалбасике программку-прошивкоделку. Она берёт бинарный файл, приделывает к нему вначале строку из 64 нулей (для того чтобы AVR настроил свой UART автоматически на скорость), потом пишет vpv.vpv(317 знак., 06.03.2017 09:09)
- Очевидно же: изобретать два велосипеда или один. Хотя согласен, Кулибин не устоял бы и изобрёл три велосипеда :-) - SciFi(03.03.2017 11:31)
- Не все сводится к числу велосипедов. Я когда-то взял готовый X-модем, он в конце концов поехал, но я проклял все - чужой велосипед больно бьет по яйцам. - vllv(03.03.2017 12:37)
- Надо запомнить эту фразу. Очень она хорошо отражает ситуацию, когда что-то простое, как кирпич, легче и быстрее слепить под свою дырку в стенке, чем выбирать подходящего размера готовый, да ещё и обтёсывать по мелочи. - Николай Коровин(03.03.2017 12:53)
- Нунезнаю. Мне хэ-модем делать не доводилось, но от того, что пишет педивикия, осталось впечатление, что этот велосипед проще сваять самому :-) - SciFi(03.03.2017 12:47)
- Не все сводится к числу велосипедов. Я когда-то взял готовый X-модем, он в конце концов поехал, но я проклял все - чужой велосипед больно бьет по яйцам. - vllv(03.03.2017 12:37)
- Некоторое время назад писал как раз такое приложение для писюка, чтобы бутлодырю данные скармливала. Писал на питоне. Вылез интересный момент. Каждое обращение к последовательному порту занимает много времени, хоть байт посылаешь, хоть килобайт. mr-x(191 знак., 03.03.2017 17:10)
- Местами не соглашусь... Apтём(1333 знак., 02.03.2017 18:48)
- Нужен протокол с контролем скорости потока. Например, X-modem подходит... - fk0(02.03.2017 12:06)
- Одно неосторожное движение - и
вы отецдевайс станет кирпичом. Надо прицепить сбоку SPI флеш. Тогда процесс прошивки будет устойчив к сбоям. - SciFi(02.03.2017 10:10)- Кирпич можно сделать только программатором, первоначально прошивая загрузчик и фузы. А сбой (пропадание питания, например) при самопрограммировании - получаем обратно камень с загрузчиком. У меня когда-то бутлодырь так и ругался, двумя разными vpv.vpv(152 знак., 02.03.2017 10:45)
- Ниче подобного.Загрузчик обязан жить в первом блоке и никогда не изменяться.У правильных пацанов. - PlainUser(02.03.2017 10:12)
- а у неправильных он живет в последнем блоке и называется не бутлодер, а обновлялщик и вызывается из основной программы когда нужно обновиться. И живет он в одном проекте с основной прогой и билдится в один хех. Да, и он тоже устойчив к сбоям и abivan(70 знак., 02.03.2017 10:41)
- И как обновляльщик обновит то место программы, откуда запускается обновляльщик? Как не обновит, кто вызовет обновляльщика?! - maik-vs(02.03.2017 12:30)
- Обновляльщик прошивается аппаратным внешним программатором. В специальную верхнюю область памяти, которая огораживается соответствующими лок-битами от любых посягательств со стороны любых внутренних программ. Все, он нестираем и неперепрошиваем, vpv.vpv(599 знак., 02.03.2017 14:02)
- обновляльщик, как и бутлодер необновляем. при вызове ф-и Updater() первое, что делается это записывается call(goto) на Updater() в 4-й адрес(его компилятор оставляет 0xff) и забивается нулями(nop) первые 4 адреса. Теперь у нас обновляльщик abivan(27 знак., 02.03.2017 12:55)
- У меня это был отдельный проект. Который прошивался с адреса 0х1Е000 (Мега128). После прошивки он сразу ругался "камень пустой". а другие разнообразные проекты компилились как обычно, с адреса 0х0000, и становились прошивками. - vpv.vpv(02.03.2017 10:50)
- И как обновляльщик обновит то место программы, откуда запускается обновляльщик? Как не обновит, кто вызовет обновляльщика?! - maik-vs(02.03.2017 12:30)
- Да, я неверно выразился. Не совсем кирпич, а кирпич с загрузчиком. Кому-то это подойдёт, кому-то - нет. Я предпочитаю вот такую схему --> - SciFi(02.03.2017 10:32, ссылка)
- а у неправильных он живет в последнем блоке и называется не бутлодер, а обновлялщик и вызывается из основной программы когда нужно обновиться. И живет он в одном проекте с основной прогой и билдится в один хех. Да, и он тоже устойчив к сбоям и abivan(70 знак., 02.03.2017 10:41)
- 1. Стрим с UART'а загоняется в большой кольцевой буфер (сколько там RAM есть у камня) по прерываниям от приемника. Поток останавливается/пускается по сигналам RTS/CTS, для этого у тех же МАХ232 есть 2 приемника и 2 передатчика TTL <-> RS232. Нужен vpv.vpv(4463 знак., 02.03.2017 10:07)
- Так проводов в два раза больше. А X-modem можно прямо из гипертерминала прошивать. - fk0(02.03.2017 12:07)
- Х-модем и подобные ему кодово-непрозрачные. Потому всякие "Xon - Xoff" на этапе придумки булоадера были сразу отброшены. Только хардкор, скорость 115200 бод, RTS/CTS. И CRC-32 в конце. Кстати, Мега128А при этом шьется за секунды, со скоростью vpv.vpv(26 знак., 02.03.2017 12:22)
- Не неси ереси, в X-modem как раз все прозрачно. - Fk01(02.03.2017 13:51, )
- Прозрачно так прозрачно. При виде всех этих SOH, EOT, ETX я сразу вспоминаю 7-ми битный протокол фирмы HEIDENHAIN для своих систем ЧПУ. Для загрузки и выполнения на станке покадровой ASCII-символьной программы (текстовой) - покадровый обмен vpv.vpv(93 знак., 02.03.2017 14:13)
- Мсье изволит эстетствовать. - SciFi(02.03.2017 14:18)
- Прозрачно так прозрачно. При виде всех этих SOH, EOT, ETX я сразу вспоминаю 7-ми битный протокол фирмы HEIDENHAIN для своих систем ЧПУ. Для загрузки и выполнения на станке покадровой ASCII-символьной программы (текстовой) - покадровый обмен vpv.vpv(93 знак., 02.03.2017 14:13)
- Не неси ереси, в X-modem как раз все прозрачно. - Fk01(02.03.2017 13:51, )
- Хотя бы я рекомендовал kermit. - fk0(02.03.2017 12:07)
- Х-модем и подобные ему кодово-непрозрачные. Потому всякие "Xon - Xoff" на этапе придумки булоадера были сразу отброшены. Только хардкор, скорость 115200 бод, RTS/CTS. И CRC-32 в конце. Кстати, Мега128А при этом шьется за секунды, со скоростью vpv.vpv(26 знак., 02.03.2017 12:22)
- Так проводов в два раза больше. А X-modem можно прямо из гипертерминала прошивать. - fk0(02.03.2017 12:07)
- Вроде бы правильно вы говорите, но все же загляните сюда: Ксения(268 знак., 02.03.2017 05:21)
- спс, полезные ссылки. Хоть я занимаюсь исключительно ассемблероковырянием но, тем не менее аппнота (да и си-код) в принципе полезны и интересны. сейчас ещё вспомнил Adept(1069 знак., 02.03.2017 05:54 - 06:06)
- Тогда вот хороший немецкий бутлодырь для меги. Для Хмеги придётся допилить, если да, поделишься. бомж(02.03.2017 22:01)
- Вау! Круто (правда придётся разбираться) Не уверен, что допилю его под XMEGу (уж больно наворочено всё), но крайне интересная хреновина, да с исходниками Adept(53 знак., 03.03.2017 00:18)
- Пользовался им в паре проектов на мега32. Работает исключительно чётко, замечена только одна проблема, - несмотря на залоченность прошивки, еепром прочитать было можно. - бомж(03.03.2017 01:01)
- Могу своy вариант прислат. - Apтём(03.03.2017 00:37)
- И мои 5 копеек (с протоколом AVR109/910). - Точка опоры(03.03.2017 11:27, ссылка)
- В любом случае интересно посмотреть, как оно там у Вас сделано (особенно учитывая, что я бутлоадеры не писал никогда) вероятно Adept(190 знак., 03.03.2017 01:07)
- Выкладываю свой вариант загрузчика для atxmega1923AU. Apтём(05.03.2017 23:39)
- Завтра-послезавтра выложу - сегодня поздно уже, могу по ошибке скинуть что-то совсем не то (к тому же вам вроде не к спеху). Да ещё комп новый сейчас настраиваю - нерезбериха страшная. Apтём(347 знак., 03.03.2017 01:49)
- Вау! Круто (правда придётся разбираться) Не уверен, что допилю его под XMEGу (уж больно наворочено всё), но крайне интересная хреновина, да с исходниками Adept(53 знак., 03.03.2017 00:18)
- X-modem? Завтра выложу, когда время будет... Kermit? Возьми с сайта... Тебе ещё нужны две вещи: fk0(559 знак., 02.03.2017 12:17)
- Тогда вот хороший немецкий бутлодырь для меги. Для Хмеги придётся допилить, если да, поделишься. бомж(02.03.2017 22:01)
- спс, полезные ссылки. Хоть я занимаюсь исключительно ассемблероковырянием но, тем не менее аппнота (да и си-код) в принципе полезны и интересны. сейчас ещё вспомнил Adept(1069 знак., 02.03.2017 05:54 - 06:06)