Отладочный комплект eZ430 Chronos от Texas Instruments

Увидел тут недавно прикольный отладочный комплект. Причем это даже не плата, а законченное устройство в виде наручных часиков — TI eZ430 Chronos.

Я никогда с MSP430 дела не имел, а раз такая няшка грех не воспользоваться моментом. Езжу я часто и порой на неделю-две. С собой вещей минимум.

Нетбук да эти часики и можно по вечерам покурить заодно и процы от TI. Тем более у часов помимо дисплея на борту еще есть трехосевой акселерометр, термометр, барометр и RF модуль на 433Мгц. Раскурив, на их базе можно много чего интересного навертеть. Как то пульт от умного дома или какой-нить регистрирующий девайс. В общем, концепт доставил и я не колебаясь отслюнявил в Элементе 2700р (можно было ощутимо дешевле заказать напрямую в TI Store, но я не хотел ждать доставки из-за бугра).
Итак, что же за счастье не меня свалилось.

Комплектация на пять с плюсом. В добротной картонной коробке, помимо часиков, было обнаружено:

  • USB-JTAG отладчик/программатор TI MSP-eZ430U
  • USB свисток беспроводного модуля. Сделан на базе СС1111 тоже, кстати, интересная штука. Чем то похоже на ZigBee, только подешевле и попроще. На корпусе пожмотили, засунул в термоусадку.
  • Готичная черная отверточка
  • Два запасных шурупчика (sic!) задней стенки часиков. Продуманые, блин.
  • Компашка с софтом и дровами.

Общее впечатление от часиков смешанное. С одной стороны все очень качественно и добротно. С другой — какие же они массивные, черт возьми. Толщина корпуса в районе полутора сантиметров.

И дисплей инверсный, а значит без подсветки хреново считывается. Правда можно попытаться оторвать пленку и повернуть ее на 90 градусов, сменив поляризацию. Но пока я так глубоко не лазил. Подсветка там есть, но больно уж вялая. Хотя, возможно, ее заШИМовали в ноль. Надо попробовать вручную ее зажечь.

Функционал самих часиков обычный. Часы, дата, будильник, показания каналов акселерометра, барометра, скорости и сердечного ритма (два последних требуют внешний датчик, связывающийся по радио каналу).

Ставим родную софтину Chronos Control Center, включаем RF трансивер в USB и можно половить колебания акселерометра.

Там же можно поэмулировать показания спидометра и пульсомера, а также выставить все показания часов/даты с компа. Что удобно. Ну и обновить прошивку. Но об этом попозже.

Быстрый старт
Часики часиками, но пользоваться родной прошивкой уныло и скучно. Надо бы написать какой-нибудь Hello world. Сегментиком подрыгать на дисплее или попищать пикалкой.

Для этого в комплекте на диске шло два компилятора один из них Code Composer Studio, второй IAR for MSP430. CCS на мой нетбук натягиваться не захотел. Наглухо все вешал на этапе установки дров, а вот с IAR проблем не возникло. Встал и все дрова установил как по маслу.
Облазив диски и кучу pdf’ок, что попадались на пути, я не нашел ничего похожего на быстрый старт. Что-куда тыкать было совершенно непонятно. Тем более что с IAR я не особо дружу, предпочитая GCC и Keil. Немного поковырявшись по сайту, набрел на техасовскую wiki откуда дернул описание проца и user manual на него, чтобы знать куда лезть и что крутить. Пришлось включить мозги на полную и за пару ночных часов под чашечку чая я добил эту хрень, заставив работать.

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

Пишем программку в IAR
Ставим, собственно, IAR с диска. Либо находим где-нибудь в интернете (на wiki была ссылка на эту версию IAR). Именно ее потому, что там нужные дрова на eZ430 программатор будут в комплекте. Иначе вам придется их находить и втыкать самостоятельно.

Запускаем IAR и создаем новый проект

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

Сразу же лезем в опции проекта, надо настроить все под наш проц

Откроется окно с кучей вкладок.

А дальше настраиваем следующим образом:

  • Раздел General Options — вкладка Target — параметр Device — выбираем проц CC430F6137 на нем смонтированы наши часики.
  • Раздел Linker — вкладка Output — параметр Format. И тут два варианта. Первый — оставить все как есть.

    Тогда у нас проект сразу ориентирован будет на работу с отладчиком. Второй вариант — сделать Other и выбрать там msp430-txt это формат прошивки похожий на intel hex, но не совместимый с ним. Ну или выбрать intel hex или еще какой, для любителей лишних сложностей. =) Нам пока нужна просто прошивка. Так что ставим на msp430-txt.

  • Раздел Debugger — вкладка Setup — параметр Driver устанавливаем в FET Debugger и галочку Run to Main
  • Раздел FET Debugger — вкладка Setup — параметр Connection устанавливаем в Texas Instruments USB IF. Остальные параметры в Automatic. Галочки не трогаем.
  • Жмем ОК внизу окна и готово.

