STM32WL5x. Документация на русском языке

Свое знакомство с LoRaWAN я начал с платы STM32WL Nucleo-64 board (MB1389) и базовой станцией Новосибирской «Веги» — БС 1.2. Кстати, в рассылках от STM, вроде, было что в качестве шлюза можно использовать вторую отладочную плату. Какой-то софт для связи через COM порт у них на сайте должен быть.

Первое. Я бы настоятельно рекомендовал зачитать «Кузнецов С.А. Автоматизированная система контроля состояния трубопроводов в пенополиуретановой изоляции на базе устройств высокой степени автономности». (Респект и уважуха!)

Второе. Разрабатывая устройство, обязательно нужен вывод отладочной информации на консоль (порт USART) и переключатель мощности передатчика. Последний можно криво игнорировать  на уровне SubGHz_Phy, но получается совсем не изящно.

Дальше все, как всегда, просто. Выбираем пример LoRaWAN_AT_Slave. В соответствии с подробными и качественными руководствами от производителя, настраиваем базовую станцию и пихаем AT команды.

(AN5481)_LoRaWAN®_AT_commands_for_STM32CubeWL_RU

У меня получилось относительно бескровно с чувством, что если Вас обманывают, то не сильно.

Следующий пример из коробки LoRaWAN_AT_Slave_DualCore. Тоже работает…

(AN5406)_How_to_build_a_LoRa®_application_with_STM32CubeWL_RU_V_12_01

(AN5556)_Getting_started_with_STM32WL5x_MCUs_using_IAR_Embedded_Workbench®_and_MDK-ARM_RU

Пока я не попробовал сгенерировать его из CubeMX.

Ну с IAR просто. Запускаем сразу ДВА! В одном проект на CM0PLUS, в другом на CM4. Какой в какой последовательности запускать и где останавливать написано в ReadME примера.

Однако, сгенерированный код примера из CubeMX, это еще не рабочий проект. В этом проекте нужно привести в соответствие с кодом примера некоторые файлы. Стыдно признаться, но я не нашел в документации подробное руководство, кроме «и т.д.»). Поэтому пришлось сравнивать количество строк файлов и добавлять нужное. Кстати, от версии к версии в библиотеке примера большая динамика изменений.

CM0PLUS:

kms_platf_objects_config.h, kms_platf_objects_interface.h, main.c, nvms_low_level.c, nvms_low_level.h, radio_board_if.c, radio_board_if.h.

CM4:

gpio.c, lora_app.c, lora_app.h, sys_app.c, utilities_def.h

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

Я не являюсь ярым фанатиком FreeRTOS, поэтому пришлось вникать в работу Секвенсора. Кстати, как я понял для двух ядерных решений макросы FreeRTOS уже второй версии (могу ошибаться).

SEQUENCER_RU

AN5289_STM32WB_software_architecture_RU

Для WB мануал несколько подробней, поэтому тоже мельком посмотрел. На сколько я понял, WL & WB отличаются тем, что у WL нижние уровни с открытым кодом, а у WB с закрытым. Моя практика залезть по-глубже показала, что это одно и тоже ))).

Если интересно, привожу «Журнал ковыряния»

project_log

Ну а дальше все в силу потребностей и способностей «умения разбираться в чужом коде». Вписываем в пример нужные нам функции, периферию и наслаждаемся.

Эти серии, включая STM32G4, новенькие. Поэтому документацию посмотреть не грех.

(RM0453)_STM32WL5x_Serial_peripheral_interface__Integrated_interchip_sound_(SPI_I2S)_RU

(RM0453)_STM32WL5x_DMA_request_multiplexer_(DMAMUX)_RU

(AN5224)_STM32_DMAMUX_the_DMA_request_router_RU

(RM0453)_STM32WL5x_Low-power_timer_(LPTIM)_RU

(RM0453)_STM32WL5x_Extended_interrupts_and_event_controller_(EXTI)_RU

Ой, прям мечта!.. Там есть пример с обновлением прошивки по воздуху. Кто-нибудь бы оплатил обучение реальным заказом! )))

С уважением Петр.

Реализуем коммерческие проекты.
Возможна работа по договору подряда.

t654rk@mail.ru

 

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.