本帖最后由 邦邦 于 2024-5-13 23:03 编辑
感谢园长!感谢安信可!!感谢所有!!! 硬件资源:Ai-M61-32S 模组,内置了 BL618 芯片,支持最新的 Wi-Fi6+BLE5.3 技术,一个带有浮点单元、DSP 单元、高速缓存和存储器的低功耗 32 位 RISC-V CPU,最高主频可达 320M,性能强劲,可谓功能强大。 开发板使用Type-C 接口非常方便,跟上时代潮浪,超炫的 RGB 灯,引脚丝印都清晰可辨,焊点做工精细,看起来赏心悦目。 一、开发环境搭建
一直喜欢用Linux,没版权问题,老板也让大家用Linux。使用虚拟机VMware® Workstation 17 Pro 哇卡卡,版权问题,还好是个人电脑使用,公司直接使用Linux,没后顾之忧, 使用虚拟机还给自己挖了个深坑,后面补上。 可参考另个大侠的,非常详细 https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44807&extra=page%3D1
进入ubuntu 打开shell命令界面 Ctrl+Alt+T 安装基本软件
|
项目和SDK分离,个人喜欢,
修改SDK里的project.build
# The command to remove a file.
RM = $(CMAKE) -E remove_directory
CHIP ?= bl616
BOARD ?= bl616dk
CPU_ID ?=
CONFIG_USB_HS ?=y
CONFIG_ROMAPI ?=y
CONFIG_DEBUG ?=y
CONFIG_TLSF ?=y
COMX ?=/dev/ttyUSB0
BAUDRATE ?=2000000
BOARD_DIR ?=
复制gpio_input_output到新建文件夹Project
修改gpio_input_output的Makefile
SDK_DEMO_PATH ?= .
BL_SDK_BASE ?= $(SDK_DEMO_PATH)/../../aithinker_Ai-M6X_SDK
export BL_SDK_BASE
CHIP ?= bl616
BOARD ?= bl616dk
CROSS_COMPILE ?= riscv64-unknown-elf-
COMX ?=/dev/ttyUSB0
# add custom cmake definition
#cmake_definition+=-Dxxx=sss
include $(BL_SDK_BASE)/project.build
补坑来了
接入硬件,插入开发板时,虚拟机一定连上。不习惯虚拟机,浪费一个小时,硬件没接入虚拟机
修改main
#include "bflb_gpio.h"
#include "board.h"
#include "bflb_mtimer.h"
#define DBG_TAG "MAIN"
#include "log.h"
struct bflb_device_s *gpio;
int main(void)
{
board_init();
gpio = bflb_device_get_by_name("gpio");
printf("gpio output\r\n");
LOG_F("hello world fatal\r\n");
LOG_E("hello world error\r\n");
LOG_W("hello world warning\r\n");
LOG_I("hello world information\r\n");
LOG_D("hello world debug\r\n");
LOG_T("hello world trace\r\n");
LOG_RF("hello world fatal raw\r\n");
LOG_RE("hello world error raw\r\n");
LOG_RW("hello world warning raw\r\n");
LOG_RI("hello world information raw\r\n");
LOG_RD("hello world debug raw\r\n");
LOG_RT("hello world trace raw\r\n");
bflb_mtimer_delay_ms(1000);
bflb_gpio_init(gpio, GPIO_PIN_29, GPIO_OUTPUT | GPIO_PULLDOWN | GPIO_SMT_EN | GPIO_DRV_0);
bflb_gpio_init(gpio, GPIO_PIN_27, GPIO_OUTPUT | GPIO_PULLDOWN | GPIO_SMT_EN | GPIO_DRV_0);
while (1) {
bflb_gpio_set(gpio, GPIO_PIN_27);
bflb_gpio_reset(gpio, GPIO_PIN_29);
bflb_mtimer_delay_ms(1000);
bflb_gpio_reset(gpio, GPIO_PIN_27);
bflb_gpio_set(gpio, GPIO_PIN_29);
bflb_mtimer_delay_ms(1000);
}
}
编译生成bin文件,make
make flash
烧录成功,按下复位键
https://www.bilibili.com/video/BV1wD421P76L/
|