Вбиваем следующий код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include  "cc430x613x.h"
 
void main(void)
{
// Контроллер дисплея тут аппаратный. Встроен в МК (Рулез!) поэтому 
// У контроллера есть видео память. Пишем туда байты - зажигаются сегменты
// по одному на бит. Для обращения в эту область заведем указатель. Т.к. там 
// адресация байтовая, то будет он char  
unsigned char * lcd_memory;
 
WDTCTL = WDTPW+WDTHOLD;  // Прибьем собаку, чтобы не кусалась.
 
// Настраиваем порты ввода вывода идущие к дисплею на выход
P5DIR |= (BIT5 | BIT6 | BIT7);
P5SEL |= (BIT5 | BIT6 | BIT7);
 
// Очистим дисплей. Для этого воткнем пару битов в регистр контроля видеопамяти
// LCDCLRBM - очистка памяти мигания. Еще толком не разобрался, но вроде как 
// Внесенный туда бит заставляет мигать соответствующий сегмент с заранее 
// выставленной частотой. 
// LCDCLRM - очистка видео памяти
LCDBMEMCTL |= LCDCLRBM + LCDCLRM;
 
// Тут какое то Вуду. Что то связанное с настройками LCD дисплея.
// Частотой его работы и типом мультиплексирования сегментов. 
// Честно спер из какого то аппнота. Вроде работает.
// LCD_FREQ = ACLK/16/8 = 256Hz
// Frame frequency = 256Hz/4 = 64Hz
// LCD4MUX - тип мультиплексирования по четыре сегмента на пин. В данном случае
// для нас не имеет значения, т.к. схемотехника дисплея жестко задана и не 
// меняется. 
// LCDON - включаем модуль.
LCDBCTL0 = (LCDDIV0 + LCDDIV1 + LCDDIV2 + LCDDIV3) | (LCDPRE0 + LCDPRE1) | LCD4MUX | LCDON;
 
 
// Настраивам контролер мигания. Просто задаем его множетель и делитель
// Чтобы получить примерно 1Гц. Биты xxxPREx и xxxDIVx соотвественно. Ну и 
// включаем мигалку. Так веселей.
// Биты LCDBLKMOD1 и LCDBLKMOD0 определяют тип мигания
// 00 не мигают
// 01 мигают согласно карты памяти мигания
// 10 мигают все
// 11 переключение содержимого между областями памяти LCDMx и LCDBMx
LCDBBLKCTL = LCDBLKPRE0 | LCDBLKPRE1 | LCDBLKDIV0 | LCDBLKDIV1 | LCDBLKDIV2 | LCDBLKMOD1;
 
 
// Настраиваем выводы LCD контроллера. Тут биты отвечают за конкретные линии
// Если бит 0 то он играет роль порта ВВ.
// Если бит 1, то он жестко завязан на LCD. У нас схемотехника однозначная
// ошибешься тут - получишь дискотеку на порту :)
LCDBPCTL0 = 0xFFFF;  // Select LCD segments S0-S15
LCDBPCTL1 = 0x00FF;  // Select LCD segments S16-S22
 
// Ну и, собственно, запись в видео память. У нас за каждый сегмент отвечает
// какой либо бит завязаный на биты в видео памяти. Экспериментально я тут 
// протыкал карту памяти. Зырьте внизу ссылочку на фотку. 
 
//Рисуем!
lcd_memory  = (unsigned char *)0x0A21;
*lcd_memory = (unsigned char)(BIT1+BIT2+BIT3+BIT7+BIT6+BIT5);
 
lcd_memory  = (unsigned char *)0x0A22;
*lcd_memory = (unsigned char)(BIT2);
 
lcd_memory  = (unsigned char *)0x0A2B;
*lcd_memory = (unsigned char)(BIT4+BIT6+BIT3+BIT5+BIT2);
 
lcd_memory  = (unsigned char *)0x0A2A;
*lcd_memory = (unsigned char)(BIT0+BIT3+BIT4+BIT5+BIT6);
 
lcd_memory  = (unsigned char *)0x0A29;
*lcd_memory = (unsigned char)(BIT0+BIT3+BIT4+BIT5+BIT6);
 
lcd_memory  = (unsigned char *)0x0A28;
*lcd_memory = (unsigned char)(*lcd_memory | (BIT6+BIT5));
 
// Делать больше нефига. Наглухо втупляем.
while(1)
{}
}

