【祖传点灯】安信可Ai-M61-32S点灯+Linux环境搭建及你好世界LED闪烁

[复制链接]
查看307 | 回复3 | 2024-5-13 23:01:50 | 显示全部楼层 |阅读模式
本帖最后由 邦邦 于 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,没后顾之忧,
使用虚拟机还给自己挖了个深坑,后面补上。
如何安装ubuntu此处跳过。ubuntu桌面系统非常方便,强大,可替代Windows,现在都习惯了。
可参考另个大侠的,非常详细
https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44807&extra=page%3D1
进入ubuntu
打开shell命令界面
Ctrl+Alt+T
安装基本软件
sudo apt installgit vim gcc make cmake ninja-build
1.jpg
2.jpg

拉取sdk组包,把子模块一起拉下来

方法一:git clone --recursive

方法二:git submodule update --init

个人喜欢用方法一
3.jpg
4.jpg


项目和SDK分离,个人喜欢,
2024-05-13 21-33-32 的屏幕截图.png


修改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 ?=


2024-05-13 22-35-10 的屏幕截图.png


复制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

2024-05-13 22-37-45 的屏幕截图.png


补坑来了
接入硬件,插入开发板时,虚拟机一定连上。不习惯虚拟机,浪费一个小时,硬件没接入虚拟机


                               
登录/注册后可看大图



修改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
6.jpg


make flash


                               
登录/注册后可看大图



烧录成功,按下复位键


7.jpg

https://www.bilibili.com/video/BV1wD421P76L/


回复

使用道具 举报

hrqwe | 2024-5-13 23:29:59 | 显示全部楼层
点赞
日拱一卒,功不唐捐
回复

使用道具 举报

1055173307 | 2024-5-14 11:09:23 | 显示全部楼层
回复

使用道具 举报

爱笑 | 2024-5-17 11:51:35 | 显示全部楼层
作业已完成!
用心做好保姆工作
回复 支持 反对

使用道具 举报

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

本版积分规则