本帖最后由 点灯大师 于 2024-5-15 13:42 编辑
> 本帖最后由 点灯大师 于 2024-5-15 13:17 编辑
【祖传点灯】安信可Ai-M61-32S + 自由发挥
1环境搭建
搭建参考连接[零基础搭建小安派Windows 开发环境 - 小安派S1&M61教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (aithinker.com)]([https://bbs.aithinker.com/forum. ... d=282&extra=&page=1](https://bbs.aithinker.com/forum.php?mod=viewthread&td=282&extra=&page=1))
1.1vscode安装下载
vscode官网下载链接:[Download Visual Studio Code - Mac, Linux, Windows]([https://code.visualstudio.com/Download](https://code.visualstudio.com/Download))
安装后打开下载插件:
下一些插件方便使用:
chinese :中文显示。
C/C++ :用来实现代码跳转。
Doxygen Documentation Generator :快速注释插件
vscode-icons:文件名识别 icon,可以给各种文件自动标识出图标
1.2Git工具
下载连接:[https://github.com/git-for-windo ... 2.41.0.3-64-bit.exe](https://github.com/git-for-windows/git/releases/download/v2.41.0.windows.3/Git-2.41.0.3-64-bit.exe)
安装完成新建文件,方便保存后续SDK文件。
SDK地址:
git clone [https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git](https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git) -b master
接下来打开如下文件改地址(github国内有时候连不上)
1.3SDK安装更新
之前的git窗口分别输入如下指令:(到文档,初始化,更新,下载)
cd AiPi-Open-Kits/
git submodule init
git submodule update
cd aithinker\_Ai-M6X\_SDK/
git submodule init
git submodule update
git clone [https://gitee.com/bouffalolab/toolchain\_gcc\_t-head\_windows.git](https://gitee.com/bouffalolab/toolchain_gcc_t-head_windows.git) -b master
1.4环境变量
添加bin、make、ninja的路径
aithinker\_Ai-M6X\_SDK\\toolchain\_gcc\_t-head\_windows\\bin
aithinker\_Ai-M6X\_SDK\\tools\\make
aithinker\_Ai-M6X\_SDK\\tools\\ninja
win+e后如下操作:
在系统变量中新建如下(make移到顶)
| | 关闭 - [url=]上传图片[/url]
- [url=]相册图片[/url]
- [url=]网络图片[/url]
| 在桌面按住 shift键点击 鼠标右键打开 PowerShell 。在 PowerShell 输入:(验证环境是否正确)
make -v
riscv64-unknown-elf-gcc -v
2新建项目及其下载
2.1新建项目
在AiPi-Open-Kits\\aithinker\_Ai-M6X\_SDK\\examples的路径下有例子项目文件(我选了helloworld),
复制到aithinker\_Ai-M6X\_SDK,打开helloworld中的Makefile的文件。
第二行改为BL\_SDK\_BASE ?= \$(SDK\_DEMO\_PATH)/../aithinker\_Ai-M6X\_SDK,记得(ctrl+s)保存。
2.2vscode编写程序
在vscode打开helloworld文件
打开终端
输入命令:
make
我遇到的问题:
1.make (e=2)错误
../aithinker\_Ai-M6X\_SDK/project.build:75: build] Error 2
解决方法:ctrl+左键到问题路径,#注释这3行。
方案来自:[M61开箱编译烧录踩坑记录 (CreateProcess failed/could not open port) - 小安派S1&M61教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)]([https://bbs.ai-thinker.com/forum ... light=CreateProcess](https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43808&highlight=CreateProcess))
2."#include "lwip/dns.h错误"
解决方法:在AiPi-Open-Kits/aithinker\_Ai-M6X\_SDK/bsp/board/bl616dk/board.c中注释两行
正常的话显示如下:
编译完成后编写代码到manic
代码参考连接:[Ai-M61-32S点亮保姆级别教程 - 小安派S1&M61教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)]([https://bbs.ai-thinker.com/forum ... d&tid=43613&ctid=13](https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43613&ctid=13))
#include "bflb\_gpio.h"
#include "board.h"
struct bflb\_device\_s \*gpio;
int main(void)
{
unsigned short leds[] = {
GPIO\_PIN\_12, GPIO\_PIN\_27, GPIO\_PIN\_14, GPIO\_PIN\_29, GPIO\_PIN\_15
};
const int LED\_COUNT = sizeof(leds)/sizeof(leds[0]);
board\_init();
gpio = bflb\_device\_get\_by\_name("gpio");
for(int i = 0; i < LED\_COUNT; ++i){
bflb\_gpio\_init(gpio, leds*, GPIO\_OUTPUT | GPIO\_PULLUP | GPIO\_SMT\_EN | GPIO\_DRV\_0);
}
while(1){
for(int i = 0; i < LED\_COUNT; ++i){
bflb\_gpio\_set(gpio, leds*);
bflb\_mtimer\_delay\_ms(200);
bflb\_gpio\_reset(gpio, leds*);
bflb\_mtimer\_delay\_ms(200);
}
}
return 0;
}
保存之后终端make
代码根据原理图了解,原理图链接:[ai-m61-32s-kit\_v1.1.0规格书20230324.pdf (ai-thinker.com)]([https://docs.ai-thinker.com/\_media/en/ai-m61-32s-kit\_v1.1.0](https://docs.ai-thinker.com/_media/en/ai-m61-32s-kit_v1.1.0)规格书20230324.pdf)
2.3下载
先win+e查看端口号:
没有端口,记得下ch340的驱动,我之前下的,忘记在哪下的了。
再在终端输入命令:(我的是com10,记得改自己的)
make flash COMX=COM10
记得点击板子的io2加en按键,下载后如下
实际现象:
感谢安信可社区的板子和大佬帖子让我快速点灯,deadline快到了我才收到板子(14号到手),最近搞毕设发现快到活动截止日期了,赶紧点个灯,vscode之前用python和c语言的,还是英文的,时间紧外设后面研究下,第一次写帖子可能有些不全。
|
|