【祖传点灯】安信可Ai-M61-32S +初体验之环境搭建&编译下载&点灯

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

本帖最后由 singingbat 于 2024-5-3 15:57 编辑

感谢安信可让本人有机会第一次体验到Ai-M61-32S这块开发板,在此对于点灯的过程进行记录。

收货开箱

本次活动开发板由安信可洛阳工厂寄出,5月2日中午收到货。拆开包装,防尘袋里放着一块简约但不简单的精致的小板。

image.png

环境搭建

编辑器:vscode

代码托管:github、gitee

管理工具:make

vscode下载安装

VS code 是非常强大的代码编辑器,很多方便的功能都可以通过插件来实现,比如快速注释,代码跳转等功能。

下载连接: https://code.visualstudio.com/

下载完成,一路无脑Next安装即可,具体过程不在此赘述了。

vscode迷人的地方在于它丰富的插件。根据坛友的推荐,安装了

C/C++ :用来实现代码跳转。

image.png

Doxygen Documentation Generator :快速注释插件

image.png

vscode-icons :文件名识别 icon,可以给各种文件自动标识出图标

image.png

Git工具安装

git 工具 是必要的,拉取代码和管理代码的功能,Ai-M61-32S的源码全都是放在 git 远程仓库上,想要下载源码,必须使用 git 工具。

下载连接: https://github.com/git-for-windows/git/releases/download/v2.41.0.windows.3/Git-2.41.0.3-64-bit.exe

下载后安装过程也是无脑Next默认配置即可,过程不在此赘述了。

安装好后在文件夹下鼠标右键可看到Open Git Bash here

image.png

获取工程源码

克隆小安派工程

听说这个开发板是安信可之前推出的小安派的核心板,所以需要先拉取小安派的工程。

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

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

静静等待克隆完成。

拉取M61模块

前一步完成后在目标文件夹下会有个 AiPi-Open-Kits的文件夹。之前按照其它坛友的方法用文本打开 .gitmodules 文件 url 参数中的 github.com 改成 gitee.com

然后在 git 工具中分别执行:

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

但总是失败,如下图。

image.png

后来参照其它人的方法,还是在目标文件夹下,将下面一段复制保存为bat文件后一键执行。

cd AiPi-Open-Kits/
echo [submodule "aithinker_Ai-M6X_SDK"]>%cd%\.gitmodules
echo          path = aithinker_Ai-M6X_SDK>>%cd%\.gitmodules
echo          url = https://gitee.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK.git>>%cd%\.gitmodules
echo          branch = release/AiPi_Eyes_SDK>>%cd%\.gitmodules
pause
git submodule init
git submodule update

cd aithinker_Ai-M6X_SDK/
git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_windows.git -b master
git submodule init
git submodule update




pause

拉取M61的子模块和工具链

本来需要通过

cd aithinker_Ai-M6X_SDK/
git submodule init
git submodule update

拉取M61自己的子模块,同时还需要通过

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

克隆windows工具链,但在上一步中一键拉取时已经自动完成了,所以本步跳过。

配置系统环境变量

所有都拉取完成之后,需要把三个路径加入到电脑的环境变量当中,分别是:

aithinker_Ai-M6X_SDK\toolchain_gcc_t-head_windows\bin
aithinker_Ai-M6X_SDK\tools\make
aithinker_Ai-M6X_SDK\tools\ninja

image.png

设置完成之后,重启电脑,然后验证路径是否成功设置。

win+R,打开 cmd

输入:ake -v

成功输出信息:

GNU Make 4.2.1
Built for x86_64-w64-mingw32
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

输入:

 riscv64-unknown-elf-gcc -v

成功时输出信息:

Using built-in specs.
COLLECT_GCC=D:\Desktop\AiPi-Open-Kits\aithinker_Ai-M6X_SDK\toolchain_gcc_t-head_windows\bin\riscv64-unknown-elf-gcc.exe
COLLECT_LTO_WRAPPER=d:/desktop/aipi-open-kits/aithinker_ai-m6x_sdk/toolchain_gcc_t-head_windows/bin/../libexec/gcc/riscv64-unknown-elf/10.2.0/lto-wrapper.exe
Target: riscv64-unknown-elf
Configured with: /mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/./source/riscv/riscv-gcc/configure --target=riscv64-unknown-elf --host=i686-w64-mingw32 --with-gmp=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-mpfr=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-mpc=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-libexpat-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-libmpfr-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw --with-pkgversion='Xuantie-900 elf newlib gcc Toolchain V2.6.1 B-20220906' CXXFLAGS='-g -O2 -DTHEAD_VERSION_NUMBER=2.6.1 ' --enable-libgcctf --prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/Xuantie-900-gcc-elf-newlib-mingw-V2.6.1 --disable-shared --enable-threads=posix --enable-languages=c,c++ --without-system-zlib --enable-tls --with-newlib --with-sysroot=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/riscv64-unknown-elf --with-native-system-header-dir=/include --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libgomp --disable-nls --disable-tm-clone-registry --src=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/./source/riscv/riscv-gcc --enable-multilib --with-abi=lp64d --with-arch=rv64gcxthead 'CFLAGS_FOR_TARGET=-Os   -mcmodel=medany' 'CXXFLAGS_FOR_TARGET=-Os   -mcmodel=medany'
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (Xuantie-900 elf newlib gcc Toolchain V2.6.1 B-20220906)

