19 декабря 2013 г.

Нататкі аб RL78: Сапраўднае прывітанне праз УАПП

Так склалася, што УАПП з'яўляецца, напэўна, самым распаўсюджаным інтерфесам для сувязі прыбораў з навакольным светам. УАПП гэта Унівярсальны Асінхронны Прыёмма-Перадатчык, або Universal Asyncronous Reciever-Transmitter (UART) па ангельскі.

7 октября 2013 г.

Стварэнне выяў для чорна-белых графічных жыдка-крысталічных індыкатараў у GIMP

Пры працы з графічнымі ЖКІ найбольш складаным (маё меркаванне) з'яўляецца стварэнне малюнкаў (а таксама і шрыфтоў) у прыгодным для індыкатара фармаце.

Існуе шмат спецыяльных праграм, каб пераўтварыць выяву ў зыходны код. Адна з іх LCD Image Converter, напрыклад.

Нашчасце, гэта праблема існуе доўгі час і была вырашана радыкальным спосабам. Навошта пераўтвараць малюнкі ў зыходны код? Лепей захоўваць малюнкі адразу ў форме зыходнага коду. Для гэтай мэты быў створаны фармат XBM (X BitMap), а таксама некаторыя іншыя, аднак XBM нас цікавіць зараз болей за іншыя.

27 сентября 2013 г.

Нататкі аб RL78: Прывітанне свет, альбо запальванне святлодыёда

Традыцыйна, вывучэнне новай мовы праграмавання пачынаецца з напісання самай простай праграмы, якая толькі і робіць, што друкуе прывітанне свету. Гэтак абстаяць справы на вялікіх кампутарах. На маленькіх жа ў нас няма дапаможнікаў у выглядзе АС і нам прыйдзецца рабіць усё самім. І сярод гэтага "усяго", вывад прывітання ня самая простая справа. Таму, для маленькіх кампутараў (мікрокантролераў) уводная праграмай з'яўляецца запальванне альбо мірганне святлодыёдам.

19 сентября 2013 г.

Нататкі аб RL78: Падрыхтоўка

Для напісання і адладкі прашывак нам спатрэбіцца: тэкставы рэдактар, кампілятар, загрузчык, плата з МК і пераўтваральнік USB-UART са схемай падключэння да платы.

14 сентября 2013 г.

Нататкі аб RL78: Уводзіны

Пад гэтай назвай буду збіраць нататкі аб мікракантролерах Renesas RL78.

Для распрацоўкі прашывак буду выкарыстоўваць кампілятар GCC (дакладней GNURL78 ад KPITGNUTools). Распрацоўка будзе праходзіць пад АС GNU/Linux пры дапамозе make, rl78flash і, мабыць, яшчэ некаторых, якія прысутнічаюць ва ўсіх дыстрыбуцыях GNU/Linux.

Усе прыклады будуць для чыпа R5F104FEAFP. У ім ёсць шмат перыферыі, якую можна выкарыстоўваць, каб аблегчыць справы для ядра мікракантролера. Ня гледзячы на мой выбар чыпа, большасць прыкладаў будуць працаваць і на іншых прадстаўніках сямейства RL78, але з малымі папраўкамі на выкарыстаныя вывады корпуса, хуткасць працы і інш.

Гэтыя мікракантролеры арыентаваны на малое спажыванне току. Таму, акрамя прыкладаў коду, час ад часу, будуць замеры току.

Нажаль, адладчыка не існуе, які бы працаваў на кампутары с АС GNU/Linux. Замест яго будзем карыстацца модулем UART, па якім будзем вывадзіць прамежкавую інфармацыю.

Спадзяюся тлумачэнні будуць простымі :)

8 сентября 2013 г.

Замова плат складанай формы ў SeeedStudio

SeeedStudio прапануе сэрвіс па вытворчасці плат памеры якіх кратны 5 см (у даўжыню і шырыню). Напрыклад, калі вам патрэбна плата 2х13 см прыйдзецца замаўляць па тарыфу для 5х15 см. Абмежаванняў на форму плат у дадзеных памерах няма. Форму платы трэба маляваць у слоі які, у выніку, трапіць у gerber файл з пашырэннем gm1 (альбо слой мае імя 'outline', калі вы выкарыстоўваеце gEDA PCB).

Як гэта выглядае ў тэорыі:

Акрамя формы, у гэтым жа слоі можна маляваць адтуліны (таксама прысутнічаюць на малюнку ў левай верхняй частцы платы). Адтуліны будуць без металізацыі.

Як гэта выглядае ў жыцці:

31 июля 2013 г.

Android 4.3 на Nexus 7 (2012) и Bluetooth Low Energy часть 2

Ранее пытался опробовать 4-ую версию Bluetooth на планшете, но ничего не вышло. С выходом Android 4.3 появилась надежда, что вторая попытка будет более успешной.