Карта сегментов по битам и адресам (Сырые данные. Опасно для мозга!)

Жмем Project Make (F7) и получаем наш кекс, в фирменном техасском формате. Лежать он будет в папке Exe примерно по такому адресу:

1
c:\Coding\MSP430\EE_msp\Debug\Exe\

Расширение у него будет txt, а внутри будет байда вида:

1
2
3
4
5
6
7
8
9
10
11
12
@8000
31 40 FE 2B B0 13 0C 80 B0 13 76 80 B2 40 80 5A
5C 01 F2 D0 E0 00 44 02 F2 D0 E0 00 4A 02 B2 D0
06 00 06 0A B2 40 1D 7B 00 0A B2 40 EE 00 04 0A
B2 43 0A 0A B2 40 FF 00 0C 0A 3F 40 21 0A FF 40
EE 00 00 00 3F 40 22 0A EF 42 00 00 3F 40 2B 0A
FF 40 7C 00 00 00 3F 40 2A 0A FF 40 79 00 00 00
3F 40 29 0A FF 40 79 00 00 00 3F 40 28 0A FF D0
60 00 00 00 FF 3F 80 00 7A 80 80 00 7E 80 FF 3F
@FFFE
00 80 
q

Теперь запускаем наш Chronos Control Center, предварительно не забыв воткнуть в порт RF трансмиттер.

Выбираем нашу прошивочку.

Немного ловкости рук. Выбираем на часах, нажимая кнопку #, режим rFbSL. Дальше в проге жмем Update Chronos Watch, а на часах стрелку вниз. Пробежит прогресс бар и часики уже больше не часики. А мигающий транспарант, неиллюзорно намекающий:

Вот только западло — в часах оказывается был не бутлоадер. А самая обычная прошивка которая сейчас сама себя вынесла. И теперь оно может только намекать на мои пристрастия :)

Делать нечего, придется брать готичную отверточку и вскрывать корпус, извлекая шняжку на свет. Родной мануал говорит, что батареечку надо извлекать. Не будем спорить. Выковыряем. Подключим все к нашему адаптеру. Тут, кстати, надо следить за тем, чтобы пластиковые упорные усики не сковырнули кондеры, что там стоят. Этот момент тоже в мануале отражен. Видать были прецеденты :) Ну и втыкаем все в комп.

Возвращаем часы взад
Как первратить алкотранспарант обратно в часы?
В папке от Chronos Control Center есть исходники и хекс с прошивкой. Но чем ее запихать? На это была найдена дивная программка MSPFET от некого Курта.

Замечательнейшая вещь! Простая как валенок и в то же время функциональная и приятная в использовании.

Похожа чем то на UniProf.

Чтобы она заработала с нашим eZ430U дебагером надо ей подсунуть в чрево файлы

  • msp430.dll
  • hil.dll

которые берутся из недр установленного нами IAR (в CCS тоже наверное должны быть). В IAR они у меня лежали по адресу:

1
c:\Program Files\IAR Systems\Embedded Workbench 6.0 Kickstart\430\bin\

После лезем в настройки проги и выбираем в качестве адаптера MSP430.dll

Дальше тривиально. Стираем кристалл (обязательно! Иначе залитая прошивка будет работать некорректно). Выбираем прошивку с часиками и накатываем. Шьется долго, минуты три наверное. После чего часики вновь оживают.

Есть конечно и официальный Smart RF Flash programmer который позволяет шить через eZ430U. Но мне он не понравился. Какой то монстровидный двадцати мегабайтный монстр который понимает только hex (даже родной TI TXT не умеет). Бррр. Совсем нюх потеряли.

В топку часы!
Даешь отладку в железе! Переходим опять в IAR, где наша прога. Заходим в свойства проекта и в разделе Linker — Output — Format переключаем все вновь на Debug Information for C-SPY.
Сохраняем и жмем кнопку Download & Debug (Ctrl+D). IAR немного протупит, а потом появится следующая шняга:

Усе. Можно отлаживать по шагам, шерстить по переменным и наслаждаться жизнью. На этом все :)

З.Ы.
Часики я ковыряю редко, время от времени. Когда делать совсем нечего. Когда где-нибудь в глуши, где нет ничего кроме. Так что материал по ним буду давать по чайной ложке.

А если интересно, то в сообществе SerjT потихоньку двигает свой курс по MSP430. Там правда платформа другая, но это не важно. Ядро то то же самое.

