【祖传点灯】安信可Ai-M61-32S编译环境搭建+RGB灯点亮

[复制链接]
查看674 | 回复7 | 2024-5-3 17:12:23 | 显示全部楼层 |阅读模式

1.环境搭建

本文使用的电脑搭载windows 10系统,需要使用git安装sdk。git的安装可以自行百度。

1.1 克隆AiPi-Open-Kits

新建文件夹 使用git bash 进入新建的目录,目录名称建议为英文。

image.png

在git bash使用cd 命令进入目标文件夹

image.png

使用git clone 克隆文件

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

d5801ab06906b406e8b806c08cfb66d.jpg

完成后进入AiPi-Open-Kits文件夹,进行子模块更新

image.png

git submodule init
git submodule update

0d786c3ab3326bc3cd9b06a9c1dbc47.jpg

0e4ed4d4779c1e59cd3e852f2218e78.jpg

1.2 克隆aithinker_Ai-M6X_SDK

在AiPi-Open-Kits 文件夹下进行克隆

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

bc34eedb0b494aa68dda46f94ce0569.jpg

进入aithinker_Ai-M6X_SDK 目录,进行子模块更新

git submodule init
git submodule update

更新过程可能比较久,耐心等待

1.3 配置编译GCC编译链

在aithinker_Ai-M6X_SDK 目录克隆toolchain_gcc_t-head_windows

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

34950f4ad2b6c9f9f9a9f128d18dbd8.jpg

1.4 添加环境变量

4a6fd5073c27583a0375ad89149b97b.jpg

1.5 验证编译环境是否搭建完成

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

f93466abd9e641697c8a356ec5e8b50.jpg

10f53d66ad74f8b4cb41ea02fe0c83a.png

2 点灯

2.1 编译

将\AiPi-Open-Kits\aithinker_Ai-M6X_SDK\examples\peripherals\gpio\gpio_input_output 文件夹复制一份到自定义的路径,注意路径为英文,不能有空格

使用文本编辑器打开复制文件夹下的Makefile文件,修改BL_SDK_BASE 的路径为自己的路径,如下

image.png

修改main.c 文件

按照手册的gpio引脚,修改main.c文件

image.png

image.png

main.c的完整代码如下

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

 struct bflb_device_s *gpio;

 uint32_t gpio_group[] = {GPIO_PIN_12, GPIO_PIN_14, GPIO_PIN_15};
 int main(void)
 {
     board_init();

     gpio = bflb_device_get_by_name("gpio"); // get gpio device

     // set gpio pin mode
     bflb_gpio_init(gpio, GPIO_PIN_12, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
     bflb_gpio_init(gpio, GPIO_PIN_14, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
     bflb_gpio_init(gpio, GPIO_PIN_15, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);


     bflb_gpio_reset(gpio, GPIO_PIN_12);
     bflb_gpio_reset(gpio, GPIO_PIN_14);
     bflb_gpio_reset(gpio, GPIO_PIN_15);
     uint8_t i = 0;
     while (1) {
         for(uint8_t j = 0; j < 2; j++) {
             bflb_gpio_set(gpio, gpio_group[i]);
             bflb_mtimer_delay_ms(200);
             bflb_gpio_reset(gpio, gpio_group[i]);
             bflb_mtimer_delay_ms(200);
         }
         bflb_gpio_set(gpio, gpio_group[i]);
         bflb_mtimer_delay_ms(500);
         bflb_gpio_reset(gpio, gpio_group[i]);
         i = (i + 1) % 3;
     }
 }

该代码实现rgb的闪烁功能

编译成烧录文件

使用cmd命令进入 main.c的目录,执行如下命令

make clean
make

开始编译,成功后会显示built target combine

0f53203b63c65e3b8234121e4393fa5.jpg

2.2 烧录

通过一条type C接口的数据线将开发板与电脑进行连接,电脑上要提前安装好ch340的驱动。正常情况下,在设备管理器会出现如下设备

6c8e9c08318cc94ea36e9fc72946334.jpg

每个人显示的端口可能不一样,本文中为COM3

image.png

按照手册指示,先按下按键3,然后不松手,按一下按键2,最后松开按键3,进入烧录模式

在上面编译的窗口下,执行如下命令

make flash COMX=COM3

621d3ba8064e9ce9ce86c19f8cbd0ac.jpg

1fe51ca07b65727260f1adf8c442e35.jpg

完成上述操作后,烧录成功,按下复位按键,rgb灯开始闪烁。

fb8d8607036ad251a02c844b7f5e47c.jpg

自此,编译环境搭建完成,同时完成了点灯代码的编译,烧录,现象的观察。

回复

使用道具 举报

lovzx | 2024-5-3 19:31:59 | 显示全部楼层
学习
回复

使用道具 举报

沈夜 | 2024-5-3 20:30:43 | 显示全部楼层
写的很详细,厉害
回复 支持 反对

使用道具 举报

sansui | 2024-5-27 14:00:47 | 显示全部楼层
完成了
回复

使用道具 举报

7788 | 2024-5-27 19:57:19 | 显示全部楼层
点灯成功
回复

使用道具 举报

wurong | 2024-6-23 16:48:21 | 显示全部楼层
支持下
回复

使用道具 举报

timo | 2024-7-4 11:07:45 | 显示全部楼层
恭喜点灯
回复

使用道具 举报

物联网 | 2024-7-28 08:23:52 | 显示全部楼层
真详细
回复

使用道具 举报

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

本版积分规则