【祖传点灯】安信可Ai-M61-32S vscode环境搭建及爬坑记录

[复制链接]
查看864 | 回复14 | 2024-5-10 00:18:46 | 显示全部楼层 |阅读模式
本帖最后由 黄油与猫 于 2024-5-10 10:04 编辑

收到活动的板子,开始折腾,作为一个祖传的点灯工程师,拿到一个新板子肯定是要点个灯的
首先,搭建一个win+vscode的开发环境
安装vscode和git个过程就不再赘述直接进入正文
1.拉取安小派工程源码,在需要拉取源码的文件夹中右键打开git bash 输入git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git -b master

Snipaste_2024-05-07_22-51-50.png

2.源码路径下.gitmodules文件中的github.com修改为gitee.com

Snipaste_2024-05-07_22-33-31.png

3.使用步骤一中打开的git bash中分别执行以下三条命令,拉取源码中M61的SDK子模块
        cd AiPi-Open-Kits/
        git submodule init
        git submodule update

Snipaste_2024-05-07_22-52-36.png

4.完成步骤三后执行以下三条命令,拉取SDK中的子模块
        cd aithinker_Ai-M6X_SDK/
        git submodule init
        git submodule update

Snipaste_2024-05-07_22-58-40.png


5.以上源码已经拉取完成,接下来需要拉取编译工具连,就在aithinker_Ai-M6X_SDK路径下执行git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_windows.git -b master
6.拉取成功后将下图所示的三个地址添加进环境变量中

Snipaste_2024-05-09_23-24-29.png

7.验证环境变量是否设置成功打开终端输入如下两条指令,返回如下图的信息即为成功
        make -v
        riscv64-unknown-elf-gcc -v

Snipaste_2024-05-09_23-28-52.png


以上就是源码以及编译链的获取和配置流程,下面就开始就有一点小小的坑要踩坑了。。。
面对一个刚刚开始接触的芯片那第一步就是先学会如何控制它的io口,那我们就使用最简单的gpio历程来完成我们的第一个程序。
1.在源码根目录下有右键使用vscode打开
2.在vscode右侧的资源管理器中找到如下路径:AiPi-Open-Kits\aithinker_Ai-M6X_SDK\examples\peripherals\gpio\gpio_input_output,这个历程就是最简单的控制gpio的历程

Snipaste_2024-05-09_23-12-36.png

3.在vscode的资源管理器中gpio_input_output这个文件夹上右键选择在集成终端中打开执行make会发现如下报错,解决方法就是按住ctrl见点击终端中所显示的路径打开此文件注释掉第11行的#include “lwip/dns.h”以及第212行的ip_addr_t dns_addr;即可

Snipaste_2024-05-09_23-36-03.png

4.修改完上述文件后再次执行make,发现还是会报错,报错如下图所示

Snipaste_2024-05-09_23-45-06.png

解决办法为打开aithinker_Ai-M6X_SDK文件夹中的project.build文件,将下图3行前面加上#注释掉即可

Snipaste_2024-05-07_23-34-11.png

5.回到vscode在终端中再次输入make显示Built target combine代表编译成功。

以上我们成功编译了代码,接下来我们根据规格书对代码进行相应修改点亮RGB灯中的红色灯。

Snipaste_2024-05-09_23-53-25.png

1.根据规格书得知控制红色灯珠的io口为io12脚,打开gpio_input_output文件夹中的main.c文件。
2.简单阅读源码可以知道几个api的作用
    bflb_gpio_init : 初始化io口功能
    bflb_set : io口拉高
    bflb_reset : io口拉低
    bflb_mtimer_delay_ms : 延时函数
有了这几个api我们就可以实现一个简单的led灯闪烁的程序了。

3.那么根据规格书和上面的几个api就可以知道我们需要实现程序的步骤了,首先配置io12为输出模式,然后在while(1)循环中不断的对io12进行拉高拉低并加入延时
由此我们对main.c做出如图下修改

Snipaste_2024-05-10_00-06-39.png

4.保存main.c的修改执行make编译成功,根据规格书中的提示先按住烧录键再按下复位键进入烧录模式后,在终端中输入make flash COMX=COMxx其中的xx是开发板所接的串口号,执行此命令后看到如下信息代表烧录完成

Snipaste_2024-05-10_00-12-47.png

5.烧录完成后按下复位键就可以看到程序运行效果了,不出意外的话你的led灯已经在闪烁了

Snipaste_2024-05-10_00-16-23.png

以上就是Ai-M61-32S的开发环境搭建以及祖传点灯的全部内容了,第一次发帖大家多多交流。
回复

使用道具 举报

hrqwe | 2024-5-10 01:01:40 | 显示全部楼层
点赞
日拱一卒,功不唐捐
回复

使用道具 举报

1084504793 | 2024-5-10 08:46:52 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-5-10 08:48:56 | 显示全部楼层
文章工整
回复

使用道具 举报

lazy | 2024-5-10 09:10:54 | 显示全部楼层
很详细
回复

使用道具 举报

1055173307 | 2024-5-10 16:37:33 | 显示全部楼层
回复

使用道具 举报

知行合一 | 2024-5-14 11:14:35 | 显示全部楼层
棒棒的
回复

使用道具 举报

noonezero | 2024-5-14 11:56:41 | 显示全部楼层
恭喜点灯
回复

使用道具 举报

wukong50 | 2024-5-14 13:39:07 | 显示全部楼层
入坑了
回复

使用道具 举报

timo | 2024-5-14 19:12:34 | 显示全部楼层
真详细
回复

使用道具 举报

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

本版积分规则