Так исторически сложилось, что я очень не люблю операционную систему Windows. Во всех ее проявлениях. О причинах этого можно говорить долго и увлекательно, но не будем :)
К сожалению два основных средства разработки для MSP430 - Code Composer studio и IAR Kickstart не поддерживают Linux :(
Впрочем от CCS мы, наверное, этого и дождемся со временем - начиная с 4 версии он переехал на платформу Eclipse. Осталось портировать компилятор.
Но есть и альтернатива - mspgcc. Бесплатная... Delicious.
Из разных источников [1] [2] [3] я собрал рецепт сборки рабочей среды для Ubuntu.
Итак, приступим
Для начала установим необходимые библиотеки и компилятор gcc
sudo aptitude install git-core gcc-4.4 texinfo patch libncurses5-dev zlibc zlib1g-dev libx11-dev libusb-dev libreadline6-dev
Качаем порт mspgcc для gcc4 отсюда
или вводим команды, чтобы взять из репозитария git (на работе git не смог пробиться через прокси, а дома все ОК)
git clone git://mspgcc4.git.sourceforge.net/gitroot/mspgcc4/mspgcc4
Если скачали архив, то распаковываем его в домашнюю директорию. Переименуйте папку mspgcc4-20110130 в mspgcc4.
cd mspgcc4 && perl buildgcc.pl
Запуститься скрипт сборки. На все вопросы можно жать Enter (по умолчанию) кроме вопроса о сборке - там нужно ввести "y" чтобы процесс сборки запустился. Также спрашивает ставить ли Insight - древний деббагер - можно сказать n, тем более что с ним бывают проблемы при сборке.
Можно попить кофе пока идет сборка.
После сборки в /opt появиться папочка msp-gcc-4.4.5. Неплохо бы сделать симлинк
sudo ln -s msp430-gcc-4.4.5/ mspgcc
и добавить его в path. Теперь можно компилировать, например,
msp430-gcc -Os -mmcu=msp430x2231 -o led.elf led.c
led.c, например, такой:
01.
/* Пример моргания диодом */
02.
03.
#include <msp430g2231.h>
04.
05.
/** Задержка. **/
06.
delay(unsigned
int
d) {
07.
int
i;
08.
for
(i = 0; i<d; i++) {
09.
nop();
10.
}
11.
}
12.
13.
int
main(
void
) {
14.
WDTCTL = WDTPW | WDTHOLD;// отключаем Watchdog таймер
15.
P1DIR = 0xFF;
16.
P1OUT = 0x01;
17.
18.
for
(;;) {
19.
P1OUT = ~P1OUT;
20.
delay(0x4fff);
21.
}
22.
}
tar -zxvf mspdebug.tar.gz
cd mspdebug
make
sudo make install
Чтобы можно было работать с LaunchPad не из под root, нужно задать udev правило.
sudo nano /etc/udev/rules.d/46-TI_launchpad.rules
Вписываем туда :
ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0660", GROUP="plugdev"
Перезапускаем udev:
sudo restart udev
Подключите Launchpad.
mspdebug rf2500
prog led.elf
run
Программа прошьется в контроллер и плата заморгает красным глазком...
ничё не понял...но по моему ты гений....
ОтветитьУдалитьВ последней версии возникает ошибка при попытке построить binutils2.21.1. В скрипте buildgcc.pl переменные указывают совсем другое (ниже исправлено) так например VERSION указывает на не существующий на данном зеркале пакет biutils2.21.1 а загрузка производится с http://ftp.uni-kl.de который не доступен вылетая из скрипта с ошибкой 404.
ОтветитьУдалить$BINUTILS_VERSION = "2.21.1a";
$GNU_MIRROR="ftp://ftp.uni-kl.de";
Но даже это помогает не полностью, после того как binutils указанной версии будут выкачены другой скрипт распакует их в каталог /build/binutils-2.21.1, а нужно в 2.21.1a. Не стал мудрить просто переименовал каталог и запустил скрипт заново. После этого сборка mspgcc пошла нормально.