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

[复制链接]
查看724 | 回复8 | 2024-5-2 20:15:44 | 显示全部楼层 |阅读模式

本帖最后由 大锤子 于 2024-5-2 20:15 编辑

本帖最后由 大锤子 于 2024-5-2 19:23 编辑

有幸申请到安信可家的Ai-M61-32S-Kit开发板,开发板还在路上先使用正在吃灰的小安派验证一下环境搭建。

在看了论坛中其他小伙伴的环境搭建过程,还是很详细的,大致过程就是先安装工具,然后下载sdk,下载sdk子模块。 配置环境变量和点灯测试。这里也不例外。

安装工具

VsCode 安装

作为互联网从业人员以及电子爱好者,VsCode是肯定安装的,用来开发前端或者小程序甚至java后端程序都是很不错的。它的众多插件也能很好的提高工作效率;

由于已经安装了vscode 并且安装了platformIO及其一些插件卸载重新安装会很耗时,这里就不安装了就是个软件,相信大家都会安装;

vscode页面.png

git

git也是一个在开发过程中必用到的工具,用来管理不同版本的文件。可以上传到指定的仓库,也可以从仓库下载。现在国外的github和国内的gitee是使用比较多的git仓库。 去上边搜一下可以找到很多有意思的开源项目;它的安装也是很简单的。

step1:下载安装包

到git官网下载git安装包,支持mac、windows和linux主流平台:

2-git页面.png

平时习惯使用命令行,所以这里我没有下载GUI

3-git.png

step2:安装软件

软件下载成功后双击安装即可:

4.png

step3:验证安装结果

在任意文件夹下右键 -> Open git bash here -> 输入git -v 出现版本号表示成功:

5.png

下载sdk

step1:克隆源码:

在想要存放sdk的地方右键 -> Open git bash here -> 输入以下命令来从远程仓库克隆sdk:

git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git -b master

其中,-b master 表示克隆master分支。 如果执行的时候没有带上这个选项也可以执行分支切换名来来切换:git checkout master 然后执行 git pull 来拉取master最新内容;

6.png

step2:拉取子模块

step1完成后大家可以进入这个目录下看下里边的内容很多都是小安派的demo工程;其中 aithinker_Ai-M6X_SDK 这个文件夹下是没有任何内容的,它是我们点灯的关键,也需要拉取。 这个文件夹是以子模块的形式存在的,因此需要拉取子模块。在拉取之前打开AiPi-Open-Kits目录下的.gitmodules这个文件,里边定义了子模块存放的仓库,这里默认的是github,但是由于github速度太慢,因此可以改成gitee,之所以能够改成gitee是因为安信可团队也在相同的路径下上传了相同的内容;

7.png

文件内容修改后执行以下命令,注意需要cd 到 AiPi-Open-Kits 目录下;

cd AiPi-Open-Kits
git submodule init
git submodule update

当看到下面的图的时候打开目录就可以看到aithinker_Ai-M6X_SDK文件夹下拉取了一些新的文件:

8.png

step3:拉取aithinker_Ai-M6X_SDK的子模块

我们需要使用的编译工具在aithinker_Ai-M6X_SDK 文件夹下的tools目录下,打开里边没有,类似的我们还需要拉取aithinker_Ai-M6X_SDK的子模块,跟step2类似:

cd aithinker_Ai-M6X_SDK
git submodule init
git submodule update

9.png

下载工具链配置环境变量

下载工具链

在想要存放工具链的文件夹下右键 -> Open git bash here -> 输入以下命令克隆工具链:

git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_windows.git -b master

配置环境变量

由于aithinker_Ai-M6X_SDK/tools文件夹下的make 和ninja是通用编译工具,因此可以将他们复制到别的文件夹来配置环境变量。这样一来将来我们想切换aithinker_Ai-M6X_SDK的存放目录就不需要修改make的环境变量了。这里我移到了D盘下;

step1:打开环境变量控制面板:

10.png

选择环境变量:

step2:找到path, 点击编辑:

11.png

step3:再打开的新的对话框中选择新建 -> 浏览 -> 找到make -> 确定;

12.png

同样的操作依次添加ninja 和 X:\toolchain_gcc_t-head_windows\bin

step4:验证环境变量配置结果:

重新打开终端,输入以下命令:

make -v
riscv64-unknown-elf-gcc -v

提示以下信息表示成功:

13.png

小安派天气demo测试:

