Софт для программирования МК

June 27, 2010 by admin Комментировать »

Если мы имеем какой-то программатор с прилагающимся к нему софтом, то, в сущности, нам нужна еще только одна специальная программа — ассемб­лер (assembler значит «сборщик»). Его можно бесплатно скачать с сайта At­mel в составе AVR Studio, файл его носит название avrasm32.exe. Практиче­ски все существующие ассемблеры запускаются из командной строки (хотя могут быть и упакованы в оболочку с графическим интерфейсом). В качестве параметров для Avrasm32 указывается имя файла с исходным текстом про­граммы и имена выходных файлов, главным из которых является файл с расширением .hex. Чтобы каждый раз не вводить длинную командную стро­ку, пишется соответствующий bat-файл.

Подробности

Предположим, у вас файл avrasm32.exe находится в созданной вами папке c:\avrtools.

Запустите Блокнот и введите следующий текст (соответственно измените путь, если папка другая):

c:\avrtools\avrasm32 -fl %l.asm

Строка эта может выглядеть и несколько иначе:

c:\avrtools\avrasm32 ~е %1.еер ~fl %l.asm

В этом случае в той же папке, что и hex-файл, создастся файл с расширением еер, который будет содержать данные для загрузки в EEPROM. Причем рабо­тать это будет только, если в тексте программы есть соответствующая дирек­тива для создания такого файла (мы этбт вопрос разбирать не будем), в про­тивном случае результат будет одинаковым в обоих случаях. Сохраните этот файл под названием, например, avrasm.bat. Пусть текст созданной вами про­граммы находится в файле programm.asm, тогда достаточно в командной строке запустить avrasm.bat с параметром programm (если надо, то с путем к нему, а расширение добавится автоматически), и в той же папке, где находит­ся последний, создастся файл programm.hex. При этом возникнет DOS-окно, в котором будут проанализированы ошибки, если они есть (тогда выходной файл не создастся), а если все в порядке — указан объем полученной про­граммы в двухбайтных словах (учтите, что размер hex-файла ни о чем не го­ворит).

Полученный в результате ассемблирования hex-файл с программой представ­ляет собой текстовый файл (а не бинарный, как обычные исполняемые ком­пьютерные файлы), но содержащий только числа в байтовом представлении, в шестнадцатеричной записи. Он имеет строго определенную структуру, раз­работанную в свое время фирмой Intel. Этот hex-фанл и есть та программа в процессорных кодах, которую мы загружаем в МК с помощью программато­ра. При этом программатор автоматически располагает ее в памяти программ МК, начиная с нулевого адреса.

Исходные тексты ассемблерных программ можно в принципе создавать в любом текстовом редакторе (разве что к результатам деятельности Microsoft Word нужно относиться с осторожностью, но не всех версий это касается). Но, несмотря на широкий выбор, есть по крайней мере две причины, по ко­торым лучше все же использовать редакторы специализированные. Первая причина — это т. н. highlighting или «подсветка синтаксиса» по-русски. Те, кто пользовался любыми средами высокоуровневого программирования (от Turbo Pascal до Delphi или Visual Basic),.хорошо знают, что это такое — слу­жебные слова, комментарии, разные типы выражений выделяются каждый своим цветом или шрифтом, что сильно облегчает чтение текста и служит заодно неплохим средством проверки правильности написания. Но если эту опцию предлагает множество фирменных и не очень редакторов, то вторая желательная функция есть лишь у считанных единиц. Я имею в виду воз­можность прямо из редактора с помощью горячих клавиш запускать процесс ассемблирования. В этом случае вы можете «не отходя от кассы», то есть не покидая редактор, одним нажатием горячих клавиш сразу же ассемблировать написанный текст и ознакомиться с сообщениями об ошибках.

Еще одна причина для использования специализированных редакторов — они автоматически нумеруют строки. Причем пустые строки также входят в нумерацию — так проще считать. Если у вас есть ошибки в программе, то ассемблер укажет номер строки с ошибкой, так что нумерация строк принци­пиально важна. Один из рекомендуемых вариантов редакторов для AVR-ассемблера— «самопальный» редактор ASM Editor (не путать с Asmedit!), который сделан на удивление профессионально, хотя и не без некоторых до­садных огрехов.

Заметки на полях

Все это относится к программированию на языке ассемблера, потому что про­граммы для AVR-контроллеров можно писать и на С. Для тех, кто владеет этим языком, это может показаться более удобным способом, но для начи­нающих я бы его не стал рекомендовать — не столь важно то, что в результа­те на ассемблере получается более быстрый и компактный код, сколько то, что любой посредник (а компилятор С есть именно посредник) в этом деле только мешает. Кроме того, при написании программ на С неизбежно придется изучать и AVR Studio, и накладные расходы на изучение микроконтроллеров еще больше возрастают. Но следует учесть, что по мере усложнения программ и переходу к профессиональному программированию МК обойти освоение С уже невозможно, как минимум по двум причинам. Во-первых, большинство профессиональных библиотек подпрограмм существуют именно на С. Во-вторых, потому что в ассемблере отсутствуют достаточно развитые средства структурирования, и отлаживать достаточно большую программу, содержащую более пары-другой тьюяч ассемблерных операторов — мучение.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты