В свете последних чудесных плясок с бубном вокруг Code Compose Studio и осознанием невозможности сборки и компиляции проектов, написанных для свободно-распространяемого под лицензией GNU GPL, компилятора «mspgcc», я был вынужден провести некоторые поиски альтернативной среды разработки. И тут, на 43oh.com внезапно материализовалась чудесная инструкция, как подружить замечательную среду разработки «Code::Blocks» — в отличие от других, предлагаемых Texas Instruments — более человеческую, свободно распространяемую и бесплатную, не имеющую ограничений по размеру кода.

(инструкция, переведённая, собранная из кусочков отсюда)

1. Скачиваем с официального сайта среду разработки Code::Blocks

2. Скачиваем набор компилятора mspgcc

3. Создаём папку "C:\hightec\" туда распаковываем архив с компилятором, в папку «msp430«;

4. Если ещё не установили, — устанавливаем «Code::Blocks», в первый запуск должен произойти автоматический поиск и обнаружение компилятора для MSP430;

5. Создаём новый проект: -> выбираем пустой проект -> жмём кнопку «go».

Задаём проекту имя, например «msp430-test». Само имя проекта здесь не важно, но оно будет использоваться в будущем для создания шаблона, поэтому выбираем на своё усмотрение. Желательно не использовать пробелы, это может привести к невозможности дальнейшей компиляции. В первый раз программа потребует задания папки для хранения проектов, — указываем ей путь и жмём далее;

7. Теперь необходимо выбрать наш компилятор, — выбираем из списка «GNU GCC compiler for MSP430» и жмём «finish». Сode::blocks выдаст около 3сообщений о невозможности установить кое-какие настройки для компилятора, — игнорируем эти сообщения;

8.  Настраиваем компилятор:

  • Выбираем меню settings -> compiler. В верхней части необходимо снова выбрать тип компилятора из списка, — выбираем «GNU GCC compiler for MSP430»;
  • Переходим на вкладку «Toolchain executables». Во внутренней вкладке «Program files» должен отобразиться автоматически обнаруженный компилятор, поля должны соответствовать следующему:

C Compiler: msp430-gcc.exe
C++ compiler: msp430-g++.exe
Linker for dynamic libs: msp430-gcc.exe
Linker for static libs: msp430-gcc.exe
Make program: make.exe

  • -Переходим во вкладку «Additional paths» Добавляем путь к стандартным библиотекам C:\hightec\msp430\msp430\include
  • На вкладке «Compiler setting»  выбираем  «other options» Добавляем туда следующую строку: -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=msp430g2553
  • Переходим на вкладку «Linker settings«, в ней в окне «other linker options» добавляем строку -Os -Wl,-gc-sections,-u,main -mmcu=msp430g2553
  • Сохраняем настройки;

 

9. Собираем проект. В панели меню выбираем «Project/Properties/Build targets«. Убираем галочки с поля «auto-generate filename extension«. В имени выходного файла меняем расширение с *.exe на *.elf.  Жмём «ok», сохраняемся и выходим из этого диалога;

 10. Создаём новый файл в проекте. В панели меню выбираем «File/new/file C/C++ file -> go -> next«, задаём имя файла и полный путь, выбираем все опции и жмём «Finish«;

Добавляем в файл следующее содержимое (для примера, можете добавить что-то своё):


#include "msp430g2553.h"
void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // останавливаем Watchdog;

}

и сохраняем его.

11. Скомпилируем наш проект. В панели меню выбираем «build -> build workspace«. На выходе в окне логов должны получить что-то вроде такого сообщения:


-------------- Build: Debug in msp430-test (compiler: GNU GCC Compiler for MSP430)---------------
msp430-gcc.exe -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=msp430g2553 -c main.c -o obj\Debug\main.o
main.c:3:6: warning: return type of 'main' is not 'int' [-Wmain]
msp430-gcc.exe -o bin\Debug\msp430-test.exe obj\Debug\main.o -Os -Wl,-gc-sections,-u,main -mmcu=msp430g2553
Output size is 7.47 KB
Process terminated with status 0 (0 minutes, 5 seconds)
0 errors, 1 warnings (0 minutes, 5 seconds)

12. Сохраняем наш проект как шаблон, чтобы в дальнейшем использовать его для создания новых проектов, для этого в панели меню выбираем «file -> save project as template name the template» и жмём «Ok»;

Теперь мы можем создать новый проект из нашего шаблона:

«File -> New -> Project» выбираем наш шаблон, — готово! Остаётся научить наш компилятор дебажить и заливать прошивку в контроллер.

1. Для отображения информации о нашей прошивке добавим автоматический запуск после компиляции информационного файла msp430-size.exe из комплекта mspgcc. Для этого выбираем в панели меню «Project/Build options…» переходим на вариант «Debug» во вкладку «Pre/Post build steps«, в поле «Post-build steps» добавляем строку c:\hightec\msp430\bin\msp430-size.exe ${PROJECT_DIR}${TARGET_OUTPUT_FILE} (без кавычек, в одну строку) и сохраняем;

После сборки проекта будет выводиться информация о размере файла для загрузки в контроллер и другая информация, примерно такая:

-------------- Build: Debug in msp430-test (compiler: GNU GCC Compiler for MSP430)---------------
msp430-gcc.exe -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=msp430g2553 -c main.c -o obj\Debug\main.o
main.c:3:6: warning: return type of 'main' is not 'int' [-Wmain]
msp430-gcc.exe -o bin\Debug\msp430-test.exe obj\Debug\main.o -Os -Wl,-gc-sections,-u,main -mmcu=msp430g2553
Output size is 7.47 KB
Running target post-build steps
c:\hightec\msp430\bin\msp430-size.exe C:\CodeBlocks-Projects\msp430-test\bin\Debug\msp430-test.exe
text data bss dec hex filename
112 0 2 114 72 C:\CodeBlocks-Projects\msp430-test\bin\Debug\msp430-test.exe
Process terminated with status 0 (0 minutes, 11 seconds)
0 errors, 1 warnings (0 minutes, 11 seconds)

 

2. Создадим макросы для заливки прошивки в контроллер, для этого создадим своё меню в панели «Tools«:

Переходим в меню «Tools/ configure tools» и добавляем новое меню, например — «Upload«. Указываем в качестве параметров:

Name — «Upload»

ExecutableC:\hightec\msp430\mspdebug\mspdebug

Parameterstilib -d USB --force-reset "prog ${PROJECT_DIR}${TARGET_OUTPUT_FILE}"

Working directory${PROJECT_DIR}${TARGET_OUTPUT_DIR}

Параметры внизу можно настроить как удобнее, у меня установлен чекбокс на первом пункте, — это позволит не закрыться окну прошивальщика после заливки.

 

Теперь чтобы загрузить наш проект в контроллер, — нужно выполнить следующие действия:

1. Написать проект;

2. Собрать (Build) наш проект для launchpad, убедиться в отсутствии ошибок в выводе компилятора

3. Загрузить получившийся файл в контроллер (Tools/Upload)

 

Готово

Загружаем в контроллер наш тестовый проект: «Tools/Upload«:

(тут я использовал пример с миганием светодиода, используя прерывания)

В результате получаем:

файлы проекта

оригинальный источник

там же можно посмотреть видео с описанием на английском языке.