分两个步骤,编译和烧录。这里烧录使用usb转串口工具将小安派和电脑链接,此时电脑会识别到串口:

准备工作

记住这个串口号,烧录的时候会使用。

14.png

编译

使用vscode 打开目录 AiPi-Open-Kits,然后找到AiPi-Eyes_weather,右键 ->选择在集成终端打开 -> 输入 make。

15.png

报错了,如下所示:

16.png

没关系,论坛已经有小伙伴找到答案了:

17.png

重新输入命令 make,这次就成功了:

18.png

烧录

执行烧录,输入命令 make flash COMX = COM4

19.png

效果展示

20.jpg

Ai-M61-S32-Kit 点灯测试

今天收到了申请到的开发板。在已经搭建好的开发环境下进行点灯测试;

原理分析:

找到开发板的原理图,可以看到IO12,14,15 分别连接RGB灯的红色,绿色和蓝色,且高电平有效

image.png

工程文件准备

在目录XXX\AiPi-Open-Kits\aithinker_Ai-M6X_SDK\examples\peripherals\gpio下找到GPIO的官方示例文件,复制这个文件gpio_input_output,重命名为gpio_input_output_led. 也可以不用复制直接在这个工程中修改源码;

使用vscode打开,并且编辑新复制的文件夹下的CMakeLists.txt 这个文件的最后一行,修改工程名称 project(gpio_input_output_led)

在工程的main函数中修改代码:

#include "bflb_gpio.h"
#include "board.h"

struct bflb_device_s *gpio;

int main(void)
{
    board_init();

    gpio = bflb_device_get_by_name("gpio");
    printf("gpio output\r\n");
    bflb_gpio_init(gpio, GPIO_PIN_12, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
    bflb_gpio_init(gpio, GPIO_PIN_14, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
    bflb_gpio_init(gpio, GPIO_PIN_15, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);

    while (1) {
        bflb_gpio_set(gpio, GPIO_PIN_12 );
        printf("GPIO_PIN_12=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_12));
        bflb_mtimer_delay_ms(1000);

        bflb_gpio_set(gpio, GPIO_PIN_14);
        printf("GPIO_PIN_14=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_14));
        bflb_mtimer_delay_ms(1000);

         bflb_gpio_set(gpio, GPIO_PIN_15);
        printf("GPIO_PIN_15=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_15));
        bflb_mtimer_delay_ms(1000);

        bflb_gpio_reset(gpio, GPIO_PIN_12);
        bflb_gpio_reset(gpio, GPIO_PIN_14);
        bflb_gpio_reset(gpio, GPIO_PIN_15);
        bflb_mtimer_delay_ms(1000);
    }
}

编译

在VsCode中打开AiPi-Open-Kits 这个目录,找到gpio_input_output_led 这个文件夹,右键在集成终端中打开:

image.png

在终端输入 make, 第一次我的报错了,提示:

image.png

其实这个文件在指定的目录是存在的,这里大概是CMAKE配置的问题导致。临时可以先注释这一行,及相应的代码。重新编译就成功了:

image.png

烧录

编译成功后,将开发板和电脑通过usb数据先链接,按住右边的按键不放,按一下左边的按键放开。然后在设备管理器中就能识别到COM串口设备了。

image.png

在终端中输入 make flash COMX=COM9

当看到下边的All Success 表示烧录成功,然后按一下左边的复位键就可以看效果了;

image.png

效果展示

image.png

回复

使用道具 举报

iiv | 2024-5-2 21:25:02 | 显示全部楼层
哈哈哈,朴实无华的大水印
回复 支持 反对

使用道具 举报

noonezero | 2024-5-3 10:35:57 | 显示全部楼层
这水印真好
回复 支持 反对

使用道具 举报

wukong50 | 2024-5-3 11:33:20 | 显示全部楼层
可以可以
回复

使用道具 举报

timo | 2024-5-3 12:35:03 | 显示全部楼层
666
回复

使用道具 举报

7788 | 2024-5-3 13:34:35 | 显示全部楼层
我还没收到
回复 支持 反对

使用道具 举报

sansui | 2024-5-3 14:06:46 | 显示全部楼层
真快
回复

使用道具 举报

爱笑 | 2024-5-17 11:30:00 | 显示全部楼层
作业完成的很好!
用心做好保姆工作
回复 支持 反对

使用道具 举报

大锤子 | 2024-5-18 20:45:38 | 显示全部楼层
爱笑 发表于 2024-5-17 11:30
作业完成的很好!

谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则