Всем привет. Приобрел себе отладочную плату NUCLEO-F410RB. Приобрел для приобщения к такому замечательному проекту как mbed. Для тех кто не вкурсе, mbed - это операционная система для микроконтроллеров, а так же онлайн компилятор. С помощью этой системы можно писать приложения для микроконтроллеров не сложнее, чем в Arduino IDE.
Mbed — программно-аппаратная платформа и одноимённая операционная система для устройств на базе 32-разрядных микроконтроллеров семейства ARM Cortex-M. Проект был запущен компанией ARM совместно с другими производителями полупроводников.
Платформа работает онлайн и содержит интегрированную среду разработки (IDE) включая текстовый редактор, компилятор, набор библиотек и примеры программного кода. К аппаратной части относятся платы от ARM, семейства плат mbed и FRDM от NXP Semiconductors , семейство Nucleo от STMicroelectronics, семейство EFM32 от Silicon Labs и многие другие.

Посмотрите на код программы, написанной на mbed, который выводит в COM порт информацию о длительности работы программы.
Исходный код
1 2 3 4 5 6 7 8 9 10 11 12 |
#include "mbed.h" DigitalOut led(LED1); int main() { int i = 1; printf("Hello World !n"); while(1) { wait(1); // 1 second led = !led; // Toggle LED printf("This program runs since %d seconds.n", i++); } } |
- Программа понятна даже человеку, который ничего не знает о микроконтроллере stm32. В этом главный плюс mbed os.
- Для загрузки этой программы потребуется только отладочная плата и компьютер с выходом в интернет. Онлайн компилятор os.mbed.com создаст файл прошивки, который необходимо скинуть на отладочную плату NUCLEO F410RB. Она отображается в системе как флешка.
- Минусом mbed является то, что вся работа с микроконтроллером скрыта в библиотеках mbed.
- Еще одним минусом является скорость работы mbed. Она является операционной системой реального времени и не гарантирует моментальную реакцию на события, так как разделяет время микроконтроллера между множеством задач.
После загрузки прошивки в микроконтроллер нам потребуется любая программа - монитор COM порта. Я воспользуюсь arduino IDE.
Видим, что программа работает и передает значения в com порт. При этом код программы уместился в несколько строчек. То, что нужно!