在Developerkit开发板上运行blink例程

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


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.bin
Making blink@developerkit.hexAOS 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直接切换两次。也请大家在实际的代码设计中注意按键去抖能力的加入。到此,例程已成功完成运行。

 

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里下一代云分析型数据库AnalyticDB入选Forrester云化数仓象限

前言 近期, 全球权威IT咨询机构Forrester发布"The Forrester Wave: CloudData Warehouse Q4 2018"研究报告,阿里巴巴分析型数据库(AnalyticDB)成功入选。 AnalyticDB作为阿里巴巴自主研发的PB级实时云数据仓库,全面兼容MySQL协议以及SQL:200…

俄罗斯互联网的BAT

戳蓝字“CSDN云计算”关注我们哦!作者|挖数责编|阿秃1961年,尤里米尔纳 出生在莫斯科一个犹太人家庭,他的父亲是一名经济学家,母亲是一名医生,他儿时的梦想是成为科学家。高中毕业后&#xff0c…

fiq中断的入口地址_嵌入式技巧:ARM的三种中断调试方法介绍

嵌入式软件开发流程参照嵌入式软件的开发流程。第一步:工程建立和配置。第二步:编辑源文件。第三步:工程编译和链接。第四步:软件的调试。第五步:执行文件的固化。在整个流程中,用户首先需要建立工程并对工…

一文带你领略虚拟化领域顶级技术会议KVM Forum 2018

KVM Forum是由Linux基金会组织的高端技术论坛会议,主要为社区各个维护者,开发人员,和用户提供一个讨论Linux虚拟化技术发展趋势以及挑战的交流场所。参会人员都集中在KVM虚拟化相关领域,是KVM社区最为重要和权威的大会。 概述 2…

直击KubeCon 2018 |云原生正在改变你的衣食住行

云计算从不被看好到成长为势不可挡的技术潮流,仅仅用了十年的时间。如今“云原生”又被企业以及开发者奉为圭臬,并被认为是云计算的未来。 阿里云容器技术负责人易立认为云计算有三个阶段:云搬迁、云就绪和云原生。 第一个阶段是为了降低成…

玩大了!别再埋头学Python了,它真的无用!

在知乎上有一个特别火的问题:如何学Python?你会看到很多高赞回答是:我一天就学完了。在大家群嘲的背后,我们来分析一下,为什么在已经学过的人眼里,Python这么容易学,甚至简单到被某些人鄙视呢&a…

2020洪灾地图_卫星地图看洪灾:为何湖北易发洪水?

▲7月6日,武昌江滩凉亭被淹没。图片来源:中国气象局疫情甫定,洪水又来。入汛以来,长江中下游地区的日子并不好过。荆楚大地湖北遭遇多轮强降雨,引发严重洪涝灾害,让我们不禁将目光再次聚焦这里。荆楚大地为…

双十一高并发场景背后的数据库RDS技术揭秘

【战报】11月11日聚石塔(阿里云数据库RDS产品形态)峰值QPS突破X00w,Proxy 峰值QPS超过X00w。 双十一就要来了,全世界都为其疯狂,但是在双十一抢购中经常会出现几万人抢一个红包或者很多人共同购买一个商品的情况&…

Vue优化策略_项目发布_01

文章目录一、移除console 策略1. 命令1.1. 插件官网:1.2. 安装babel-plugin-transform-remove-console1.3. 在babel.config.js或者.babelrc文件中配置2. 图形化(推荐使用)2.1. 在线图形化安装插件2.2. 在babel.config.js或者.babelrc文件中配置二、生成打包报告1. 通…

双十一流量洪峰 支撑阿里核心业务的云数据库揭秘

背景介绍 今年双十一又有新纪录刷新,21秒成交额超10亿,数据瞬间膨胀到PB级,包裹数亿级,严苛的指标对数据库产品提出了更严格的需求。HybridDB作为阿里云自研的HTAP数据库经受住了流量洪峰的考验,顺利的完成了2019年双…

乘法原理的例题和答案_吃透高考数学17个必考题型,基础再差也能考130!(内附解题技巧+例题解析)...

2019高考数学难度比例为7:2:1,也就是说80%都是基础题。然而数学却是高考中最拉分的。90%的学生都缺少一套科学,高效的提分方法,尤其到了冲刺阶段!为此,我们为大家整理了高考数学历年17个必考题型…

为何“爱辞职”成为了90后的又一标签?

戳蓝字“CSDN云计算”关注我们哦!作者 | AlfredWu责编 | 阿秃金三银四金九银十,又到了每年的秋招时节。在各企业HR狂刷简历企图招贤纳士的同时,内部年轻员工心中实则也暗流涌动:他们有些已提交了辞呈,有些在骑驴找马物…

双11大考 POLARDB分钟级弹性让企业轻松扩展

POLARDB优势解读系列文章之——分钟级弹性 无处不在的脉冲计算 阿里有双11,中国有春运,高考后有分数出来的那天,歌迷心中有周杰伦演唱会门票在线开售之时。。。。有人的地方就有江湖,有人的地方也有脉冲计算,这些热点…

Vue优化策略_项目上线_02

接上一篇:Vue优化策略_项目发布_01 https://gblfy.blog.csdn.net/article/details/105359879 文章目录一、通过node创建web服务器1. 创建文件夹2. 初始化包管理配置文件3. 安装express插件4. 复制vue打包后dist5. 创建app.js配置6. 运行项目并浏览器访问二、开启gzi…

深度解析双十一背后的阿里云 Redis 服务

在一片欢呼之中,2018年的双十一完美收官,各项数据不出意外的刷出了新的记录,亮眼的数据背后是阿里过硬的技术支撑。其中阿里云Redis不仅保障了阿里集团内部业务双十一的流量洪峰平稳度过,也让使用阿里云Redis的各个客户度过了一个…

oracle中prad函数_等保测评2.0:Oracle身份鉴别

一、说明本篇文章主要说一说oracle数据库中身份鉴别控制点中测评项a的相关内容和理解。二、测评项aa)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;三、测评项a要求1应对登录的用户进行身份标…

区块链真的会火吗?

区块链的境地如何?2019年10月25日,应该是区块链技术人以及对区块链感兴趣的人狂欢的一天,因为在那天国家领导人发表讲话,将区块链作为核心技术自主创新重要突破,随着这个新闻爆出,区块链市场炸开了锅&#…

双11奇迹背后的大数据平台,不喧哗,自有声!

00:02:05 成交额超100亿 00:57:56 成交额超666亿 01:47:26 成交额超1000亿 15:49:39 成交额超1682亿 22:28:37 成交额超2000亿 2018年双11新纪录2135亿 高速跳转的数字,不断刷新的状态,光缆中狂奔的代码,键盘上飞舞的手指… 新的记录 绝非十…

阿里云推PostgreSQL 10 高可用版

2015年,阿里云宣布正式推出RDS for PostgreSQL服务,届时,阿里云成为国内首家同时支持MySQL、SQL Server 和PostgreSQL关系型数据库的云计算服务商。 用户在云上就能享受PostgreSQL引擎带来的对SQL标准和NoSQL的高度兼容、强大的处理复杂查询能力、以及丰…

百度万亿流量的转发引擎BFE开源了!华为折叠屏曝光,采用传统翻盖式手机折叠方案;微软将关闭安卓iOS平台Cortana……...

关注并标星星CSDN云计算 速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周两次,打卡即read更快、更全了解泛云圈精彩newsgo go goOPPO Realme 5s(图片来源网络&#xf…