本帖最后由 Zane 于 2024-5-5 20:25 编辑
环境搭建
需要下载必备的软件
- git工具 Git - Downloading Package (git-scm.com)
- vscode Visual Studio Code - Code Editing. Redefined
安装教程请自行百度
开发库下载
找一个空间比较大的盘,然后创建一个文件夹AiThinker,如图
进入创建的文件夹,然后在地址栏输入cmd,回车,并在弹出的命令行窗口中输入以下命令
git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git -b master
克隆完成后,进入克隆的文件夹,修改.gitmodules文件,如图
修改完成后,在AiPi-Open-Kits下打开命令行窗口
输入以下命令,拉去子模块
git submodule init
git submodule update
进入aithinker_Ai-M6X_SDK,拉取SDK子模块
cd aithinker_Ai-M6X_SDK
# 接着继续拉取子模块
git submodule init
git submodule update
克隆使用Windows的编译工具链
git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_windows.git -b master
所有都拉取完成之后,需要把三个路径加入到电脑的环境变量当中,分别是:
aithinker_Ai-M6X_SDK\toolchain_gcc_t-head_windows\bin
aithinker_Ai-M6X_SDK\tools\make
aithinker_Ai-M6X_SDK\tools\ninja
如图
最后打开命令行测试
make -v
riscv64-unknown-elf-gcc -v
LED点灯及下载
打开aithinker_Ai-M6X_SDK文件夹下的examples\peripherals\gpio文件夹,将gpio_input_output复制一份重命名为gpio_input_output_rgb,进入gpio_input_output_rgb文件夹。
首先修改CMakeLists.txt
然后修改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) {
bflb_gpio_set(gpio, gpio_group[i]);
bflb_mtimer_delay_ms(1000);
bflb_gpio_reset(gpio, gpio_group[i]);
i = (i + 1) % 3;
}
}
保存,然后在地址栏输入cmd,打开命令行窗口,并插入开发板,输入以下命令下载程序到开发板
make clean
make
make flash COMX=COM6
开发板端口请修改为你电脑识别的端口
按住开发板IO2键不松 然后按EN键 使开发板进入下载模式。
下载成功后如图
下载成功后,重新上电就可以看到RGB LED灯啦。
遇到的问题及解决方案
无法找到lwip/dns.h头文件
解决方法
注释 AiPi-Open-Kits/aithinker_Ai-M6X_SDK/bsp/board/bl616dk/board.c
中的第11行和第212行
process_begin: CreateProcess(NULL, cp ./../../../../bsp/board/bl616dk/config/edata.bin build/build_out, ...) failed.
make (e=2): 系统找不到指定的文件。
make: *** [../../../../project.build:75: build] Error 2
这是由于windows命令兼容性问题
只需要修改aithinker_Ai-M6X_SDK文件夹下project.build文件
将75 76 90行注释掉就可以解决