Прогу то напишем ! Ето на проблема , вот прямо для атмеги128 ! Там же что нужно ? Только вывести байт на все биты, ( ну до этого подать 12 вольт на Впп) , команду из четырёх бит , дёрнуть ногй чё бы записать в память код, ну и дёрнуть ногой что бы инкриментировать адрес . А далее в цикле ....
_________________ Не спрашивай по ком звонит колокол, он звонит по тебе !
Только вот сначала надо решить вопрос с самим дампом кода, который в компе на диске в виде *.hex или *.bin файла хранится. Да и у 128й меги внешняя память данных имеется. Воть и соорудите устройство принимающее из компа данные в виде *.hex файла с последующим их размещением в ОЗУ, а затем те данные прошивающее в целевой МК. Всего-то делов.... Правда будет одно отличие от котуинки - при различных вариантах конфигурации внешних "жгучих модулей" и, соответственно, обслуживающего ПО меги ее придется каждый раз перепрошивать. А у котуинки всего лишь перезагрузка ОЗУ выполняется - разница в ресурсе количества записей все же имеет место.
Делов то вообще нет ! Изменить расширение файла на еепром-овского . А потом его залить в епром атмеги 128 !!! Шта ???
Добавлено after 4 minutes 57 seconds: ОЗУ не нужно ! Мы прошиваем еепром , файлом hex , и потом с помощью нехитрой программы прошиваем нужный кристал !
Добавлено after 2 minutes 36 seconds: И вот кстати есть монтажка атмега128 !
Добавлено after 17 minutes 9 seconds: Устройство то ещё не готово . Но есть концепция, и жду противопоказаний !
вроде бы валялись где-то AT89S4051 - то же самое, что и у ТС, но с SPI-программированием и 4К флеша. если ТС нужно - могу посмотреть, если еще не потерял - выслать.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Делов то вообще нет ! Изменить расширение файла на еепром-овского . А потом его залить в епром атмеги 128 !!! Шта ???... Устройство то ещё не готово . Но есть концепция, и жду противопоказаний !
В принципе... ежли мегу на такое дело не жалко... Устройство будет сделано под конкретное изделие. Я предпочитаю больше вариантов для единой базовой платформы получать. Это уж кому чего удобнее. Загрузка дампа в ЕЕПРОМКУ - это таки садомазохизм (при наличии возможности внешнее ОЗУ использовать). Относительно утилитки - в случае с ассемблером mcs51 особой надобности в ней нету - компилятор и так может сгенерировать как *.hex так и *.bin (*.tsk) файлы.
При компиляции задаем соответствующую опцию и получаем бинарный дамп. Вопрос загрузки бинарного варианта - это проблема пользователя (ему и так и так самому сие делать придется) или программатора (ежли тот знает соответствующий формат). К примеру в этом проекте и исходник и оба скомпилрованных с помощью c51asm варианта fb.hex и fb.bin
Как их получить - смотрим документацию на компилятор (то же возможно и с Х8051 от AD2500). В принципе в *.bat файлике уже обычно заложено применение обеих вариантов... Это пример для компилятора c51asm.exe от атмеля: Спойлер
Код:
@echo off echo. echo +----------+ echo ѓ Assemler for ATMEL 8051 chip programs ѓ echo +----------+ echo.
if -%1 == - goto error if -%2 == - goto error if %2 == h goto hex if %2 == H goto hex if %2 == x goto tsk if %2 == X goto tsk goto error
:Hex c51asm %1.asm -l goto quit
:Tsk c51asm %1.asm -fB -l goto quit
:Error Echo USE command line like echo. echo [at] [user] [option] echo. echo where [user] - name of your asm program without .asm ! echo [option] - one of options : echo [ h ] for .hex file used in debug echo [ x ] for .bin eXcutive file in chip !!! echo. echo For Example command line for .hex file : echo. echo at user h echo.
:quit @echo on
А вот как их в то же ЕЕПРОМ или флеш АВРки запихнуть - это другая задача. Котуинко автоматически выполняет преобразование и загрузку fb.hex средствами биос (для программатора под AT89S51/52).
Самый простой вариант (но и самый жесткий к пользователю) это применение просмотрщика Hiew и текстового редактора. Однако сам просмотрщик надо сыскать, да внимательно текст редактировать... Малость муторно... Я таким образом дамп из хекса в массив адуринки и вставлял. Вторая версия - сам МК кушает поток символьных данных с преобразованием и размещением их в массиве памяти "на лету". Тут уж без буферного ОЗУ сложновато будет. (Именно так и работает загрузчик котуинки).
применение просмотрщика Hiew и текстового редактора
это и есть утилита, и тогда утверждение:
Цитата:
Относительно утилитки - в случае с ассемблером mcs51 особой надобности в ней нету
неверно.
Цитата:
Ути́лита, также произн. утили́та (англ. utility) — вспомогательная компьютерная программа в составе общего программного обеспечения для выполнения специализированных типовых задач, связанных с работой оборудования и операционной системы (ОС)
Разница в методах запуска и обработки - твоя "с командной строки", у меня вьювер в оконном режиме с обработкой текста вручную. Кстати... вполне вероятно и с мегами провернуть прямое конвертирование в ПЗУ в страничном режиме... Одну страничку пишем в ОЗУ из потока по UART, а вторая в то же время переписывается в ПЗУ(ЕЕПРОМку)... Затем буферы страниц меняются местами... Может и хватит быстродействия при низкой скорости обмена...
разница в том что за Hiew 1500 руб надо заплатить - мы ж тут варез не пропагандируем. А результат работы в итоге одинаков. Но самописная утилитка даже удобнее (имхо) - преобразовал бин в массив и разместил его хоть куда в озу/пзу/еепром и в программе данные вытягиваешь из масива, только прибавляя индекс. Но все выше это оффтоп - ТС уже решил легко и просто - через еепромовский файл.
Зачем ЕЕПРОМ??? У меги 128й ОЗУ 4 килобайта - под ассемблером вполне для перекрытия АТ89С2051 достаточно. (я уж не говорю о 8к ОЗУ у меги2560) Единственно взять за основу алгоритм анализатора стоки хекс файла из бутлоадера котуинки в приложноии к АВР. Тогда и "конвертить" ничего не понадобится - просто с терминалки hex переслать.
потому что еепром у меги128 тоже 4кБ, у ат89с2051 флэш 2кБ, а программаторы авр умеют шить отдельно флэш и отдельно еепром. Поэтому можно еепром меги128 безболезненно, легко и просто прошить прошивкой (тавтология) для ат89с2051, а прога для меги128 будет брать данные для прошивания сабжа из своего же еепрома. Все же просто реализуется и не надо ни "алгоритм анализатора стоки хекс файла" ни котуинок - нужна мега128, которая, я так понял, есть в наличии. з.ы. где то уже говорил тут на страницах форума - народу нужен простейший программатор микроконтроллеров типа AT89Cxxxx в связи с нынешним дефицитом микроконтроллеров (эти на складах залежались).
Так давно уже выложен готовый. И под AT89C2051/4051 и под ISP AT89S51/52 а под АТ89Схххх уже только прожки осталось допридумывать. И насчет ЕЕПРОМки - там в любом случае конвертить надо и гонять программатор для 128й. А в моем варианте - основной МК(128я) прошивается всего один разок, а далее в тот программатор через обыкновенный терминальчик отсылается хекс файлик для конкретной 2051. И то... ЖАБА удавит такой проггер с ограниченной перспективой городить - ибо в котуинке резерв буфера 32килобайта, а жгучий модуль делается под вариант железа при том, что остальная часть программы подгружаемая. Это ежли учитывать, что прошивать охота не только 2051/4051, но и другие "пожирнее" (от 51 до 8252). Ну да тоуже кому чего удобнее...
И насчет ЕЕПРОМки - там в любом случае конвертить надо и гонять программатор для 128й.
зачем "конвертить", если компилятор для ат89с2051 выдаст обычный интел хекс файл, который штатно шьет программатор авров. И что там "гонять", если прога для м128 будет уже написана, а всего надо лишь прошить еепром и нажать кнопочку <ПУСК>. Другим программатором шить телодвижений поболе будет.
вроде бы валялись где-то AT89S4051 - то же самое, что и у ТС, но с SPI-программированием и 4К флеша. если ТС нужно - могу посмотреть, если еще не потерял - выслать.
Да как бы у меня есть много всяких МК и с SPI ! Спасибо за предложение. Я писал выше, что просто для развития ... Из интереса.
Добавлено after 5 minutes 27 seconds: А вообще HEX это не последовательность команд и данных ? Его ещё надо распаковавать ?
_________________ Не спрашивай по ком звонит колокол, он звонит по тебе !
... А вообще HEX это не последовательность команд и данных ? Его ещё надо распаковавать ?
Это текстовой файл, каждая строка которого содержит помимо машинного кода (но не в бинарном, а в символьном представлении) еще кучу дополнительной информации. Обычно размер HEX файла во много раз превышает размер размещаемого в нем кода. Посему и требуется преобразование перед употреблением. Собственно так на сегодня многие производители делают - прожке в ПК скармливается HEX файл, который затем отсылается в МК и уже там аппартными средствами заводского загрузчика прошиваются в ПЗУ МК (STC к примеру) Одна нюансина - прожка в ПК и бутлоадер умеют договариваться о приостановке потока, пока определенная порция данных, полученных в МК не пройдет полную обработку. Для любителя при повторении подобного два варианта - делать свою прожку для МК и в добавок еще прожку в ПК (полный аналог данного метода загрузки) или... Делать в конструкции буферное ОЗУ необходимого размера и использовать "стандартную" прожку-терминал в ПК (которая не умеет "договариваться" о приостановке потока данных). Вот второй вариант в котуинке и использован.
ST7FOX В работе требуется быть прагматиком и использовать все те приемы, которые гарантированно работают и приносят пользу. Даже в случае, ежли их (технологий) автор(ы) личную неприязнь вызывают (по разным мотивам). Только надо отличать где полезные рекомендации, а где "фуфристоры" и обман вместо технологий подсовывают.
... зачем "конвертить", если компилятор для ат89с2051 выдаст обычный интел хекс файл, который штатно шьет программатор авров. И что там "гонять", если прога для м128 будет уже написана, а всего надо лишь прошить еепром и нажать кнопочку <ПУСК>. Другим программатором шить телодвижений поболе будет.
Почему больше? имеем программатор по моему методу... Надо всего-то из терминалки Пк отослать целевой хекс файл в программатор - остальное или в "менюшечном режиме" (вероятно вскоре будет использован) или по командномйу хекс файлу или по контрольной кнопе делается. Ессно с выводом текстовых строчек о ходе процесса в ту же терминалку. Сам программатор перешивать каждый раз не требуется. А вот ежли грузить в ЕЕПРОМку - там программатор надо каждый раз через ISP обновлять - это уже явно лишние манипуляции.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения