Среда программирования для AT89c2051
Re: Среда программирования для AT89c2051
Прогу то напишем ! Ето на проблема , вот прямо для атмеги128 ! Там же что нужно ? Только вывести байт на все биты, ( ну до этого подать 12 вольт на Впп) , команду из четырёх бит , дёрнуть ногй чё бы записать в память код, ну и дёрнуть ногой что бы инкриментировать адрес . А далее в цикле ....
Не спрашивай по ком звонит колокол, он звонит по тебе !
- Реклама
Re: Среда программирования для AT89c2051
Только вот сначала надо решить вопрос с самим дампом кода, который в компе на диске в виде *.hex или *.bin файла хранится.
Да и у 128й меги внешняя память данных имеется.
Воть и соорудите устройство принимающее из компа данные в виде *.hex файла с последующим их размещением в ОЗУ, а затем те данные прошивающее в целевой МК.
Всего-то делов....

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

Да и у 128й меги внешняя память данных имеется.
Воть и соорудите устройство принимающее из компа данные в виде *.hex файла с последующим их размещением в ОЗУ, а затем те данные прошивающее в целевой МК.
Всего-то делов....
Правда будет одно отличие от котуинки - при различных вариантах конфигурации внешних "жгучих модулей" и, соответственно, обслуживающего ПО меги ее придется каждый раз перепрошивать.
А у котуинки всего лишь перезагрузка ОЗУ выполняется - разница в ресурсе количества записей все же имеет место.
Re: Среда программирования для AT89c2051
Делов то вообще нет ! Изменить расширение файла на еепром-овского . А потом его залить в епром атмеги 128 !!! Шта ???
Добавлено after 4 minutes 57 seconds:
ОЗУ не нужно ! Мы прошиваем еепром , файлом hex , и потом с помощью нехитрой программы прошиваем нужный кристал !
Добавлено after 2 minutes 36 seconds:
И вот кстати есть монтажка атмега128 !
Добавлено after 17 minutes 9 seconds:
Устройство то ещё не готово . Но есть концепция, и жду противопоказаний !
Добавлено after 4 minutes 57 seconds:
ОЗУ не нужно ! Мы прошиваем еепром , файлом hex , и потом с помощью нехитрой программы прошиваем нужный кристал !
Добавлено after 2 minutes 36 seconds:
И вот кстати есть монтажка атмега128 !
Добавлено after 17 minutes 9 seconds:
Устройство то ещё не готово . Но есть концепция, и жду противопоказаний !
- Вложения
-
- 77-min.jpg
- (151.79 КБ) 200 скачиваний
Не спрашивай по ком звонит колокол, он звонит по тебе !
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Среда программирования для AT89c2051
[uquote="BOB51",url="/forum/viewtopic.php?p=4064294#p4064294"]соорудите устройство принимающее из компа данные в виде *.hex файла с последующим их размещением в ОЗУ, а затем те данные прошивающее в целевой МК.[/uquote]
любой программист, даже начинающий смогет утилитку сварганить или скопипастить:
https://github.com/gwilymk/bin2c
Всего-то делов(c)
любой программист, даже начинающий смогет утилитку сварганить или скопипастить:
https://github.com/gwilymk/bin2c
Всего-то делов(c)
А у котуинки всего лишь перезагрузка ОЗУ выполняется - разница в ресурсе количества записей все же имеет место.
atmega 128 Write/Erase cycles: 10,000 Flash/100,000 EEPROMА много ль корова даёт молока?
Не выдоишь за день - устанет рука.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18644
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Среда программирования для AT89c2051
вроде бы валялись где-то AT89S4051 - то же самое, что и у ТС, но с SPI-программированием и 4К флеша. если ТС нужно - могу посмотреть, если еще не потерял - выслать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
Re: Среда программирования для AT89c2051
[uquote="Alex_641",url="/forum/viewtopic.php?p=4064301#p4064301"]Делов то вообще нет ! Изменить расширение файла на еепром-овского . А потом его залить в епром атмеги 128 !!! Шта ???...
Устройство то ещё не готово . Но есть концепция, и жду противопоказаний ![/uquote]
В принципе... ежли мегу на такое дело не жалко...
Устройство будет сделано под конкретное изделие.
Я предпочитаю больше вариантов для единой базовой платформы получать.
Это уж кому чего удобнее.
Загрузка дампа в ЕЕПРОМКУ - это таки садомазохизм (при наличии возможности внешнее ОЗУ использовать).
Относительно утилитки - в случае с ассемблером mcs51 особой надобности в ней нету - компилятор и так может сгенерировать как *.hex так и *.bin (*.tsk) файлы.

Устройство то ещё не готово . Но есть концепция, и жду противопоказаний ![/uquote]
В принципе... ежли мегу на такое дело не жалко...
Устройство будет сделано под конкретное изделие.
Я предпочитаю больше вариантов для единой базовой платформы получать.
Это уж кому чего удобнее.
Загрузка дампа в ЕЕПРОМКУ - это таки садомазохизм (при наличии возможности внешнее ОЗУ использовать).
Относительно утилитки - в случае с ассемблером mcs51 особой надобности в ней нету - компилятор и так может сгенерировать как *.hex так и *.bin (*.tsk) файлы.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Среда программирования для AT89c2051
[uquote="BOB51",url="/forum/viewtopic.php?p=4064468#p4064468"]Относительно утилитки - в случае с ассемблером mcs51 особой надобности в ней нету[/uquote]
аж интересно - и как же сгенерирует чудо ассемблер:
аж интересно - и как же сгенерирует чудо ассемблер:
з.ы. вот в nasm естьиз компа данные в виде *.hex файла с последующим их размещением в ОЗУ
Код: Выделить всё
incbin "codes.bin"Re: Среда программирования для AT89c2051
При компиляции задаем соответствующую опцию и получаем бинарный дамп.
Вопрос загрузки бинарного варианта - это проблема пользователя (ему и так и так самому сие делать придется)
или программатора (ежли тот знает соответствующий формат).
К примеру в этом проекте и исходник и оба скомпилрованных с помощью c51asm варианта fb.hex и fb.bin Как их получить - смотрим документацию на компилятор (то же возможно и с Х8051 от AD2500).
В принципе в *.bat файлике уже обычно заложено применение обеих вариантов...
Это пример для компилятора c51asm.exe от атмеля:
А вот как их в то же ЕЕПРОМ или флеш АВРки запихнуть - это другая задача.
Котуинко автоматически выполняет преобразование и загрузку fb.hex средствами биос (для программатора под AT89S51/52).

Вопрос загрузки бинарного варианта - это проблема пользователя (ему и так и так самому сие делать придется)
или программатора (ежли тот знает соответствующий формат).
К примеру в этом проекте и исходник и оба скомпилрованных с помощью 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).
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Среда программирования для AT89c2051
это можно сделать не только в ассемблерном компиляторе, например в AVR GCC есть для этого avr-objcopy:
а речь была о том как внедрить в прошивку внешний хекс/бин файл - зачастую без утилиты никак
Код: Выделить всё
avr-objcopy -I ihex -O binary file.hex file.bin Re: Среда программирования для AT89c2051
Самый простой вариант (но и самый жесткий к пользователю) это применение просмотрщика
Hiew и текстового редактора.
Однако сам просмотрщик надо сыскать, да внимательно текст редактировать... Малость муторно...
Я таким образом дамп из хекса в массив адуринки и вставлял.
Вторая версия - сам МК кушает поток символьных данных с преобразованием и размещением их в массиве памяти "на лету".
Тут уж без буферного ОЗУ сложновато будет.
(Именно так и работает загрузчик котуинки).

Hiew и текстового редактора.
Однако сам просмотрщик надо сыскать, да внимательно текст редактировать... Малость муторно...
Я таким образом дамп из хекса в массив адуринки и вставлял.
Вторая версия - сам МК кушает поток символьных данных с преобразованием и размещением их в массиве памяти "на лету".
Тут уж без буферного ОЗУ сложновато будет.
(Именно так и работает загрузчик котуинки).
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Среда программирования для AT89c2051
[uquote="BOB51",url="/forum/viewtopic.php?p=4064501#p4064501"]применение просмотрщика Hiew и текстового редактора[/uquote]
это и есть утилита, и тогда утверждение:
это и есть утилита, и тогда утверждение:
неверно.Относительно утилитки - в случае с ассемблером mcs51 особой надобности в ней нету
Ути́лита, также произн. утили́та (англ. utility) — вспомогательная компьютерная программа в составе общего программного обеспечения для выполнения специализированных типовых задач, связанных с работой оборудования и операционной системы (ОС)
Re: Среда программирования для AT89c2051
Разница в методах запуска и обработки - твоя "с командной строки", у меня вьювер в оконном режиме с обработкой текста вручную.
Кстати...
вполне вероятно и с мегами провернуть прямое конвертирование в ПЗУ в страничном режиме...
Одну страничку пишем в ОЗУ из потока по UART, а вторая в то же время переписывается в ПЗУ(ЕЕПРОМку)...
Затем буферы страниц меняются местами...
Может и хватит быстродействия при низкой скорости обмена...

Кстати...
вполне вероятно и с мегами провернуть прямое конвертирование в ПЗУ в страничном режиме...
Одну страничку пишем в ОЗУ из потока по UART, а вторая в то же время переписывается в ПЗУ(ЕЕПРОМку)...
Затем буферы страниц меняются местами...
Может и хватит быстродействия при низкой скорости обмена...
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Среда программирования для AT89c2051
разница в том что за Hiew 1500 руб надо заплатить - мы ж тут варез не пропагандируем. А результат работы в итоге одинаков. Но самописная утилитка даже удобнее (имхо) - преобразовал бин в массив и разместил его хоть куда в озу/пзу/еепром и в программе данные вытягиваешь из масива, только прибавляя индекс.
Но все выше это оффтоп - ТС уже решил легко и просто - через еепромовский файл.
Но все выше это оффтоп - ТС уже решил легко и просто - через еепромовский файл.
Re: Среда программирования для AT89c2051
Зачем ЕЕПРОМ???
У меги 128й ОЗУ 4 килобайта - под ассемблером вполне для перекрытия АТ89С2051 достаточно.
(я уж не говорю о 8к ОЗУ у меги2560)
Единственно взять за основу алгоритм анализатора стоки хекс файла из бутлоадера котуинки в приложноии к АВР.
Тогда и "конвертить" ничего не понадобится - просто с терминалки hex переслать.

У меги 128й ОЗУ 4 килобайта - под ассемблером вполне для перекрытия АТ89С2051 достаточно.
(я уж не говорю о 8к ОЗУ у меги2560)
Единственно взять за основу алгоритм анализатора стоки хекс файла из бутлоадера котуинки в приложноии к АВР.
Тогда и "конвертить" ничего не понадобится - просто с терминалки hex переслать.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Среда программирования для AT89c2051
з.ы. где то уже говорил тут на страницах форума - народу нужен простейший программатор микроконтроллеров типа AT89Cxxxx в связи с нынешним дефицитом микроконтроллеров (эти на складах залежались).
Re: Среда программирования для AT89c2051
Так давно уже выложен готовый.
И под AT89C2051/4051 и под ISP AT89S51/52 а под АТ89Схххх уже только прожки осталось допридумывать.
И насчет ЕЕПРОМки - там в любом случае конвертить надо и гонять программатор для 128й.
А в моем варианте - основной МК(128я) прошивается всего один разок, а далее в тот программатор через обыкновенный терминальчик отсылается хекс файлик для конкретной 2051.
И то... ЖАБА удавит такой проггер с ограниченной перспективой городить - ибо в котуинке резерв буфера 32килобайта, а жгучий модуль делается под вариант железа при том, что остальная часть программы подгружаемая.
Это ежли учитывать, что прошивать охота не только 2051/4051, но и другие "пожирнее" (от 51 до 8252).
Ну да тоуже кому чего удобнее...

И под AT89C2051/4051 и под ISP AT89S51/52 а под АТ89Схххх уже только прожки осталось допридумывать.
И насчет ЕЕПРОМки - там в любом случае конвертить надо и гонять программатор для 128й.
А в моем варианте - основной МК(128я) прошивается всего один разок, а далее в тот программатор через обыкновенный терминальчик отсылается хекс файлик для конкретной 2051.
И то... ЖАБА удавит такой проггер с ограниченной перспективой городить - ибо в котуинке резерв буфера 32килобайта, а жгучий модуль делается под вариант железа при том, что остальная часть программы подгружаемая.
Это ежли учитывать, что прошивать охота не только 2051/4051, но и другие "пожирнее" (от 51 до 8252).
Ну да тоуже кому чего удобнее...
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Среда программирования для AT89c2051
[uquote="BOB51",url="/forum/viewtopic.php?p=4064664#p4064664"]И насчет ЕЕПРОМки - там в любом случае конвертить надо и гонять программатор для 128й.[/uquote]
зачем "конвертить", если компилятор для ат89с2051 выдаст обычный интел хекс файл, который штатно шьет программатор авров.
И что там "гонять", если прога для м128 будет уже написана, а всего надо лишь прошить еепром и нажать кнопочку <ПУСК>. Другим программатором шить телодвижений поболе будет.
зачем "конвертить", если компилятор для ат89с2051 выдаст обычный интел хекс файл, который штатно шьет программатор авров.
И что там "гонять", если прога для м128 будет уже написана, а всего надо лишь прошить еепром и нажать кнопочку <ПУСК>. Другим программатором шить телодвижений поболе будет.
Re: Среда программирования для AT89c2051
[uquote="ARV",url="/forum/viewtopic.php?p=4064433#p4064433"]вроде бы валялись где-то AT89S4051 - то же самое, что и у ТС, но с SPI-программированием и 4К флеша. если ТС нужно - могу посмотреть, если еще не потерял - выслать.[/uquote]
Да как бы у меня есть много всяких МК и с SPI ! Спасибо за предложение. Я писал выше, что просто для развития ... Из интереса.
Добавлено after 5 minutes 27 seconds:
А вообще HEX это не последовательность команд и данных ? Его ещё надо распаковавать ?
Да как бы у меня есть много всяких МК и с SPI ! Спасибо за предложение. Я писал выше, что просто для развития ... Из интереса.
Добавлено after 5 minutes 27 seconds:
А вообще HEX это не последовательность команд и данных ? Его ещё надо распаковавать ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Re: Среда программирования для AT89c2051
Таблицу Менделеева придумал Менделеев ! Бумагу придумали китйцы . Колесо вообще неизвестно кто придумал ... Пользуются ВСЕ . Сам пиарac .
Добавлено after 1 minute 49 seconds:
[uquote="ST7FOX",url="/forum/viewtopic.php?p=4064708#p4064708"]HEX придумали пиндосы. Как и мк с SPI. Зачем это Вам? Или Вы - пидорас? Если нет - откажитесь от пиндоского, будьте последовательны.[/uquote]
Твоё сралово тут немного не в тему ....
Добавлено after 1 minute 49 seconds:
[uquote="ST7FOX",url="/forum/viewtopic.php?p=4064708#p4064708"]HEX придумали пиндосы. Как и мк с SPI. Зачем это Вам? Или Вы - пидорас? Если нет - откажитесь от пиндоского, будьте последовательны.[/uquote]
Твоё сралово тут немного не в тему ....
Не спрашивай по ком звонит колокол, он звонит по тебе !
Re: Среда программирования для AT89c2051
[uquote="Alex_641",url="/forum/viewtopic.php?p=4064706#p4064706"]...
А вообще HEX это не последовательность команд и данных ? Его ещё надо распаковавать ?[/uquote]
Это текстовой файл, каждая строка которого содержит помимо машинного кода (но не в бинарном, а в символьном представлении) еще кучу дополнительной информации.
Обычно размер HEX файла во много раз превышает размер размещаемого в нем кода.
Посему и требуется преобразование перед употреблением.
Собственно так на сегодня многие производители делают - прожке в ПК скармливается HEX файл, который затем отсылается в МК и уже там аппартными средствами заводского загрузчика прошиваются в ПЗУ МК (STC к примеру)
Одна нюансина - прожка в ПК и бутлоадер умеют договариваться о приостановке потока, пока определенная порция данных, полученных в МК не пройдет полную обработку.
Для любителя при повторении подобного два варианта - делать свою прожку для МК и в добавок еще прожку в ПК (полный аналог данного метода загрузки) или...
Делать в конструкции буферное ОЗУ необходимого размера и использовать "стандартную" прожку-терминал в ПК (которая не умеет "договариваться" о приостановке потока данных).
Вот второй вариант в котуинке и использован.

ST7FOX
В работе требуется быть прагматиком и использовать все те приемы, которые гарантированно работают и приносят пользу.
Даже в случае, ежли их (технологий) автор(ы) личную неприязнь вызывают (по разным мотивам).
Только надо отличать где полезные рекомендации, а где "фуфристоры" и обман вместо технологий подсовывают.

Добавлено after 7 minutes 21 second:
[uquote="oleg110592",url="/forum/viewtopic.php?p=4064685#p4064685"]...
зачем "конвертить", если компилятор для ат89с2051 выдаст обычный интел хекс файл, который штатно шьет программатор авров.
И что там "гонять", если прога для м128 будет уже написана, а всего надо лишь прошить еепром и нажать кнопочку <ПУСК>. Другим программатором шить телодвижений поболе будет.[/uquote]
Почему больше?
имеем программатор по моему методу...
Надо всего-то из терминалки Пк отослать целевой хекс файл в программатор - остальное или в "менюшечном режиме" (вероятно вскоре будет использован) или по командномйу хекс файлу или по контрольной кнопе делается.
Ессно с выводом текстовых строчек о ходе процесса в ту же терминалку.
Сам программатор перешивать каждый раз не требуется.
А вот ежли грузить в ЕЕПРОМку - там программатор надо каждый раз через ISP обновлять - это уже явно лишние манипуляции.

А вообще HEX это не последовательность команд и данных ? Его ещё надо распаковавать ?[/uquote]
Это текстовой файл, каждая строка которого содержит помимо машинного кода (но не в бинарном, а в символьном представлении) еще кучу дополнительной информации.
Обычно размер HEX файла во много раз превышает размер размещаемого в нем кода.
Посему и требуется преобразование перед употреблением.
Собственно так на сегодня многие производители делают - прожке в ПК скармливается HEX файл, который затем отсылается в МК и уже там аппартными средствами заводского загрузчика прошиваются в ПЗУ МК (STC к примеру)
Одна нюансина - прожка в ПК и бутлоадер умеют договариваться о приостановке потока, пока определенная порция данных, полученных в МК не пройдет полную обработку.
Для любителя при повторении подобного два варианта - делать свою прожку для МК и в добавок еще прожку в ПК (полный аналог данного метода загрузки) или...
Делать в конструкции буферное ОЗУ необходимого размера и использовать "стандартную" прожку-терминал в ПК (которая не умеет "договариваться" о приостановке потока данных).
Вот второй вариант в котуинке и использован.
ST7FOX
В работе требуется быть прагматиком и использовать все те приемы, которые гарантированно работают и приносят пользу.
Даже в случае, ежли их (технологий) автор(ы) личную неприязнь вызывают (по разным мотивам).
Только надо отличать где полезные рекомендации, а где "фуфристоры" и обман вместо технологий подсовывают.
Добавлено after 7 minutes 21 second:
[uquote="oleg110592",url="/forum/viewtopic.php?p=4064685#p4064685"]...
зачем "конвертить", если компилятор для ат89с2051 выдаст обычный интел хекс файл, который штатно шьет программатор авров.
И что там "гонять", если прога для м128 будет уже написана, а всего надо лишь прошить еепром и нажать кнопочку <ПУСК>. Другим программатором шить телодвижений поболе будет.[/uquote]
Почему больше?
имеем программатор по моему методу...
Надо всего-то из терминалки Пк отослать целевой хекс файл в программатор - остальное или в "менюшечном режиме" (вероятно вскоре будет использован) или по командномйу хекс файлу или по контрольной кнопе делается.
Ессно с выводом текстовых строчек о ходе процесса в ту же терминалку.
Сам программатор перешивать каждый раз не требуется.
А вот ежли грузить в ЕЕПРОМку - там программатор надо каждый раз через ISP обновлять - это уже явно лишние манипуляции.