З.Ы.
Ну, а конкурс сообщества уже подходит к концу, а значит там образовалось почти 100 весьма доставляющих постов.
Тематика обширная. Много очень про ПЛИС, начало учебного курса по STM8, эпическая сага о построении полноценного вебсервера с чатиком и миганием диодиков на ATMega32 от LifeLover’a, с пол десятка толковых статей про эффективное использование С++ на контроллерах от Neiver.

И еще многое и многое обо всем подряд.

108 thoughts on “Отладочный комплект eZ430 Chronos от Texas Instruments”

  1. Уже месяца 3 как счастливый обладатель. Вещь!

    Так как времени мало, то ковырял их не сильно. Глядя на объемы проекта дефолтной прошивки, писать код с нуля и мысли не возникло. Хотя там не так все страшно как кажется, разобраться можно. Так что я выпилил оттуда протокол blue robin, чтоб освободить чуть места для себя и ринулся в эксперименты, дописывая готовое благо там все довольно удобно.

    Меня более всего интересовал радиоканал. Сначала пытался продешевить и связать часики с копеечным модулем rfm22 такой же частоты. Мне не удалось, но мож мало пытался.

    В итоге купил от TI 100% совместимые модули cc1110dk-mini-868

    http://focus.ti.com/docs/toolsw/folders/print/cc1110dk-mini-868.html

    Полюбился еще и с протоколом SimplisiTI, но все получилось.
    Мне это надо для сигналки, чтобы часы использовать вместо брелка/пульта.

    Правда в самих часах очень тихий буззер, но это я надеюсь подправить запихнув туда другой (немножко места там есть).

    В опытах над часами сильно помогла wiki-страница chronos с проектами сообщества.

    Здорово что у DI теперь тоже есть такая хрень :)

      1. Если говорить про совместимость Chronos и RFM22 (RFM02), по помимо частоты там еще просто

        прорва радио параметров (модуляция, каналы и еще штук 10), которые также есть и в RFM вроде, но я

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

        хотелось бы связать chronos с дешевыми модулями, но я решил не тратить время и купить точно

        совместимый.

        Протокол в часах SimplisiTI от TI.

        А кто говорил про авто? Я для вело делаю :)

        1. 0_0
          Типа, если кто-то будет трогать вел, пока ты в магазине, например, на часы оповещение придет? Удобно. Только уж больно часы топорные, неудобно такие носить постоянно.

  2. > (можно было ощутимо дешевле заказать напрямую в TI Store, но я не хотел ждать доставки из-за бугра).
    Да там ждать-то… MSP430 Launch Pad ко мне быстрее чем за недельку приехал.

    Частота радиомодуля странновата, в таких габаритах логичнее ожидать 2.4ГГц. Впрочем, это у TI такая фишка, привязывать все связанное с MSP430 к числу 430) Тока цена неправильная, должно быть 43 бакса)
    Дороговата игрушка… :(

      1. Приехал сабжик. 10 дней с момента заказа. Правда, таможня (лучи поноса ей, кровавого) тормознула заказанную одновременно MSP430 Launch Pad — слишком он им, видите ли, дешевым показался. А доставка федексом и они предлагают явиться в москву для подтверждения >_<

  3. Прикрути туда ИК диод и управляй своими МелкоМашинками с помощью акселерометра :)

    А вообще, не так и дорого (я про TI Store). Мои часы дороже стоят, но они без акселя и передатчика.

    Кстати, TI мне семплы давать не хочет :( Лучи ненависти в их сторону! (У них там ИК-термометр новый возник — раздают)

      1. А памяти у этого МК сколько? Прошивка под TV-B-GONE для AVR c кодами команды отключения для разных телеков занимала чуть меньше 8кб. Причем 95% там занимала таблица кодов. И перебирает она их довольно долго. Можно конечно отсортировать этот список, да выкинуть всякие американско-китайские модели, которые у нас не встречаются, но это влом.

        Вот такая игрушка, этот термометр: http://focus.ti.com/docs/prod/folders/print/tmp006.html

  4. А такую штуку можно прикрутить к компу и использовать в качестве указателя? То есть чтобы акселерометры передавали показания на комп, и на компе эмулировался HID-девайс типа мышь?
    Вообще, очень заинтересовал девайс. С одной стороны функциональные часы, с другой очень универсальный девайс, который можно колбасить как вздумается, еще и при поддержке производителя.

    1. Акселерометрная мышь работает из коробки. Это стандартная фича софтины. Надо только чтобы она запущена была фоном. Но никто не мешает сделать и свой драйвер. Доки по работе с трансивером СС1111 есть и даже с примерами.

  5. О спасибо за статью. Я тоже себе с эбея купил такие часики но дальше стандартных игрушек дело пока не пошло. Тем кто говорит что не удобно носить каждый день скажу так- удобно! Они чуточку больше тех часов которые носил до них а на руке смотрятся очень красиво)

  6. Довелось побывать на семинаре у техасцев. Два дня часы отжигали), ими лектор переключал слайды, так в первый день периодически терялась связь, приходилось переподключать. Оказалось они отключают канал через некоторое время бездействия. На второй день после очередного расконнекта подключить так и не удалось, пришлось взять пульт. Может экземпляр бракованый попался.

  7. Сделал под IAR — индикацию дня недели, пищалку каждый час (привычка с casio), прогнозирование погоды (считается производная атм. давления за час — и делается вывод), атм. давления в мм.рт.ст. В добавок сделал отображения времени, даты и прочее на нижней строчке (чтобы было удобно знать который час, наблюдая за высотомером и прочее). Кстати, в исходниках под IAR ошибочка, из-за которого отрицательное значение высоты не показывается. Для лечения заменить тип return с Unsigned в Signed — в соотв. процедуре.
    Выкинул из меню пункты, которые никогда не будут использоваться мной, т.к. надоедает щелкать режимами.
    Если кого интересует мой патченный проект под IAR могу скинуть…

          1. un H — unstable high (производная давления слишком высокая)
            un L — unstable low (производная давления слишком низкая)
            производная показывается след. пунктом (цифра в Па и стрелка вверх или вниз)
            Сам алгоритм я взял из AN33 «SCP1000-D01/D11 Pressure Sensor as Barometer and Altimeter» фирмы VTI Technologies

        1. Вы модифицировали V1.6 (21.11.2010) ?
          Обнаружил что к моим часам шли исходники V1.5 (16.03.2010)!
          Даже открываться проект не хочет корректно. Типа разрушено буду открывать backup. И ругается на несовместимость версий IAR. Мне положили старый Диск?
          Залить прошивку удалось. Появились новые пункты меню. Подсветка 3 сек.
          Кто сталкивался. Отпишитесь. Пож.
          Удачи!

            1. Вы успешно пересобирали весь проект? Получалось создать .txt файл для заливки?
              Я имею ввиду с IAR v5.20 триальной. Потому как я пытаюсь модифицировать структуры в папку driver. Сыплются предупреждения. Пытаюсь пересобрать всю папку driver получаю при линковке ошибку про размер кода.
              Получается на триальной версии не получится модифицировать структуры? Так то код добавить можно, если он не связан с определенными структурами в заранее собранных модулях.
              Есть в природе удобные freeware компиляторы?

              1. Сегодня пересобрал свой проект под IAR MSP430 KS 5.30 только что скачанный с IAR.com. Все скомпилилось нормально. Попозже (завтра?) перезалью проект по вышеуказанной ссылке. Вроде бы структуры у меня модифицировались… Freeware не пользовался, т.к. не было времени изучать.

                В кратце о том что я сделал.
                Выставив на нижней строке клавишой # режим «дата/время» c помощью нажатия на клавишу «вниз» можно выбрать: режим «день недели/число», «число/месяц», «год», «ЧЧ:MM» , «секунды». Что как мне кажется очень удобно.
                В режиме высотометра.
                Нажимая клавишу «вверх» поочередно выбираются режимы:
                1) Высотомер (на экране стрелка показывает знак, далее значение высоты и единица измерения)
                2) Отображение атмосферного давления в ГПа (на экране значок /h)
                3) Отображение а.д. в мм.рт.ст (на экране значок AM (типа мм :-) )
                4) Отображение текущей производной а.д. считается за 15 минут и экстраполируется к производной за час (умножаю на 4)(на экране значок /h и стрелка указывает на знак производной)
                5) Текстовая расшифровка прогноза (мигает значок R — значит идет регистрация и текстовая метка «STAB» — стабильная погода, UN H/UN L — слишком большая производная вверх или вниз, SUN — ясно, RAIN — дождь.

                В процессе пользования бывает необходимо привести давление, измеренное датчиком к высоте над уровнем моря (то давление, которое передает метеослужба). Для этого есть соответсвующий пункт настройки.
                Жмем и удерживаем * несколько секунд — входим в режим настройки смещения высоты в метрах ( на нижней строке надпист ALT), далее жмем # — на экране OFFS и стрелками меняем смещение а.д. вверх или вниз в гПа.
                Далее эта величина смещения будет прибавляться(вычитаться) к показаниям встроенного датчика… Вот вроде и все.

              2. Да, с MSP430_txt файлами в IAR kickstart засада: кроме .d43 он не умеет ничего генерировать… И исходники драйверов он не дает изменять, поскольку настроено подключение готовых модулей… А при попытке скомпилить свое конечно же вылезает сообщение о превышении лимита памяти.
                Ксати, txt файлы в kikcstart’t можно хитро сгенерировать вот как: запускаем отладку в симуляторе (Ctr+D), а уже там сохраняем память ПЗУ как msp430_txt :)

  8. Попытался заказать с estore.ti.com
    Деньги за заказ блокируются. Через некоторое время в личном кабинете в заказе появляется надпись ** Your order has been cancelled or invalidated.
    Заказывать пробовал как на 433 так и на 898
    Связался с супортом рускоговорящим. Обещали решить проблему.
    Кстати если заказывать то имет смысл 898 так как 433 не поддерживает аксессуары.

  9. хочу уточнить, я так понял что функция сердечного ритма из коробки не поддерживается — нужно докупать датчик и доделывать софт, верно?

    ищу себе часы с пульсом для спорта, думаю — мож эти подойдут.

  10. Пока ждал JTAG для одной платы, купил ez430-chronos. Пришел за неделю, FeDex, до порога.
    Собрал проект 433MHz — Limited IAR Kickstart (Other regions)
    Собралось! Залил через USB платку собранную прогу, походил по шагам. Работает.
    Решил принять данные на PC
    http://easyelectronics.ru/repository.php?act=view&id=56
    Было уже 4 утра=)
    Тем не менее акселерометр отвечал бодро, логи сыпались шустро.

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

    Fatal Error[e90]: Can only generate UBROF output from these files
    Error while running Linker

    Что это? Форумы иностранные пишут об аналогичной проблеме. Кто то предлагает конвертировать через — Elprotronic FET Pro430 Lite.
    Как заливаете вы? Или все таки отверткой обходитесь?)

  11. Продолжая искать возможность скрестить MSP-eZ430U с linux.
    Наткнулся на интересный линк http://homepage.mac.com/skimu/msp430/dfw/inst-eZ430U.html

    D/FW is an open source, experimental, and unofficial firmware for eZ430U debug interface. By installing this firmware you can use eZ430U natively on MacOSX, Linux, or other popular Unix systems. Note that once you install this firmware, your eZ430U is no longer usable with TI’s official tools, but once you have D/FW equipped 4 wire FET (such as FET430UIF), you should be able to backup/restore the TI’s original firmware from another untouched FETПродолжая искать возможность скрестить MSP-eZ430U с linux.
    Наткнулся на интересный линк http://homepage.mac.com/skimu/msp430/dfw/inst-eZ430U.html

    D/FW is an open source, experimental, and unofficial firmware for eZ430U debug interface. By installing this firmware you can use eZ430U natively on MacOSX, Linux, or other popular Unix systems. Note that once you install this firmware, your eZ430U is no longer usable with TI’s official tools, but once you have D/FW equipped 4 wire FET (such as FET430UIF), you should be able to backup/restore the TI’s original firmware from another untouched FET

    Это получается полноценный нативный JTAG но уже не для TI процесcоров?
    Под линуксом кто пробовал с этой платой работать? Не только LINUX I386.

    P.S.
    Elprotronic FET Pro430 Lite — конвертирует прошивку в txt, но заливка по беспроводному интерфейсу неуспешно завершается. Девайс не работает. Приходится раскручивать его и втыкать опять через USB

    Это получается полноценный нативный JTAG но уже не для TI процесcоров?
    Под линуксом кто пробовал с этой платой работать? Не только LINUX I386.

  12. эх, вспомнить что ли быдлокодинг далекой молодости? :)

    пара вопросов:
    1. часы водозащитные или нет?
    2. в чем отличие 433, 868 и 915 МГц? стОят одинаково. или так — какие лучше взять?

          1. Нет. На нем 96 элементов вообще. Т.е. каждый семисегментник — это 7 сегментов дисплея. Связано это с особенностями динамической индикации на ЖК — там обычно несколько (1-4) групп по дофига сегментов.

    1. 1. Вроде пишут что да, но на мой взгляд — не более чем хорошо брызгозащищенные.
      2. Только в рабочей частоте. Ну и вроде бы под 915 родных причиндаликов поболее будет. А вообще для ISM в России более популярен 433 диапазон.

    2. вопрос про частоту частично снимается — это частота, на которой, как я понимаю, работает приемник радиосигналов. тогда вопрос — 433 вроде как более распространеннная частота? если да, брать эту версию?

        1. На вики некий немчик управляет радиорозеткой на частоте 868МГц (протокол отреверсил). Так что не всё так однозначно. Я тоже хочу что-то подобное организовать, но нигде не могу достать розетку на эту частоту. Зато на 433,92 МГц их прямо завались. =(

      1. Тут где-то в этой (вроде) теме советовали брать 915 чтоли — т.к. тока на эту частоту есть опциональные датчики от BM Innovations. Если, конечно, ты их вообще соберешься покупать.
        > Вроде пишут что да, но на мой взгляд — не более чем хорошо брызгозащищенные.
        Они вроде примерно это и пишут, что защита этого уровня тока от брызг.

  13. Установил на CygWin:
    http://mspgcc4.sourceforge.net/

    Собрал под mspgcc4:
    https://github.com/poelzi/OpenChronos/

    В целом заработало. Слегка правил. Не могу задебажится gdb. Заливается код в часы медленно. >load file_with_debug_info.elf работает. Точку breakpoint ставится, но не на нем не остановится.

    Я пользовал MSP430-gdb:
    http://wikis.lib.ncsu.edu/index.php/MSP430-gdb

    Нащел доку:
    http://robust.cs.utep.edu/arch1/msp430/doc/msp430.pdf
    Кто пользовался? Вроде как не совсем подходит, для наших часиков, но подробный документ.

      1. Напиши как ты их перепрошивал, пожалуйста. Когда я в ИАР пытаюсь сгенерить прошивку в формате msp430-txt, он выдаёт — Fatal Error[e90]: Can only generate UBROF output from these file. Пробовал и в старой версии которая идёт на диске и в новой (5.40). Так же пробовал и со старой прошивкой с диска (1.5) и с новой (1.6) и с прошивкой от Sonny. В формате d43 всё компилится. Пробовал переконвертить d43 в txt с помощью Lite FET-Pro430 . Прошивка заливается, часы превращаются в кирпич, как то странно заплывают некоторые сегменты на дисплее. Восстановить можно только заливкой дефолтной прошивки через программатор.

  14. А как в среде разработки этих часиков организована работа с акселерометром? Есть готовые функции, определяющие направление и ускорение движения со сглаживанием или там, интерполяцией, или нужно все самому считать?

  15. А сколько обычно тупит IAR после того, как нажать Debug? У меня он наглухо виснет, я несколько раз пробовал, ждал минут по 10, эффекта 0. Ни у кого не было такого? Система Win7 x64, пробовал из-под админа запускать (при установке он ругался, что мол могут быть проблемы из за венды).

  16. Приобрели два комплекта таких часиков. Во-первых смутил небольшой радиус действия — где-то сантиметров 20. Причем в обоих комплектах такая фигня. На фоне утверждений о радиусе дествия в десятки, а то и сотни метров, это более чем странно. На форуме TI нашел еще такого «счастливца», у которого радиус действия около 5 см. Техасовцы ему дали ответ, что это производственный брак и такое иногда встречается, но как исправить не сказали. КТо-нибудь с подобным сталкивался?

    И еще во время экспериментов одни часики окирпичились полностью. Программатор их не видит и не дает зашить вообще никакую прошивку. Подобная проблема встречается с AVR, когда запограммировать фьюзы на работу от внешнего генератора, контроллер нельзя запрограмировать, пока не подать внешнюю частоту на XTAL1. Я не спец ы MSP430, может тут тоже что-то подобное случилось? Можно ли как-то оживить контроллер и зашить его?

    1. Техасовцы ему дали ответ, что это производственный брак и такое иногда встречается, но как исправить не сказали.

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

      По поводу кирпичика — прежде всего стоит проверить на исправность программатор (воткнуть в него вторые часики, проверить, не сковырнуло ли кондеры усиками), затем — необходимые для прошивки цепи МК (питание, тактовый генератор, цепи подключения к программатору — мож оно тупо не контачит). Если все же ничего не поможет — можно попробовать поменять МК (если, конечно, они уже есть в продаже, а то TI что-то говорила насчет того, что это «experimental silicon»). Фьюз там только один — отключить JTAG, но его можно пережечь только с UIF-FET программатором (USB JTAG/SBW программатор за 100 баксов), ни SBW-FET обрезки, ни PIF-FET не позволяют этого сделать.

      Ну и опять же, я думаю, можно по этому поводу потыкать непосредственно TI.

  17. Извиняюсь за повтор сообщения, выше уже писал, но помогите пожалуйста:

    Когда я в ИАР пытаюсь сгенерить прошивку в формате msp430-txt, он выдаёт — Fatal Error[e90]: Can only generate UBROF output from these file. Пробовал и в старой версии которая идёт на диске и в новой (5.40). Так же пробовал и со старой прошивкой с диска (1.5) и с новой (1.6) и с прошивкой от Sonny. В формате d43 всё компилится. Пробовал переконвертить d43 в txt с помощью Lite FET-Pro430 . Прошивка заливается, часы превращаются в кирпич, как то странно заплывают некоторые сегменты на дисплее. Восстановить можно только заливкой дефолтной прошивки через программатор.

    Желательно чтоб программировать по wireless update, не хочется каждый раз разбирать.

    1. Я не знаю как решить вашу проблему. Т.к. с этими часами и вообще с мсп430 работал ВСЕГО около восьми часов своей жизни. Все что я достиг указано в статье. Остальное курите сами, я знаю не более вашего. Да, прошивка по воздуху доступна только для бута хитрого. Его вам надо написать самостоятельно или выдрать из сорцев оригинальной демки часов.

  18. В support Fedex сказали, что не запрешено перемешать в Россию только 433 Мгц. Было бы здорово собирать прошивку из кухни, сделанной на основе модификаций openchronos.

  19. Спасибо за статью! Как раз то что нужно мне было в качестве «Быстрого старта», чтоб понять принцип как работать с девайсом.
    Я тоже приобрёл себе этот комплект с европейской частотой 868. Обновил штатную прошивку до версии 1.6 по радио. Потом поотлаживал эмулятором из IAR, всё работает. Теперь буду думать, что я собственно хочу от данного девайса, чтоб начать программировать.

    1. Сам себе отвечаю :-) Штатная прошивка и правда отстой. Залил прошивку от Sonny, что он разработал, спасибо ему за труды! Там почти все функции, что я сам хотел добавить в устройство! Особенно порадовал прогноз погоды — уже 2 дня по совету часов беру зонтик утром и они не обманывают — дождь действительно идёт. Вопрос: Может, кто-нибудь уже устранил глюк со спешащим секундомером (за 20 мин + 5 минут!)? Посоветуйте, как это исправить.

  20. Тоже установил прошивку от Sonny, но что-то не идет предсказание погоды — с утра показывал 740 мм. рт. ст. , к вечеру стало 738, была переменная облачность, а сейчас(поздний вечер) идет достаточно сильный дождь, а часики показывают «стабильно», так что какая недоработка, либо я что-то сделал не так?

  21. Перепал и мне данный комплект со скидкой. Грех было не взять :)
    Внесу свои 5 копеек. Как часы устройство ужасно. Блеклый дисплей, неудобные кнопки и монструозные размеры, причем это подчеркивается малой шириной и большой толщиной корпуса. Для сравнения, мой повседневный «джи-шок» такой же толщины, но раза в полтора шире и за счет формы корпуса как бы обнимает запястье, совсем не выглядит огромным. В общем эргономикой в поделии от TI и не пахнет. Вызывает сомнения долговечность конструкции кнопок, точнее применение вместо полноценных кнопок гибких контактных лепестков. Копеечная экономия, а ради чего? Про дисплей уже сказано многими и многое, но добавлю от себя. Подсветка электролюминисцентная пленочная, на другую, судя по всему, просто не хватило места. Яркость максимальна, у меня на «шоках» такая же — проблема в поляризационной пленочке на заднем стекле дисплея, она «съедает» больше половины яркости. Сразу предостерегаю от попыток ее отклеить, она рвется, крошится и расслаивается — уже пробовал сам. За контактные пружинки инженерам TI посылаю отдельные лучи поноса. Ту, что для пищалки, потерял после первой же разборки корпуса. Пришлось колхозить другую, наматывая на иглу ножку от резистора. Пока пищит вроде :)
    В софте еще не копался. Парень, что продал мне их, сказал, что на базе этих часиков и Raspberry Pi можно сотворить весьма удобную систему управления домом — на порты GPIO «пирожка» повесить исполнительные устройства, а часы будут служить пультом с обратной связью. Интересная тема, надо поизучать.

  22. Случилась такая проблема, может кто сталкивался? Начала дохнуть батарейка. Ну дохнет и ок, бог с ней. Пришло ее время, часы вырубились. Какое-то время полежали в ящике стола, сегодня купил новую, заменил. Включаю девайс, он работает секунд 5 и гаснет. Если понажимать на кнопки, то «просыпается» и через 5 сек снова гаснет. Если попробовать активировать радио-канал, то сразу же выключаются, то же самое и с акселеометром. Через юзб полет нормальный, читает флэшку, очищает, записывает на нее, т.е. перепрошивка устройства не помогла(( Есть какие-нибудь мысли? Внешне все вроде в порядке… Девайс не били, не роняли, водой не поливали. Батарея установлена maxell cr2032 3v (родная, что села — maxell CR2032 H)

  23. Всем привет, кто подскажет к кому можно обратиться ламеру с вопросом о использовании библиотек из рабочей среды CCS для ez430, не могу разобраться как использовать остальную периферию, только с дисплеем и играюсь.

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