编译下载

在拉取的仓库里有个官方的gpio的demo

aithinker_Ai-M6X_SDK\examples\peripherals\gpio\gpio_input_output

配置修改

关联make

可以把它复制到另外的空文件夹中,然后配置一下它的 makefile

SDK_DEMO_PATH ?= .
#BL_SDK_BASE ?= $(SDK_DEMO_PATH)/../../../..
BL_SDK_BASE ?=D:\zwxProject\AiThinker\Ai_M61_32S\AiPi-Open-Kits\aithinker_Ai-M6X_SDK
export BL_SDK_BASE

CHIP ?= bl616
BOARD ?= bl616dk
CROSS_COMPILE ?= riscv64-unknown-elf-

# add custom cmake definition
#cmake_definition+=-Dxxx=sss

include $(BL_SDK_BASE)/project.build

把其中的 BL_SDK_BASE的路径修改为 aithinker_Ai-M6X_SDK,这样make时就能使用其中的 project.build

注释project.build

而这个 project.build中也有需要修改的地方,需要屏蔽这三个地方。据说是Windows 平台下"AiPi-Open-Kits\aithinker_Ai-M6X_SDK\project.build"构建文件存在"cp"指令兼容性问题,如果开发板是小安派 R1,需将"cp"改为"copy",否则在行首加"#"注释即可。本次使用的是M61的板子,所以注释之。

image.png

否则会有如下报错

image.png

注释board.c

需要把 \AiPi-Open-Kits\aithinker_Ai-M6X_SDK\bsp\board\bl616dk\board.c中的两处进行屏蔽。

image.png

image.png

否则会有报错

image.png

编程点灯

示例gpio_input_output演示的是gpio的输入,现在我们希望点灯需要使用输出模式。

查阅文档

查阅开发板文档

https://docs.ai-thinker.com/_media/en/ai-m61-32s-kit_v1.1.0%E8%A7%84%E6%A0%BC%E4%B9%A620230324.pdf

可知板子上的RGB灯的引脚

image.png

修改main.c

修改工程中的main.c

编译

选中文件之后,鼠标右键 选择 在集成终端中打开,然后在终端输入:

make

开始编译源码,出现 Built target combine就编译完成了。

image.png

如果出错了或其它原因重新编译,需要先清除。

make clean

工程下载

板子自带CH340串口芯片,在装好驱动的情况下插入电脑后在设备管理器中可以看到COM口。

按住烧录(BURN)按键并保持,按一下复位(RST)按键,松开烧录(BURN)按键即可进入板子的烧录模式。

烧录命令:make flash COMX=COM5

image.png

如果COM口被占用则会报错

image.png

运行效果

按下复位按键后串口及LED灯显示效果

串口显示

连接putty或mobaxterm等调试工具,设置COM号和波特率连接开发板,默认波特率是 2000000,在 board.cconsole_init()中设置的。

image.png

点灯效果

<iframe frameborder="0" src="https://v.qq.com/txp/iframe/player.html?vid=j35482b8jua" allowFullScreen="true"></iframe>

回复

使用道具 举报

wurong | 2024-5-24 21:21:06 | 显示全部楼层
完成任务了
回复 支持 反对

使用道具 举报

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

使用道具 举报

7788 | 2024-5-27 20:01:05 | 显示全部楼层
完美
回复

使用道具 举报

知行合一 | 2024-6-23 19:47:16 | 显示全部楼层
恭喜
回复

使用道具 举报

wukong50 | 2024-7-3 13:43:34 | 显示全部楼层
真详细
回复

使用道具 举报

sansui | 2024-7-3 15:37:50 | 显示全部楼层
完成任务了
回复 支持 反对

使用道具 举报

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

本版积分规则