И вот, скачан Android SDK, собран проект bluetoothlegatt из каталога samples/legacy.

И....BLE is not supported

Вывод один: покупайте Nexus 7 II

30 июля 2013 г.

Графические оболочки GDB, подходящие для отладки встроенных систем

GDB - мощный отладчик, но его интерфейс может произвести не самое положительное впечатлене на новичка. Для облегчения участи разработчиков есть графические оболочки для GDB. Такие оболочки выступают посредником между вами (разработчиком) и GDB.

Для сравнения приведу пару скриншотов того, как может выглядеть отладка прошивки микроконтроллера.

Начнём с голого GDB на примере rx-elf-gdb (из пакета GNURX) в связке с rx-gdb-stub-ом:


23 мая 2013 г.

Альтернативная таблица векторов прерываний в ОЗУ для MSP430

В семействах MSP430F5x и MSP430F6x есть замечательная возможность перенести таблицу векторов прерываний в ОЗУ. Что даёт возможность по ходу выполнения программы менять обработчики прерываний.

Возможность это всегда хорошо. Но вот как это сделать максимально удобно и прозрачно? Рассмотрим на примере компилятора от IAR.

5 апреля 2013 г.

rpm пакет для libmsp430.so

Если mspdebug вам радостно сообщает "tilib: can't find libmsp430.so: libmsp430.so: cannot open shared object file: No such file or directory", у вас RHEL совместимый дистрибутив GNU/Linux (а, возможно, просто rpm-based), а желания собирать библиотеку с нуля нету, можете воспользоваться готовым пакетом libmsp430-3.2.5.4-1.el6.i686.rpm или libmsp430-3.2.5.4-1.el6.src.rpm для упрощённия сборки.

Пакеты собраны из версии slac460e, которая крайняя на данный момент.

4 апреля 2013 г.

Использование MSP430 Debug Stack под Linux

Texas Instruments выпустило MSPDS Open Source Pack. Это набор для создания отладчика/программатора для MSP430. Не обошли стороной и GNU/Linux. Так как библиотека предоставляется в исходных кодах, проблем для использования возникнуть не должно. итак, моя цель была: использовать связку mspdebug и MSP430UIF через этот самый стек.

Сборка компилятора для MSP430 под ScientificLinux

Некоторые дистрибутивы GNU/Linux имеют в своих репозиториях компилятор для микроконтроллеров MSP430. Но, к сожалению, ScientificLinux к таким не относится. Всё было бы печально, если бы не тот факт что нужные rpm пакеты есть для Fedora. А значит наша задача сводится к сборке необходимых пакетов из исходников.

7 февраля 2013 г.

Точки останова и пошаговое исполнение в GDB Stub-ах

GDB Stub - это маленькая программка (или часть большой программы), которая позволяет отлаживать прошивку МК при помощи GDB без дополнительного оборудования (аппаратных отладчиков, например, J-Link, E1 или любых других). Общение осуществляется через любой последовательный (с точки зрения ПК) интерфейс (обычно UART или TCP). Протокол очень простой. Его описание можно найти в
Debugging with GDB: Appendix E GDB Remote Serial Protocol. Stub должен уметь читать/писать регистры, читать/писать внутреннюю память, устанавливать/убирать точки останова (опционально) и выполнять программу по шагам (тоже опционально). Это минимальный набор необходимых функций. GDB умеет сам устанавливать программные точки останова через запись в память, а шагание по инструкциям умеет эмулировать при помощи точек останова.

29 января 2013 г.

Самодельный программатор микроконтроллеров RL78

Надоел клубок проводов в качестве программатора. Вот решил оформить в виде законченной конструкции с заводского изготовления платой и даже корпусом (хоть каким). То что получилось можно лицезреть слева :) Внизу при помощи перемычек можно выбирать напряжение питания (5В, 3В или внешнее, по отношению к программатору) и режим обмена (одно- или двух-проводной). В верхней части линейка контактов, на которую выведены сигналы Vcc, RESET, TOOL0, TOOLTxD, TOOLRxD и GND. Справа 14-контактный разъём E1 (распиновка есть в руководстве).

10 января 2013 г.

Creating Fast, Responsive and Energy-Efficient Embedded Systems using the Renesas RL78 Microcontroller

Блуждая по сайту Renesas, наткнулся на книгу о семействе микроконтроллеров RL78. Собственно всё сказано в названии. В книге описаны как универсальные моменты, так и специфичные для данного семейства. Уровень подачи материала подойдёт для новичка, по моему мнению.


Книгу можно купить на Amazon, либо скачать электронную версию с сайта в разделе Support/Design -> Books. Для доступа к электронной версии нужно быть зарегистрированным на сайте.

Приятного чтения.