在developerkit开发板上运行blink例程(代码片段)

author author     2023-01-23     456

关键词:

摘要: 本文将介绍怎么样在VScode环境下,将AliOS Tings提供的blink例程在Developerkit开发板上运行起来。 DeveloperKit开发板 在例程中分别用到两个led和一个按钮,上图中用红色的框标识出来。

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

DeveloperKit开发板

在例程中分别用到两个led和一个按钮,上图中用红色的框标识出来。例程正确运行后,会有一个LED按1s的周期闪烁,另外一个LED当按键被按下时,切换输出电平。本文中,各个硬件的分配如下表:
技术分享图片
同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
上述的几个宏定义需要和我们和实际的硬件对应,对应关系如下表:
技术分享图片
通过中断方式检测按键
由于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 [email protected]
Making [email protected]

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

ios - 如何使我在 iPhone 故事板上开发的应用程序也可以在 iPad 上运行?

】ios-如何使我在iPhone故事板上开发的应用程序也可以在iPad上运行?【英文标题】:ios-howdoImakeanappwhichIdevelopedontheiPhonestoryboardalsoworkontheiPad?【发布时间】:2012-08-0820:07:58【问题描述】:我有一个即将完成的应用。到目前为止,我... 查看详情

如何在 Android 开发板上测试音频 HAL

】如何在Android开发板上测试音频HAL【英文标题】:HowtotestaudioHALonandroiddevboard【发布时间】:2015-05-1802:28:52【问题描述】:我有一个我正在运行android(KK4.4.3)的devkit。这个板子没有显示器,所以我所做的所有工作都在命令行中。我... 查看详情

在itop-4418开发板上运行helloworld-移植

移植基于(迅为iTOP-4418开发板)qte的应用移植使用qmake前需要先编译qte源码,参考第七章。接上一小节,如下图,有两个文件夹,一个是直接在PC上运行的代码以及应用程序,另外一个是源码。现在进入源码文件夹。进行下面几... 查看详情

结合opencv,在arm开发板上运行打开摄像头test文件,出现错误。。如下图:

将交叉编译好的opencv,中.so文件放到ARM开发板下lib中,然后将编译好的打开摄像头的test在ARM开发板中运行,出现“cannotopencamera”错误,求大神指教!!如有知道的大神希望加我qq:1208489229,在此先谢谢啦。参考技术A整个项目的... 查看详情

如何在linux嵌入式开发板上开机自动运行用户应用程序

...后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的/usr/etc/rc.local文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rc.local文件中... 查看详情

arduino翻译系列-led灯闪烁

...例子展示了你能拿Arduino/Genuino板子来干的最简单的事:使开发板上的LED灯闪烁。硬件需求Arduino开发板LED(非必要)220欧电阻(非必要)电路这例程使用了大部分Arduino/Genuino开发板上都有的LED指示灯。这LED灯是连接到数字引脚的... 查看详情

arduino翻译系列-led灯闪烁

...例子展示了你能拿Arduino/Genuino板子来干的最简单的事:使开发板上的LED灯闪烁。硬件需求Arduino开发板LED(非必要)220欧电阻(非必要)电路这例程使用了大部分Arduino/Genuino开发板上都有的LED指示灯。这LED灯是连接到数字引脚的... 查看详情

win32工程怎么部署到arm9开发板上

...实现,但是我的工程是win32的工程,我怎么把它部署到ARM9开发板上去啊?参考技术A在宿主机下用交叉编译器将你做的SIP客户端的协议栈编译之后,下载到ARM板上。问题是你的ARM板运行操作系统没有? 查看详情

升级开发板系统内核

一、在开发板上运行目标程序,发现ioctl函数在开发板上运行时不能识别摄像头挂载的设备文件。分析一下,得出为开发板系统不支持UVC。所以需要加载升级系统内核。步骤1:配置TFTP软件步骤2:连线步骤3:U-Boot操作  在这一... 查看详情

linuxled驱动开发实验(代码片段)

...和测试APP运行测试上一章我们详细的讲解了字符设备驱动开发步骤,并且用一个虚拟的chrdevbase设备为例带领大家完成了第一个字符设备驱动的开发。本章我们就开始编写第一个真正的Linux字符设备驱动。在I.MX6U-ALPHA开发板上... 查看详情

arduinouno开发板上有几个usb接口

参考技术A1个。据查询该仪器的使用参数中,ArduinoUno开发板上有1个USB接口。这个USB接口主要用于与计算机进行通信,可以在计算机上编写程序并将程序传输到ArduinoUno开发板上,也可以从开发板读取传感器的数据并在计算机上进... 查看详情

开发板上使用core文件调试

转载:http://www.nginx.cn/1521.html如果开发板的操作系统也是linux,core调试方法依然适用。如果开发板上不支持gdb,可将开发板的环境(依赖库)、可执行文件和core文件拷贝到PC的linux下。在PC上调试开发板上产生的core文件,需要使... 查看详情

登录到开发板上

1.硬件接线,如下图  2.在linux环境下,查找相应的USB端口 3.使用minicom进入到USB口sudominicom-s  查看详情

动画故事板没有触发器(代码片段)

...gin()方法启动一个正在运行的方法,您可以在情节提要板上设置目标,也可以将frameworkelement作为参数传递。因此,如果我有:<Window.Resources><Storyboardx:Key="blinkingS 查看详情

在STM32板上运行后如何更改UART波特率?

】在STM32板上运行后如何更改UART波特率?【英文标题】:HowtochangetheUARTbaudrateafterrunningonSTM32board?【发布时间】:2019-12-0812:49:36【问题描述】:我正在使用STM32F746ZG并使用五个UARTs。AllUARTs工作正常。有人可以告诉我在USART初始化后... 查看详情

我可以在不使用 TensorRT 的情况下在 Jetson 板上运行正常的 tensorflow 对象检测模型吗?

】我可以在不使用TensorRT的情况下在Jetson板上运行正常的tensorflow对象检测模型吗?【英文标题】:CanIrunanormaltensorflowobjectdetectionmodelonJetsonboardwithoutusingTensorRT?【发布时间】:2021-10-2614:47:13【问题描述】:是否可以在jetson板上运行... 查看详情

Arduino 1.8.7 Blink 卡在编译 iMac 10.14.1

...【问题描述】:嗨:我正在尝试使用IDE1.8.7在我的Arduino上运行Blink草图。我似乎被困在以下几点:/Applications/Arduino.app/Contents/Java/arduino-builder 查看详情

在s5pv210的开发板上使用串口收发信息

 参考学习教程:周立功嵌入式Linux开发教程-(上册) 材料:首先准备一个安装好Linux的开发板  使用 xshell工具连接开发板 ,winscp工具连接开发板 , 准备一个Ubuntu 32位,装上交叉编译链。。使用下... 查看详情