千家信息网

在Developerkit开发板上运行blink例程

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文将介绍怎么样在VScode环境下,将AliOS Tings提供的blink例程在Developerkit开发板上运行起来。cdn.com/413f8cd9e7ea5426c663ce40bb9ab
千家信息网最后更新 2026年11月03日在Developerkit开发板上运行blink例程

本文将介绍怎么样在VScode环境下,将AliOS Tings提供的blink例程在Developerkit开发板上运行起来。

cdn.com/413f8cd9e7ea5426c663ce40bb9ab8b3efc03556.png">
DeveloperKit开发板

在例程中分别用到两个led和一个按钮,上图中用红色的框标识出来。例程正确运行后,会有一个LED按1s的周期闪烁,另外一个LED当按键被按下时,切换输出电平。本文中,各个硬件的分配如下表:

外设名称

对应gpio

实验中的功能

LED1

PB6

每秒闪烁1次

LED2

PE3

当检测到按键时切换输出电平

按钮M

PE11

通过中断方式检测按接下来我们进入代码,并按照具体的硬件对应引脚修改源码。

同VS CODE打开AliOS-Things 2.0源码,如果您还没有AliOS-Things的源码,可以在VS code的控制台中通过git工具进行拉取,拉取命令如下:

git clone https://github.com/alibaba/AliOS-Things.git

打开源码后,我们在源码的app/example/blink目录下,打开blink.c,在源码的顶部找到几个宏定义如下:

#define GPIO_LED_IO     18#define GPIO_TRIGGER_IO 4#define GPIO_INPUT_IO   5

上述的几个宏定义需要和我们和实际的硬件对应,对应关系如下表:

宏定义

对应硬件

实际IO口

OS中的引脚编号

实验中的功能

GPIO_LED_IO

LED1

PB6

22

每秒闪烁1次

GPIO_TRIGGER_IO

LED2

PE3

67

当检测到按键时切换输出电平

GPIO_INPUT_IO

按钮M

PE11

75

通过中断方式检测按键

由于AliOS-Things对硬件进行了抽象,所以对GPIO的操作需要先按照一定的规则将MCU的GPIO转换为编号。转换规则为MCU的GPIO bank号 X 16 + 具体gpio在bank中的位置,bank的编号从0开始。如PB6,其bank号为1在bank中的位置为6,则PB6应被转换为 1 X 16 + 6 = 22;同理,PE3=4 x 16 + 3 = 67。因为例程不是为Developerkit开发板而写,所以需要修改例程中的宏第一如下:

#define GPIO_LED_IO     67      // PE3#define GPIO_TRIGGER_IO 22      // PB6#define GPIO_INPUT_IO   75      // PE11

完成修改后,保存blink.c文件。

在VS CODE环境中,在左下角的alios-studio中,点击编译目标选择按钮

此时编辑器顶部的命令输入框会弹出选择要编译的目标,此时选择blink


紧接着会继续要求选择开发板,此时选择Developerkit开发板。

接下来通过alios-studio工具条的编译按钮启动编译。


等待编译完成。

Making blink@developerkit.binMaking blink@developerkit.hex                        AOS MEMORY MAP|=================================================================|| MODULE                                   | ROM       | RAM      ||=================================================================|| newlib_stub                              | 296       | 0        || sal                                      | 6977      | 250      || kv                                       | 3055      | 104      || common                                   | 256       | 12       || libc_nano                                | 19649     | 602      || kernel_init                              | 653       | 36       || rhino                                    | 16225     | 7821     || developerkit                             | 5045      | 1403     || vfs                                      | 950       | 1141     || digest_algorithm                         | 92        | 0        || libgcc                                   | 3320      | 0        || stm32l4xx_cube                           | 26592     | 8506     || cli                                      | 6234      | 357      || yloop                                    | 2369      | 28       || device_sal_bk7231                        | 8542      | 265      || sensor                                   | 9451      | 303      || osal                                     | 1074      | 4        || log                                      | 412       | 20       || hal                                      | 164       | 12       || blink                                    | 325       | 24       || atparser                                 | 5882      | 297      || armv7m                                   | 1975      | 0        || *fill*                                   | 150       | 1599     ||=================================================================|| TOTAL (bytes)                            | 119688    | 22784    ||=================================================================|Build complete

将Developerkit连接至PC,确保开发板的STlink驱动已被正确安装。

通过alios-studio工具条中的下载按钮,将编译好的固件下载到开发板中。

烧写完成后开发板会自动运行,此时可以看到LED开始按1s为间隔闪烁。按动板上的"M"按钮,LED2会切换输出。这里要指出,blink Demo主要为了演示GPIO的HAL层操作函数,并没有做按键去抖动工作,所以点按按钮时,可能会出现按一次LED2直接切换两次。也请大家在实际的代码设计中注意按键去抖能力的加入。到此,例程已成功完成运行。

作者: 巴人壹个

开发 按钮 按键 源码 编译 硬件 切换 选择 运行 检测 输出 实际 工具 电平 接下来 代码 位置 功能 命令 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山东特亿宝互联网科技有限公司 科技金融是不是互联网金融 互联网是不是新科技 互联网科技有限公司图片 麻工互联网科技 上海互联网科技有限公司 苏州大垚互联网科技 中国互联网金融科技基金 全球顶尖互联网科技公司 成都铂石互联网科技做什么的 河南猎农互联网科技有限公司 互联网科技公司实习生 互联网科技和信息 互联网金融科技名词解释 江苏互联网智能科技软件 领航科技大厦互联网公司 萌小萌互联网科技河南有限公司 保山浩联互联网科技有限公司 承德科技产业互联网平台 互联网科技创业计划的风险分析 科技互联网企业 团飞科技与伯堂互联网服务平台 港股科技和互联网 浙江互联网科技研学营 互联网行业科技股 科技互联网的核心竞争力 互联网营销推广黑科技 半导体行业属于互联网高科技类吗 互联网科技创新创业项目 科技美学互联网 艺术
0