В официальной спецификации от производителя не указано какие именно версии протокола Bluetooth поддерживает планшет, но благодаря обзорам и анализу драйверов эта информация стала доступна. Модуль AzureWave AW-NH665 построен на базе BCM4330 который умеет Bluetooth 4.0+HS. С аппаратной поддержкой определились.
Программная поддержка вероятно реализуется через broadcom-ble. Благо в комплекте есть несколько примеров проектов. Пробным проектом был выбран BleFindMeServer. Проект уже готовый и в доработке не нуждается, остаётся только собрать apk из исходников, установить и запустить.
10 ноября 2012 г.
9 ноября 2012 г.
Обновление rl78flash
Первая обратная связь в виде предложения меня сильно порадовала. Было предложено уменьшить количество используемых сигналов UART на один и добавить возможность управления сбросом при помощи RTS. Эти изменения были реализованы и уже доступны (исходный код, архив zip или tar.gz).
4 октября 2012 г.
Примеры программ для RL78 и GCC
Часто, когда сталкиваешься с новым МК, возникают затруднения в самом начале (с базовыми модулями). Чаще всего, такое случается из-за не очень внимательного чтения документации, непривычной организации той самой документации или из-за банальных опечаток в программе. Особенно сложно бороться с такими ситуациями в отсутствие отладчика.
Дабы облегчить начало работы с МК RL78, создал пару примеров работы. Они не претендуют на полноту и универсальность, но помогут поморгать светодиодом, запустить прерывания и вывести строку на UART.
Примеры расположены на github: https://github.com/msalov/rl78-samples-R5F100SLAFB
Приветствуются отзывы, пожелания и исправления. Всё это можно оставлять здесь (в комментариях) или в виде issues на github: https://github.com/msalov/rl78-samples-R5F100SLAFB/issues
Дабы облегчить начало работы с МК RL78, создал пару примеров работы. Они не претендуют на полноту и универсальность, но помогут поморгать светодиодом, запустить прерывания и вывести строку на UART.
Примеры расположены на github: https://github.com/msalov/rl78-samples-R5F100SLAFB
Приветствуются отзывы, пожелания и исправления. Всё это можно оставлять здесь (в комментариях) или в виде issues на github: https://github.com/msalov/rl78-samples-R5F100SLAFB/issues
29 сентября 2012 г.
Подготовка инструментов для разработки для RL78 под GNU/Linux
Выбора компиляторов под GNU/Linux для RL78 нет, есть только связка binutils+newlib+gcc. Для гентушников есть исходники :), а все остальные могут установить уже готовые сборки с сайта www.kpitgnutools.com. Потребуется регистрация, но она бесплатная. Ну а дальше:
11 августа 2012 г.
Способы подключения RL78 для rl78flash
Загрузчик RL78 может работать в одном из двух режимов: однопроводном и двухпроводном подключении UART-а. Теперь программа rl78flash поддерживает эти оба режима.
Оба режима эквивалентны и протокол обмена не отличается, отличается только количество проводников необходимых для подключения к МК.
Для режима двухпроводного UART-а надо на 2 проводника больше. Второй режим, несмотря на большее количество необходимых проводников, хорош тем, что то же подключение можно использовать для связи МК в рабочем режиме, а не только для прошивки. Сигналы TOOLTxD/TOOLRxD делят выводы с TxD0/RxD0.
Дополнение: с тех пор, как создавался этот пост, rl78flash успел изменится настолько, что подключение стало ещё проще:
Самую актуальную информацию всегда можно найти в репозитарии проекта -> https://github.com/msalov/rl78flash
Оба режима эквивалентны и протокол обмена не отличается, отличается только количество проводников необходимых для подключения к МК.
Для режима двухпроводного UART-а надо на 2 проводника больше. Второй режим, несмотря на большее количество необходимых проводников, хорош тем, что то же подключение можно использовать для связи МК в рабочем режиме, а не только для прошивки. Сигналы TOOLTxD/TOOLRxD делят выводы с TxD0/RxD0.
Дополнение: с тех пор, как создавался этот пост, rl78flash успел изменится настолько, что подключение стало ещё проще:
Самую актуальную информацию всегда можно найти в репозитарии проекта -> https://github.com/msalov/rl78flash
31 июля 2012 г.
rl78flash
Так уж сложилось, что средства отладки/программирования микроконтроллеров для GNU/Linux не так разнообразны, как для MS Windows. На данный момент, в свободном доступе нету способа прошить микроконтроллеры RL78 под GNU/Linux. Это (утилита rl78flash) мой вклад в средства разработки :)
Протокол загрузчика RL78 описан в R01AN0815EJ0100: RL78 Microcontrollers (RL78 Protocol A) Programmer Edition. Основываясь на этом документе, написал небольшую утилиту для программирования упомянутых выше МК.
На данный момент утилита умеет стирать/писать/проверять состояние флешь памяти и читать информацию о МК (имя и размеры доступной памяти). Не реализованны функции увеличения скорости обмена (до 10 раз) и защиты МК.
Протокол загрузчика RL78 описан в R01AN0815EJ0100: RL78 Microcontrollers (RL78 Protocol A) Programmer Edition. Основываясь на этом документе, написал небольшую утилиту для программирования упомянутых выше МК.
На данный момент утилита умеет стирать/писать/проверять состояние флешь памяти и читать информацию о МК (имя и размеры доступной памяти). Не реализованны функции увеличения скорости обмена (до 10 раз) и защиты МК.
26 июля 2012 г.
Предопределённые макросы GCC
Порой необходимо узнать опции компилятора в исходном тексте программы. Особенно часто это возникает при программировании микроконтроллеров, что бы парвильно обыграть особенности архитектуры. Про такие опции можно почитать в разделе документации, посвященной конкретному порту, например, для архитектуры Renesas RX: http://gcc.gnu.org/onlinedocs/gcc/RX-Options.html
Для таких целей есть специальная опция препроцессора -dM
Например, хочю узнать имя макроса, содержащего значение, передаваемое как параметр опции -mint-register=
Из этого списка ещё много чего можно почерпнуть: порядок байт, размеры типов, версию компилятора и т.д. и т.п.
UPD команды можно немного упростить:
Для таких целей есть специальная опция препроцессора -dM
Например, хочю узнать имя макроса, содержащего значение, передаваемое как параметр опции -mint-register=
$ touch ./t.h
$ rx-elf-gcc -E -dM -mint-register=0 ./t.h > ./int_reg_0
$ rx-elf-gcc -E -dM -mint-register=4 ./t.h > ./int_reg_4
$ diff ./int_reg_0 ./int_reg_4
112a113
> #define _RX_INT_REGISTERS 4./t.h
$ rm ./int_reg_0 ./int_reg_4
Из этого списка ещё много чего можно почерпнуть: порядок байт, размеры типов, версию компилятора и т.д. и т.п.
UPD команды можно немного упростить:
$ rx-elf-gcc -E -dM -mint-register=0 - < /dev/null > ./int_reg_0
$ rx-elf-gcc -E -dM -mint-register=4 - < /dev/null > ./int_reg_4
$ diff ./int_reg_0 ./int_reg_4
112a113
> #define _RX_INT_REGISTERS 4./t.h
$ rm ./int_reg_0 ./int_reg_4
Подписаться на:
Сообщения (Atom)



