Реализация Modbus RTU Slave на tms320

Рано или поздно (лучше рано) в устройство необходимо "впихнуть" связь с внешним миром.
Можно конечно ограничится обычным выводом данных в UART, но представьте, что будет с тем, кто захочет их разобрать.
Слава богу уже давным давно все придумано и нам остается только подстроится.
Modbus - это открытый протокол, который обычно натягивают поверх RS-232/485.
Весь фокус в том, что формат посылки стандартизирован и вы можете предоставить карту регистров вашего устройства. И при этом все остальные запросто организуют связь с вашим устройством.

Лог запуска функций при помощи GCC

Давайте представим, что вы делаете устройство, которое должно работать годами, но почему-то процесс вылетает через некоторое время без сообщения причин.
Ситуация довольно распространенная в мире встраиваемых систем. И если при программировании для микроконтроллеров такая ситуация решается при помощи сторожевого таймера (watchdog), то тут такой подход не подойдет. Ведь система не зависла, просто планировщик завершил один процесс.

Принудительное обновление ядра Raspberry Pi

Когда суешь свой нос в систему без особого знания дела, она периодически ломается.
А обновить ядро не получается. Утилита rpi-update думает что все Ок и отказывается работать.
Выход простой. Нужно побить хеш сумму.

Открываем файл и редактируем как угодно.

sudo vim /boot/.firmware_revision

После этого можно обновлять:

sudo rpi-update 

Работаем с дисплеем ILI9341 по DMA

Я уже писал о работе с дисплеем ILI9341.
Частота обновления экрана при этом оставляла желать лучшего. Даже после игр с частотой SPI ничего приемлемого добиться не удалось. На этой почве бросил это дело на пол пути. А недавно увидел вот такое:

Беспроводной приемопередатчик nRF24L01+

Давно хотелось попробовать беспроводную передачу данных. Вкусная штука. Тем более, что сейчас скорости там приличные.
Беглый поиск по интернетам показал простое решение - nRF24L01+. Штука изведанная и облизанная со всех сторон. Ардуинщики уже навояли тонны библиотек.

Модуль может передавать на скорости до 2Мбит/с.
Частота 2.4ГГц. Дальность передачи порядка 100 метров в зоне прямой видимости без использования массивной антенны.
Говорят с хорошей антенной и на километры шлет.
Связь с микроконтроллерами по SPI.
Есть нога для прерывания.

Удаленнй рабочий стол на Raspberry Pi

Для тех у кого нет монитора (как у меня) или для тех кому надо иметь доступ с другого компьютера на raspberry есть возможность в одну команду установить себе на raspberry (под rasbian) сервер удаленного рабочего стола.

Вот волшебная команда:

sudo apt-get install xrdp

После чего можно подключиться при помощи клиента (который есть на каждом компьютере под Windows).

Вот так это выглядит.

PS возможно нужно сделать, чтобы по умолчанию стартовал в графике:

Подключить Wifi на Raspberry Pi из командной строки

Недавно обзавелся Raspberry Pi B+ и USB Wifi брелком Ralink.
Когда собрал драйвер обрадовался. Посмотрел, что сети устройство видит и отложил все это до лучших времен. Слава богу лучшие времена настали не через 500 лет!
Итак подключаем wifi.
Монитора у меня нет. Ну и как полагается установить подключение с wifi я могу только через командную строку, подключившись к малине через uart.

Сперва узнаем как зовут наш интерфейс:

Usb Wifi брелок от Ralink Technology на Raspberry Pi

ВНИМАНИЕ!
Драйвер для данного usb wifi уже включен в основную ветку ядра linux!
Все нижеописанное актуально для версий ядра менее 4.2
______________________
Закупил на ebay usb wifi свисток для своего raspberry pi.
Получил посылку. Счастливый запихнул его в usb порт и ... минута отчаяния.
Оказалось в системе нет драйвера для него.