【祖传点灯】安信可Ai-M61-32S-kit-开始lighting

[复制链接]
查看1477 | 回复6 | 2024-5-3 20:41:15 | 显示全部楼层 |阅读模式

本帖最后由 ninerock 于 2024-5-3 19:39 编辑

本帖最后由 ninerock 于 2024-5-3 19:37 编辑

环境搭建(Windows环境)

具体的搭建流程可以参照零基础搭建小安派Windows 开发环境 - 小安派S1&M61教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)

要点:

1、工具为vscode,git

Visual Studio Code (VS Code)是一款强大且轻量级的代码编辑器,它支持多种编程语言,并且拥有丰富的扩展插件生态系统。VS Code 旨在提供一个快速、流畅的代码编写和调试体验,无论是前端开发、后端开发、数据科学还是机器学习,VS Code 都能提供高效的工具支持。

Git是一个强大的分布式版本控制系统,广泛应用于软件开发、文档管理等领域。它可以帮助团队更好地协作、管理项目,并提高开发效率。

vscode:用于代码的编辑,调试

git:用于sdk的拉取,拉取安信可Ai-M61-32S的相关源码

2、源码工程搭建

可以某个文件夹里找个空的位置点击 鼠标右键 选择 Open Git bash here 即可打开安装好的 git 工具。接着输入指令(可以复制运行):

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

拉取 M61 的 SDK 子模块

重点:进入AiPi-Open-Kits 中,用文本打开·gitmodules 文件url参数中的 github.com改成gitee.com:

SDK 中拉取子模块

逐条运行以下指令:

cd aithinker_Ai-M6X_SDK/
git submodule init
git submodule update

克隆适用 Windows 的编译工具链

就在 aithinker_Ai-M6X_SDK/ 文件夹中拉取工具链,直接适用 git 工具拉取:

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

3、设置编译路径

将应该的资源拉取完毕后,要将三个路径加入到电脑的环境变量当中,如下:

aithinker_Ai-M6X_SDK\toolchain_gcc_t-head_windows\bin

aithinker_Ai-M6X_SDK\tools\make

aithinker_Ai-M6X_SDK\tools\ninja

4、设置完成后,要检验环境是否成功搭建

打开 PowerShell 。在 PowerShell 输入:make -v

显示如下

image.png

输入:riscv64-unknown-elf-gcc -v

部分显示如下: image.png

开始lighting

从下图所示,从examples文件夹中找到peripherals,进而找到gpio文件夹,选择gpio_input_output此文件作为初始模板,进行点灯程序的编写。 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]);
printf("GPIO_PIN_i=%x\r\n", bflb_gpio_read(gpio, gpio_group[i]));
printf("yyds");
bflb_mtimer_delay_ms(200);
bflb_gpio_reset(gpio, gpio_group[i]);
printf("GPIO_PIN_i=%x\r\n", bflb_gpio_read(gpio, gpio_group[i]));
bflb_mtimer_delay_ms(200);
}
bflb_gpio_set(gpio, gpio_group[i]);
printf("GPIO_PIN_i=%x\r\n", bflb_gpio_read(gpio, gpio_group[i]));
bflb_mtimer_delay_ms(500);
bflb_gpio_reset(gpio, gpio_group[i]);
printf("GPIO_PIN_i=%x\r\n", bflb_gpio_read(gpio, gpio_group[i]));
i = (i + 1) % 3;//取模:i=0,1,2,0,1,2,........
}

利用make指令,对该点灯项目进行编译

出现如下图所示,证明编译成功 image.png

利用make flash COMX=COMxxx,进行程序烧录,其中xxx为Ai-M61-32S-kit连接到电脑的端口号

image.png

出现如上所示,表示烧录成功。

提示:

通过数据线连接Ai-M61-32S-kit与电脑,按住io2按键(烧录键)不动,再按EN(reset键)按键,再松开EN按键,在松开io2按键,即可以进行烧录。

实物验证如下: image.png

image.png

回复

使用道具 举报

物联网 | 2024-5-27 22:34:12 | 显示全部楼层
完美
回复

使用道具 举报

sansui | 2024-6-7 11:16:53 | 显示全部楼层
完成任务了
回复 支持 反对

使用道具 举报

知行合一 | 2024-6-21 13:55:36 | 显示全部楼层
入坑了
回复

使用道具 举报

楚华 | 2024-7-2 21:40:24 | 显示全部楼层
真详细
回复

使用道具 举报

timo | 2024-7-24 19:14:15 | 显示全部楼层
恭喜点灯
回复

使用道具 举报

wukong50 | 2024-7-29 13:21:44 | 显示全部楼层
完美
回复

使用道具 举报

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

本版积分规则