Легкий ассемблер для MSP430

Программы для MSP430 на языке С обычно пишутся на msp430-gcc. Но это как правило не крошечные программы размером от килобайта и более. Но если требуется написать очень маленькую программку или очень специфическую. Такую, что не желательно использовать С, а только ассемблер, то возникают затруднения с использованием msp430-gcc.

Во всяком случае я не смог продраться через задачу. Даже написанная на ассемблере прога требовала (помимо самого процесса ассемблирования) линковки с другими модулями. MSP430-gcc не предполагал создание крошечных проектов и предлагал сразу очень много возни для больших много-файловых проектов. Меня такой расклад дел не устраивал. Я хотел бы получать после ассемблирования единственного файла исходника уже готовый HEX-файл для заливки в проц. Пришлось гуглить.

Оказалось, что создание небольших ассемблерных проектов почти никого не волнует. В интернете почти нет обсуждений на эту тему. Я нагуглил только одно такое обсуждение, которое было аж в 2003 году.

Но Гугл мне подкинул еще одну ссылку на сайт, где Михаил Кон, предлагает свое решение проблемы. Он так же увяз в этой проблеме, но, в отличие от меня, он успешно продвинулся! Мишка предлагает свое решение — самопальный ассемблер.

Вот ссылка на его сайт, на тему ассемблирования для MSP430 http://www.mikekohn.net/micro/naken430asm_msp430_assembler.php

А теперь, я попробую рассказать, что нужно сделать, чтобы легко «пройти в дамки».

1. Загружаем себе в комп архивный файл с исходными текстами Мишкиного ассемблера. На момент написания этого текста (28.07.2011) это был файл naken430asm-2011-07-05.tar.gz

2. Разархивируем его. Предварительно можно создать какой-нибудь директорий, но можно его распаковать непосредственно домашнем директории. Файл распакуется он грамотно — в свой директорий, который сам же и создаст. Команда для декомпрессии следующая:

$ tar -xzf naken430asm-2011-07-05.tar.gz

3. Теперь заходим в полученный директорий

$ cd naken430asm-2011-07-05

4. Набираем команду для конфигурации проекта под наше конкретное железо

$ ./configure

Менее чем через секунду конфигурация проекта будет готова.

В принципе, вы можете в этом месте задать свои уникальные параметры для сборки, например, такие как директорий, куда потом установить ассемблер. Но если вы еще не очень разбираетесь в этих вопросах, делайте все по умолчанию. Не ошибетесь!

5. Теперь нужно проект собрать. Набираем команду:

$ make

Это займет всего несколько секунд. (Мой компик старенький, компиляция на нем прошла за 5 с небольшим секунд.)

6. Проект собран. Сейчас нам нужно установить полученные программы проекта в нашу систему. В Мишкином проекте создается не только ассемблер, но еще и какая-то утилита. Что за утилита, пока не знаю. Не пробовал. Описание ее смотрел по диагонали. Кроме того, нужно в систему установить include-файлы, и может быть какие-то еще. Пока не разбирался.

Можно все это сделать руками (копирование файлов), но вообще-то для таких дел применяется команда:

$ sudo make install

Команда sudo нужна для того, чтобы разрешить копирование исполняемых файлов в директории, в которые простым юзерам запрещено что-либо писать. Так устроена система безопасности Линукса. Поэтому вирусов для Линукса не бывает. Линукс предполагает, что если у Вас есть доступ к системе (грубо, знаете пароль администратора), то Вы знаете, что Вы делаете. Если Вы четко понимаете и отдаете себе отчет, то Линукс не вмешивается в Ваши действия. В принципе, с правами рута Вы можете в системе сделать абсолютно все, Линукс и слова поперек не скажет. Прочим домохозяйкам пароль рута не положено иметь, поэтому они ничего и не могут поломать. Ну разве что стереть только свои фотки с последней пьянки. Я прошу прощения за небольшое лирическое отступление. Уровень статьи рассчитан на начинающих, а у них как раз возникают подобные вопросы.

Если вы более продвинутый пользователь, то вам удобнее все действия выполнить одним махом. Создайте файл с именем install-naken430 и запишите в него следующий текст:

#!/bin/bash
# Установка ассемблера для MSP430
# http://www.mikekohn.net/micro/naken430asm_msp430_assembler.php

mkdir build-naken430
cd !$
wget -c http://downloads.mikekohn.net/naken430asm/naken430asm-2011-10-30.tar.gz
tar -xzf naken430asm-2011-10-30.tar.gz
cd naken430asm-2011-10-30
./configure
make
sudo make install
cd ..

После этого вам остается только выполнить этот скрипт.

Так или иначе, но теперь у нас есть ассемблер, который позволит создавать HEX-файлы из наших ассемблерных исходников.

В следующей статье я планирую написать, как это сделать. Михаил на своем сайте обещает, что вроде как его ассемблер позволяет создавать коды размером до 50 килобайт. Иначе говоря размер HEX-кодов искусственно не ограничен и можно создавать не только крошечные программы.

Реклама

One response to “Легкий ассемблер для MSP430

  1. Как вариант:
    для ассемблирования под MSP430 использую A430.EXE (ассемблер) + XLINK.EXE (линкер) из пакета IAR Embedded Workbench for MSP430, дефиниции контроллеров — файлы ..\430\INC\MSP430*.h

    Компиляция (в объектный файл *.R43):
    A430.EXE MAIN.ASM -s- -l MAIN.lst -t4 -xD

    Линковка, получения Intel S-record файла (*.A43):
    xlink.exe MAIN.r43 -FINTEL-EXTENDED

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s