STM32F030. Устанавливаем ПО

Скажу сразу — для создания программ на ассемблере полный тулчейн не нужен.

Что входит в тулчейн? Это немного сложный вопрос, но если не быть ханжой, то можно сказать, что тулчейн как правило содержит

  1. Кросс-компилятор С/С++
  2. Стандартная библиотека С/С++
  3. Разные утилиты, их много (около двух десятков). Все они объединены под одним именем — binutils
  4. Средства отладки и заливки кода в микроконтроллер

Поскольку сейчас меня интересует ассемблерный подход, то средства из первых двух пунктов мне не понадобятся. Необходимые мне Ассемблер и Линковщик содержатся в binutils. Поэтому я установлю только binutils. Средства для отладки и заливки я установлю позже, когда в этом возникнет необходимость.

Кроме этого понадобится скачать из интернета еще кое-какие материалы. Но обо всем я скажу в свое время.

Да! И у меня на компе установлен Debian-7.3.

Перед установкой того или иного тулчейна на комп нужно установить еще кое-какие утилиты для сборки. Для полного счастья, в Дебиане теперь даже компилятор в составе дистрибутива не устанавливается. Его нужно устанавливать из репозитория наряду с другими программами.

В последнее время я обленился и перестал отслеживать какие утилиты мне нужно доустановить пред сборкой тулчейнов. Я тупо устанавливаю всё, что вообще может пригодится для этого дела. Практика показывает, что так или иначе эти утилиты все равно понадобятся. Не сейчас, так потом. Но, поскольку расход дисковой памяти от установки этих утилит крайне не велик, то я не заморачиваюсь и «втыкаю» команду:

# apt-get update && apt-get upgrade
# apt-get install flex bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev autoconf texinfo build-essential libftdi-dev libtool zlib1g-dev auto-apt checkinstall

Для установки binutils необходимо получить к себе на комп их исходники. Для этого выполняем команду:

$ wget -c https://www.kernel.org/pub/linux/devel/binutils/binutils-2.24.51.0.2.tar.bz2

Я совсем необязательно забирать binutils на этом ресурсе.

После получения файла сжатого архива распакуем его:

$ tar xjf binutils-2.24.51.0.2.tar.bz2

Затем переходим в директорий с исходниками:

$ cd binutils-2.24.51.0.2

и запускаем конфигуратор:

$ ./configure --prefix=$HOME/bin/arm --target=arm-none-eabi --enable-interwork --enable-multilib --with-float=soft --disable-werror --with-gnu-as --with-gnu-ld

Я решил установить binutils в своем домашнем директории, для этого я задал параметр —prefix=$HOME/bin/arm. Я экспериментирую, лишний мусор на «системном» уровне мне совершенно ни к чему. Поэтому, если вдруг что-то пойдет не так, то максимум что я потеряю — это только порушу свою учетную запись и все свои файлы. Система же будет продолжать жить. И в крайнем случае, я смогу завести себе еще одну учетную запись, а эту (порушенную) удалить. Потом, когда всё будет отработано и будет работать безупречно, все эти шаги можно будет проделать под root-ом и установить тулчейн для всех учетных записей.

И наконец устанавливаем:

$ make && make install

и возвращаемся обратно:

$ cd ..

Я надеюсь, что процесс установки у вас прошел без проблем. В результате мы должны получить в домашнем директории поддиректорий bin, а в нем еще один — arm. Что же касается утилиты binutils, то они лежат в $HOME/bin/arm/bin/. Зайдите и убедитесь в этом!

Вот, какие файлы содержаться у меня:

binutils

Прошу обратить особое внимание на файлы arm-none-eabi-as и arm-none-eabi-ld — это ассемблер и линковщик. Собственно, это то, ради чего мы затеяли эту кухню.

Теперь, для доступа к этим утилитам, нам нужно прописать к ним путь. Откроем скрытый файл .profile и в конец его допишем следующие три строки:

if [ -d "$HOME/bin/arm/bin" ] ; then
  PATH="$HOME/bin/arm/bin:$PATH"
fi

Мы изменили только конфигурацию, но сами изменения еще не вошли в силу. Чтобы это произошло, можно поступить как это делают пользователи Виндовса — перезагрузить систему.

— Можно сделать из буханки хлеба троллейбус. Но зачем? (с)

Нам совершенно ни к чему перезагружать всю систему. Достаточно перезагрузить только нашу учетную запись — то есть закрыть сеанс и снова зайти под своим аккаунтом. Я скажу больше — и даже этого можно не делать!

Для того чтобы изменения в .profile вступили в силу достаточно выполнить вот такую забавную команду:

$ . ./.profile

Первая точка — это замена команды source. Вторая точка — это указатель на то, что мы должны взять файл .profile не какой-нибудь, а тот, который находится в текущем директории. Ну и последняя, третья точка — это часть имени файла.

В Линуксе файлы могут начинаться с символа точка. Если файл начинается с точки, то он автоматически становится скрытым файлом. Чтобы увидеть скрытые файлы в графической среде Nautilus, нажмите Ctrl-H.

На данный момент установка .biutils установлена, и, в принципе, уже можно ею пользоваться.

Давайте пройдем в свой рабочий директорий ($HOME/work) и попробуем что-нибудь создать…

(Продолжение скоро будет)

Advertisements

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s