【祖传点灯】安信可Ai-M61-32S 新手点灯,环境搭建及编译烧录踩坑记录

[复制链接]
查看997 | 回复7 | 2024-5-3 23:45:57 | 显示全部楼层 |阅读模式
本帖最后由 power 于 2024-5-4 18:19 编辑

第一次申请板子就中了,感谢安信可社区,感谢园长大大!新手小白第一次入手这个系列的板子,也是第一次

发帖,在实现点灯过程中也是遇到了很多问题,在这里记录下这次难忘的点灯历程~。


1.win10开发环境搭建   

我的电脑是VScode加WSL开发环境(关于如何配置WSL,参考博客http://t.csdnimg.cn/K5fnA)。由于WSL环境下

串口配置比较麻烦(亲身体验),所以我还是搭建的windows环境。其中参考了大佬起个名字好难啊的帖子

零基础搭建小安派Windows 开发环境https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=282,

我的环境搭建过程如下:

(1)首先连接WSL

无标题.png

(2)如果新安装的WSL没有git,终端输入:sudo apt-get install git,如果有什么报错的话,建议直接丢到

文心一言中解决。为了使用WSL的git,但又需要下载SDK到windows环境中,所以切换路径到共享目录,我的是D盘,

终端输入:cd /mnt/d(可以根据自己的修改)。
无标题.png

(3)小安派源码工程克隆终端输入:git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git -b master

无标题.png

拉取M61 SDK 子模块,进入 AiPi-Open-Kits 中,打开 .gitmodules 文件 将url 参数中的 github.com 改成 gitee.com
无标题.png

保存文件后,终端依次输入cd AiPi-Open-Kits/ ,git submodule init ,git submodule update
无标题.png [backcolor=rgba(27, 31, 35, 0.05)]
拉取 M61  SDK 的子模块,终端依次输入cd aithinker_Ai-M6X_SDK/ ,git submodule init ,
git submodule update
无标题.png
克隆适用 Windows 的编译工具链,终端输入:git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_windows.git -b master
无标题.png
添加工具链路径把三个路径加入到电脑的环境变量当中,分别是:
aithinker_Ai-M6X_SDK\toolchain_gcc_t-head_windows\bin,
aithinker_Ai-M6X_SDK\tools\make,
aithinker_Ai-M6X_SDK\tools\ninja

无标题.png


无标题.png

aithinker_Ai-M6X_SDK\tools\make 路径上移到最高层
无标题.png
至此环境搭建成功,退出WSL
无标题.png
终端依次输入make -v,riscv64-unknown-elf-gcc -v验证环境
无标题.png

2.点灯实现
VScode打开AiPi-Open-Kits\aithinker_Ai-M6X_SDK\examples\peripherals\gpio\gpio_input_output文件夹,终端修改到此路径
无标题.png
修改main.c中代码,查看原理图知道RGB灯引脚为IO12,IO14,IO15,这里选择IO12,代码如下:

  1. #include "bflb_gpio.h"
  2. #include "board.h"

  3. struct bflb_device_s *gpio;

  4. int main(void)
  5. {
  6.     board_init();

  7.     gpio = bflb_device_get_by_name("gpio");
  8.     bflb_gpio_init(gpio, GPIO_PIN_12, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);

  9.     while (1) {
  10.         bflb_gpio_set(gpio, GPIO_PIN_12);
  11.         bflb_mtimer_delay_ms(2000);

  12.         bflb_gpio_reset(gpio, GPIO_PIN_12);
  13.         bflb_mtimer_delay_ms(2000);
  14.     }
  15. }
复制代码

终端在AiPi-Open-Kits\aithinker_Ai-M6X_SDK\examples\peripherals\gpio\gpio_input_output路径下输入make

这里会报错,找到对应文件将其注释。
无标题.png
无标题.png
此时make仍报错,打开AiPi-Open-Kits\aithinker_Ai-M6X_SDK\project.build,将三处地方注释掉,保存再次编译。
无标题.png
无标题.png
此时编译成功
无标题.png

3.烧录
连接开发板,在板子上按住 IO2 按键并按一下 EN 按键进入烧录模式,终端键入make flash COMX=COM10(COM根据自己板子连接的串口修改)。
但是这么烧录会出现第一次烧录成功,但第二次无法烧录的情况,参考大佬帖子解决https://bbs.ai-thinker.com/forum ... &tid=44609&mobile=2
我这里推荐使用下载器下载代码,软件下载地址在这个帖子中有:重新烧写Ai-M61-32S出厂固件
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43410
打开软件
无标题.png
选择烧录文件及串口
无标题.png
烧录的文件是工程文件夹AiPi-Open-Kits/aithinker_Ai-M6X_SDK/examples/peripherals/gpio/gpio_input_output/
下的build/build_out/gpio_input_output_bl616.bin。在板子上按住 IO2 按键并按一下 EN 按键进入烧录模式,点击下载烧录。
烧录成功后按下 EN 按键,可以观察到板子上RGB灯红灯闪烁。

至此灯已成功点亮,按照此流程我的电脑没有其余的问题出现,如果按此流程出现其他问题,可以自行搜索解决或者留言大家一起探讨~~









   











无标题.png
无标题.png
无标题.png
回复

使用道具 举报

1055173307 | 2024-5-4 09:46:47 | 显示全部楼层
回复

使用道具 举报

iiv | 2024-5-4 11:58:40 | 显示全部楼层
下载固件的时候带上boot2就不会出现这个问题了,sdk里面博流的demo好多都没有这个,所以烧录了demo以后可能就下载困难了,哈哈,如果有usb引出来可以用usb也能下,可惜这个板子没有
回复 支持 1 反对 0

使用道具 举报

干簧管 | 2024-5-4 13:28:49 | 显示全部楼层
回复

使用道具 举报

noonezero | 2024-5-24 13:22:06 | 显示全部楼层
恭喜点灯
回复

使用道具 举报

timo | 2024-5-25 15:51:11 | 显示全部楼层
入坑了
回复

使用道具 举报

7788 | 2024-5-25 16:22:43 | 显示全部楼层
真详细
回复

使用道具 举报

wukong50 | 2024-6-24 20:33:01 | 显示全部楼层
完成任务了
回复 支持 反对

使用道具 举报

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

本版积分规则