Просмотрел тему и обнаружил, что не представил свой отчёт о семинаре Freescale в конце октября. Семинар был преимущественно посвящен сенсорам, но разработка ПО велась на демо-плате
FRDM-K64F, на которой размещён ARM-CM4F микроконтроллер серии Kinetis K, тоже, кстати, ориентированный на микропотребление, тактируемый на частотах до 120мгц, и имеющий 1Мб флеша и 256Кб ОЗУ.
Сами сенсоры установлены на демо-плате
FRDM-FXS-MULT2-B ценой в $99, которую каждому участнику в конце подарили от щедрот душевных. Плату с K64F (стоит около $30) с собой унести почему-то не дали, но у меня она была своя. На плате сенсоров установлены несколько цифровых и аналоговых акселерометров фирмы, гироскоп, магнетометр, датчик атмосферного давления, а также несколько комбинированных чипов, содержащих несколько датчиков в одном корпусе. Помимо всего, на плате имеется Bluеtooth модуль для портирования данных в комп (можно и через USB) и на задней стороне платы ещё установлена плоская аккумуляторная батарея для автономного сбора данных от датчиков. Плата рассчитана на установку в виде сендвича на другие демо-платы фирмы содержащие микроконтроллер, и также стыкуется с платами Arduino R3 (последнее не пробовал). Микроконтроллер, следовательно, не обязательно должен быть CM4, и даже не обязательно ARM.
Это мой третий семинар фирмы по сенсорам, так что могу представить сравнительную картину. Первый я посетил ровно год назад и вёлся он теми-же двумя лекторами с фирмы. Они оба прожжённые профессионалы, работают с сенсорами не один десяток лет и отвечают квалифицированно на любой вопрос. Тогда разработка велась на демо-плате с процессором KL25 архитектуры CM0+ и на плате сенсоров FRDM-FXS-MULT2, которая сейчас уже не выпускается. Всё повествование было посвящено библиотеке фирмы Sensor Fusion, которая тогда получила какую-то премию года. В состав библиотеки помимо драйверов сенсоров входят несколько алгоритмов, некоторые на базе фильтров Кальмана, с помощью которых производится калибровка магнетометра и, например, разделение линейного ускорения платы от гравитационнопо поля, и пр. На вебсайте имеется демо-программа библиотеки под Windows, но для нее нужны платы сенсоров и МК. Тогда нам плату сенсоров не дали , но обещали прислать по почте. А плату с KL25 процессором мне сразу пообещал мой контакт фирмы у дистрибъютора Avnet, где был семинар, и сдержал слово. В общем, представение библиотеки и её возможностей впечатлило. Однако, когда прислали плату сенсоров, оказалось, что она ещё более старая версия и без Bluetooth модуля, так что я не смог на ней повторить лабы семинара и не стал разбираться, забив на всё это.
Второй раз я встретился с теми-же лекторами на грандиозной конференции фирмы FTF-2015 этим летом в г. Остин (Austin) штат Texaс. Об этой конференции можно книгу писать. Короче, они там вели 3-дневную школу по сенсорам и я решил довести это дело до конца. Тогда они представили собственную систему обработки массивных данных от сенсоров (data mining). На первом занятии они дали нам данные с девяти осей сенсоров на скорости 100 семплов в секунду, полученные в результате посылки коробки с ними куда-то по почте (плата с сенсорами питалась от аккумулятора и сбор данных производился на SD-карту). Файл данных занимал 1.3Гб и слишком большой для популярных программ спредшитов типа MS-Excell. Их программа написана на Java и запускалась под Eclipse-ом и глотает данные любого размера. Они предложили для затравки определить по данных с акселерометра момент, когда самолет отрывается от взлётной полосы, что при таком объёме данных совсем нетривиально. Тогда эта их система была только разработанной и они сами плохо представляли себе как её подать. Поэтому первый класс был несколько сумбурным, и я даже ушёл с середины в другую секцию (на конференции с орг-взносом в $1200 резко появляется желание оптимально использовать своё время). Однако, последующие 2 класса были выше всяких похвал. Причем, как оказалось, это было не только мое мнение – они получили потом приглашение из 9 городов представить свою Java-систему, одно из этих представлений я и посетил в третий раз сейчас, даже своих студентов туда привез.
В этот раз, я основательно подготовился к семинару дома, сделал все лабы с FTF-2015, и наконец-то с третьего раза (без смеха) до меня дошло всё, как я думаю. С лекторами встреча была как с родными. Их Java-система все еще не готова для публикации на вебсайте фирмы, но дело к этому идет. Коротко – система предназначена для отработки алгоритмов обработки данных. Можно и свой алгоритм в нее добавить и посмотреть результат в графическом виде. Потом можно загрузить этот алгоритм в демо-плату на K64F (система переводит Java-код алгоритма в С!). Наконец-то с помощью этой системы мы отладили со студентом алгоритм определения шагов для его проекта педометра – сейчас он переводит его на свою плату под контроллер от Renesas.
Прочитал свой пост и осознал, что сильно отвлекся от темы. Но не стирать-же написанное(?) В качестве компенсации выложу
слайды с FTF-2015 по бутлоадерам (bootloader) Kinetis. Этот курс также вёлся одним из долкадчиков по сенсорам. Разработка ПО была под ARM K64F на бесплатной Eclipse-системе KDS (Kinetis Development Studio) с библиотеками KSDK (Kinetis Software Development Kit) - всё доступно с исходниками с вебсайта фирмы. В систему входит модуль Processor Expert графического конфигуратора ресурсов, очень похожий на Cube-MX от ST. Библиотека содержит HAL и более «высокоуровневые» драйверы hardware на их основе, а также поддержку нескольких RTOS, USB, Ethernet, и т.д. Программа пользователя может обращаться как к драйверам, так и к функциям HAL. Последнее, хотя и не рекомендуется разработчиками, но приводит к более короткому коду, т.к. «фантики» от этих драйверов не всегда нужны. Чем больше я работаю с этой системой, тем все более подумываю забить на весь этот головняк с лицензиями под Keil/IAR и адаптировать свои учебные материалы под KDS и Kinetis MCU. Она, конечно, гораздо менее совершенная чем последние и есть в ней свои «закидоны», да и работает только с контроллерами фирмы (это для меня, правда, ограничением не является). Однако, для учебного процесса и многих "домашних" разработок она более чем достаточная.