1 前言
我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。
Zephyr目前已经支持很多硬件了,具体的可以到这里看:
http://docs.zephyrproject.org/boards/boards.html#boards
由于手头现成的有 NUCLEO_L073RZ,所以本节用它来做些动手尝试。
NUCLEO_L073RZ的一些特点如下:
1.板载 ST-LINK/V2-1 SWD 接口的调试烧写器;
2.USB 重枚举能力,拓展出了3个不同的USB接口:Virtual COM port、Mass storage、Debug port。
板子的默认硬件配置可以见 defconfig 文件: boards/arm/nucleo_l073rz/nucleo_l073rz_defconfig
更具体的信息,可以见这个链接。
2 NUCLEO_L073RZ 的编译烧写
烧写教程如下:
# On Windows
cd %ZEPHYR_BASE%\samples\basic\blinky
mkdir build & cd build
# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=nucleo_l073rz ..
# Now run ninja on the generated build system:
ninja
ninja flash
2.1 NUCLEO板子的拖放烧写方式
其实NUCLEO系列板子还有一个很方便的烧写方式,但这估计是 ARM Mbed 折腾出来的,ST那边没看到任何相关介绍。
在 Mbed 的介绍中看到寥寥数语。
USB re-enumeration capability: three different interfaces supported on USB
- Virtual Com port
- Mass storage (USB Disk drive) for drag'n'drop programming
- Debug port
这个 “drag and drop” 拖放烧写方式很好用,只需要把 bin 文件拖入到 U 盘中即可。
拖入文件后,过一两秒钟板子自动重启。
LD1 quickly flashes for a few seconds and switches to green (connected). If LD1 is lit red, no target connection could be established.
3.总结
烧写例程后,NUCLEO就跑起来了。