【祖传点灯】安信可Ai-M61-32S+点灯

[复制链接]
查看671 | 回复13 | 2024-5-5 23:00:22 | 显示全部楼层 |阅读模式

本帖最后由 Thinker 于 2024-5-5 22:59 编辑

本帖最后由 Thinker 于 2024-5-5 22:52 编辑

一、windows环境搭建

Ai-M61-32S-kit与小安派一样,都是采用Ai-M61模组设计而来,模组使用博流的BL618作为微控制器,因此Ai-M61-32S-kit环境搭建过程与小安派类似,可参考论坛内坛友分享的小安派环境搭建过程

[https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=282&extra=page%3D1&page=1]()

此外还可以根据博流官方提供的BouffaloSDK文档教程进行环境搭建

https://bl-mcu-sdk.readthedocs.io/zh-cn/latest/get_started/get_started.html

初次接触Ai-M61-32S-kit这块开发板,必然少不了SDK的支持,后续程序编写都要在SDK基础上进行,但是会发现有aithinker_Ai-M6X_SDK和bouffalo_sdk两种,分别附上两个SDK的链接

https://gitee.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK

https://gitee.com/bouffalolab/bouffalo_sdk

其中bouffalo_sdk是博流官方针对BL616/8等MCU编写的SDK,aithinker_Ai-M6X_SDK是安信可官方针对Ai-M61-32S-kit(本质是BL618)开发板编写的SDK,其核心仍是基于bouffalo_sdk编写而来,且就目前接触的程度来看,两个SDK之间大差不差。

本次环境搭建选择根据博流官方的文档教程拉取安信可官方的SDK进行环境搭建。

1.获取SDK

SDK链接上面已经提过,可以使用git直接拉取或者直接下载。

方法一:Git方式拉取(Git安装过程省略)

使用命令 git clone https://gitee.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK2.png

方法二:直接下载

5.png

6.png

2.下载GCC工具链

方法一:

进入SDK目录下 cd aithinker_Ai-M6X_SDK

使用git拉取GCC工具链 git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_windows.git

7.png

方法二:

直接下载GCC工具链

8.png

9.png

进入SDK目录下,并将下载的GCC工具链复制到SDK目录中

10.png

除了GCC工具链之外,还需要cmake工具、make工具、ninja工具,但这些工具在SDK的tools目录下已经提供,无需安装。

11.png

3.配置环境变量

将make、ninja、gcc工具链路径配置到系统环境变量中

12.png

13.png

按坛友发表的帖子,说是要把make的路径上移到最上层。配置完成后,为方便后续操作,建议将系统重启一下。

4.环境验证

打开 PowerShell 。

在 PowerShell 输入:make -v 验证make工具是否配置成功

14.png

在 PowerShell 输入:riscv64-unknown-elf-gcc -v,验证gcc工具是否配置成功

15.png

输入上面两个命令后有对应信息输出,表示此时环境搭建完成。

二、点灯

1.代码编辑

在vscode内直接打开aithinker_Ai-M6X_SDK目录

16.png

在examples/peripherals/gpio/gpio_input_output目录下找到main.c文件

17.png

打开main.c

18.png

其中通过 board_init()函数进行系统时钟初始化,外设初始化,调试串口初始化,并通过调试串口输出一些系统启动log。

19.png

之后,分别将 GPIO_PIN_0GPIO_PIN_1设置为输出和输入,这里的两个IO是针对博流官方的bl616dk开发板,为了在Ai-M61-32S-kit上实现点灯操作,需要根据Ai-M61-32S-kit的原理图将IO修改为实际连接到LED上的IO。RGB三色LED原理相同。

20.png

原理图上连接到LED上的IO分别是IO27和IO29,此时将 GPIO_PIN_0替换为 GPIO_PIN_29即可。

21.png

后面在while循环中实现LED亮灭的操作,并且读取 GPIO_PIN_1上的电平。

2.代码编译

接着进行代码编译,在终端下进入gpio_input_output目录下

22.png

输入指令 make CHIP=bl616进行代码编译,有如下信息则表示编译成功。

23.png

这里需要注意CHIP不能选择bl618,而要选择bl616,否则会编译报错

24.png

3.代码烧录

硬件操作:开发板上电状态下,先按住烧录键,再按下复位键,松开复位键,松开烧录键,即可让开发板进入boot模式以便通过串口烧录程序。

开发板未上电状态下,先按住烧录键,插入type-c线让开发板上电,然后松开烧录键也可以进入boot模式。

软件操作:在代码编译的基础上,在终端下输入指令 make flash CHIP=bl616 COMX=COM7即可进行代码烧录。COMX后要输入设备管理器中开发板的实际串口号才行。出现如下信息表示烧录成功。

25.png

4.代码运行

烧录完成后,短按开发板上的复位键让其退出boot模式,之后就开始运行已经烧录进去的程序,同时调试串口会输出初始化的log信息。同时,使用杜邦线将IO29和IO1连接,串口也会打印出当前IO1检测到的IO状态,即IO29的输出,板载LED也开始闪烁。

26.png

27.png

IMG_20240505_224649.jpg

回复

使用道具 举报

WT_0213 | 2024-5-6 08:45:14 | 显示全部楼层
很赞
回复

使用道具 举报

爱笑 | 2024-5-6 09:10:53 | 显示全部楼层
写的不错,挺详细!
用心做好保姆工作
回复 支持 反对

使用道具 举报

timo | 2024-5-6 11:51:46 | 显示全部楼层
很赞
回复

使用道具 举报

noonezero | 2024-5-6 12:16:13 | 显示全部楼层
真详细
回复

使用道具 举报

sansui | 2024-5-6 13:32:07 | 显示全部楼层
好完整
回复

使用道具 举报

lazy | 2024-5-6 13:53:48 | 显示全部楼层
回复

使用道具 举报

干簧管 | 2024-5-6 14:21:08 | 显示全部楼层
👍
回复

使用道具 举报

7788 | 2024-5-6 14:24:17 | 显示全部楼层
666
回复

使用道具 举报

物联网 | 2024-5-6 16:45:46 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则