4E4th + TI LaunchPad. В начале было Слово.

После нескольких экспериментов и вводных слов (раз, два) пора переходить к рассмотрению внутренних механизмов нашей учебной форт-системы 4e4th. Иначе, как мне кажется, народу скоро наскучит зажигать светодиоды из терминала и забавляться вывернутой наизнанку логикой стековой машины.

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

В связи с этим подумалось, что те люди, которым интересна данная оригинальная технология программирования родом из 70-х, могли бы сами потихоньку копать в интересующем направлении, но для этого нужно уяснить несколько базовых принципов и основ построения forth.

Это именно то, чего лично мне не хватило несколько лет назад, чтобы вплотную заняться заинтересовавшей меня темой фортостроения, ну и отсутствие на тот момент готового рабочего образа системы под конкретное имеющееся железо.

Таким образом, сегодня рассмотрим строение основополагающего компонента любой forth-системы — слова.



Читать дальше

4E4th + TI LaunchPad. Основы языка Forth

В прошлый раз я представил общественности учебное компактное ядро forth, целиком размещаемое в 8 из 16 кБ флеш памяти MSP430G2553 и полноценно функционирующее, несмотря на смешные по нынешним временам 512 байт ОЗУ, в которых разместился буфер вводимых через UART команд, два стека (данных и возвратов) и пользовательский словарь, в который складываются вновь скомпилированные слова.

Дополнительные возможности (по сравнению с прототипом — CamelForth) дает слово save, которое сохраняет новые слова, введенные пользователем, в флеш память, освобождая ОЗУ.
(На самом деле это слово делает что-то другое, пока точно не разобрался. А слова изначально сохраняются в пользовательскую половину флеш памяти.)

Так как был высказан интерес к теме, продолжим изучение основ фортостроения вообще и особенности конкретной реализации 4E4th.


Читать дальше

Виртуальная машина и скриптовой движок в MSP430G2553 - проще пареной репы. 4e4th + TI Launchpad

Вот и дождался я своего launchpad'a!
Жажда халявы и широкий пеар в узких кругах сделали свое черное дело :)
Ну да ладно, пора к делу.

Итак,

постановка задачи

Дано:
непонятная красненькая плата со штырьками PLS-ок, USB шнурок и… собственно, всё.
Никаких ардуин на компе, никаких иаров, композеров, и даже MspGCC вне досягаемости.

Требуется написать и разместить в памяти контроллера программу, выполняющую какие-либо полезные действия.
С помощью циркуля и линейки, то есть консоли и терминала.
Страшно?!

Возможно, олдфаги мне скажут — «фигня вопрос, мы-то в советские времена ещё и не такое делали». Пожалуй, соглашусь. Было время, рисовал в клетчатой тетради листинги в машинных кодах (!) Z80, а потом забивал в память с помощью простейшего «загрузчика» INPUT-POKE addr-GOTO 10 (ностальжи :)

Однако, отвлекся. Это ещё не все. Определим, что же будет делать наша программа.
Пусть будет джентльменский набор новичка. То есть:

  1. Измерение напряжений на аналоговых входах. Измерение внутренней температуры.
  2. Управление внешними устройствами
  3. Опрос дискретных входов (кнопка S2)
  4. Вывод на индикатор
  5. Форматный вывод в UART
  6. Командный интерфейс через UART

Но и это ещё не всё.

7. Предоставим пользователю возможность переопределять функции по своему усмотрению через тот же терминал, подключенный к UART-у.

Вот теперь всё.


Читать дальше

Порт прошивки poelzi-OpenChronos обратно в CCS5

Об отладочном наборе ez430-Chronos писал только не ленивый.

Полгода назад сам купил такой набор, но пользовался уже собранной альтернативной прошивкой от poelzi-OpenChronos (несколько устаревшая ветка проекта под mspgcc). Линукса нет, с cygwin не срослось, а CCS5 очень даже нравится (дада, eclipse).

Сейчас довольно грубо перенес проект в IDE CCS5. Т.е. используется include/config.h (ага, который make config надо делать), но я привык его править руками. Хотя часть фишек надо бы перенести в конфигурации (в частности, частоту RF).



Читать дальше
  • +3
  • 28 октября 2012, 20:30
  • hexus
  • 1

Подключение ds18b20 к msp430 (Launchpad)

Долго ли коротко ли...

Заказал я себе халявных сэмплов от maxim (C), — датчиков температуры "ds18b20",  они мне довольно шустро были доставлены благодаря FedEx, и начал я с ними разбираться
запись в блоге
вы18и20-рв44780
ds18b20


далее

Об использовании драйверa ЖКИ CP2401

Один из вопросов, возникающих при проектировании устройств с батарейным питанием — это какой использовать индикатор. Знакосинтезирующие и графические ЖКИ наиболее универсальны в плане отображения различных символов. Однако, их контроллеры потребляют слишком много энергии, что в ряде случаев может быть неприемлимо в условиях длительной непрерывной работы прибора. Голые сегментные индикаторы (стекляшки) наиболее привлекательны в плане энергопотребления и могут управляться непосредственно от МК, особенно если в нем имеется контроллер ЖКИ, или от специализированных микросхем драйверов. К сожалению, распространенные 7-сегментные индикаторы не позволяют нормально отобразить большинство букв. Вот тут-то на помощь и приходят 14-сегментные ЖКИ. На них помимо цифр хорошо отображаются все буквы латинского алфавита и множество других символов.



Читать дальше
  • +9
  • 21 августа 2012, 22:14
  • Ser60
  • 1

Использование аппаратного I2C MSP430LaunchPad и EZ430-F2012 для подключения сегментного индикатора МЭЛТ-10

Поскольку процессоры MSP430G2553 и MSP430F2012 имеют на борту аппаратный I2C, то захотелось подключить сегментный индикатор МЭЛТ-10 не программным способом ( как описывал в предыдущей заметке), а используя железо.
На просторах интернета обнаружил некоторое количество ругани на примеры от Texas Instruments в смысле их неработоспособности, нечитаемости и т.д. Однако, усомнился в том, что у столь серьёзной фирмы инженеры не думают об упрощении жизни конечных пользователей.

Читать дальше
  • +4
  • 15 августа 2012, 07:00
  • libval
  • 2

Energia - пишем программы для LaunchPad в стиле Arduino

Лазая по сайту TI, наткнулся на упоминание еще одной IDE для MSP430 — Energia. Разработчики предлагают программирование LaunchPad в Arduino-стиле:

Energia - загрузка скетча в камень


Читать дальше

Подключение 7-сегментного индикатора к msp430g2553 (launchpad) по SPI


Подсадил меня недавно один хороший товарищ на Launchpad (чему очень рада моя дорогая супруга), мигать светодиодами я научился быстро, в COM-порт плеваться показаниями встроенных датчиков температуры и напряжения научился, захотелось чего-то более приземлённого.

далее про драйвер tm1638

Подключение к MSP430LaunchPad сегментного индикатора МЭЛТ по I2C


Потребовалось подключить к MSP430 Launchpad дисплей для отображения простейшей информации.
Подробно описанное в инете подключение графического дисплея от Nokia не устроило ввиду значительного объёма библиотеки, кропотливости работы по распайке оного устройства, да и просто излишества функций.


Читать дальше