由 WangChong 贡献,Ai-Thinker 进行整理
博流最近终于更新了MAC的工具链, 所以目前可以使用MAC来编译进行小安派的开发. 经过我的摸索也是成功配置好,并且烧录成功. 接下来将带来详细的步骤教学
操作步骤
克隆 macOS 工具链
git clone https://github.com/bouffalolab/toolchain_gcc_t-head_macos.git
修改工程 Makefile
修改你需要编译的项目中的 Makefile,将其指向你本地的 SDK 和工具链:
SDK_DEMO_PATH ?= .
BL_SDK_BASE ?= /Users/aiden/bouffalo_sdk
export BL_SDK_BASE
CHIP ?= bl616
BOARD ?= bl616dk
CROSS_COMPILE ?= /Users/aiden/Documents/toolchain_gcc_t-head_macos/bin/riscv64-unknown-elf-
# add custom cmake definition
#cmake_definition+=-Dxxx=sss
include $(BL_SDK_BASE)/project.build
修改 bflb_flash.cmake 强制使用 macOS 工具
修改你工具链下 cmake 目录中的 bflb_flash.cmake,将上方的 bflb_fw_post_proc 强制指定为 MACOS,否则系统会识别为 Ubuntu:
if(MINGW OR CYGWIN OR WIN32)
set(TOOL_SUFFIX ".exe")
elseif(UNIX)
set(TOOL_SUFFIX "-ubuntu")
elseif(APPLE)
set(TOOL_SUFFIX "-macos")
endif()
# 修改这一行代码强制指定为使用macos的,而不使用上面的系统判断. 如果不强制指定的话,可能会被识别为乌班图
set(BL_FW_POST_PROC ${BL_SDK_BASE}/tools/bflb_tools/bflb_fw_post_proc/bflb_fw_post_proc-macos)
set(BL_FW_POST_PROC_CONFIG --chipname=${CHIP} --imgfile=${BIN_FILE})
if(BOARD_DIR)
list(APPEND BL_FW_POST_PROC_CONFIG --brdcfgdir=${BOARD_DIR}/${BOARD}/config)
else()
list(APPEND BL_FW_POST_PROC_CONFIG --brdcfgdir=${BL_SDK_BASE}/bsp/board/${BOARD}/config)
endif()
if(CONFIG_AES_KEY)
list(APPEND BL_FW_POST_PROC_CONFIG --key=${CONFIG_AES_KEY})
endif()
if(CONFIG_AES_IV)
list(APPEND BL_FW_POST_PROC_CONFIG --iv=${CONFIG_AES_IV})
endif()
if(CONFIG_PUBLIC_KEY)
list(APPEND BL_FW_POST_PROC_CONFIG --publickey=${CONFIG_PUBLIC_KEY})
endif()
if(CONFIG_PRIVATE_KEY)
list(APPEND BL_FW_POST_PROC_CONFIG --privatekey=${CONFIG_PRIVATE_KEY})
endif()
if(CONFIG_FW_POST_PROC_CUSTOM)
list(APPEND BL_FW_POST_PROC_CONFIG ${CONFIG_FW_POST_PROC_CUSTOM})
endif()
add_custom_target(combine
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${BL_FW_POST_PROC} ${BL_FW_POST_PROC_CONFIG})
编译
编译

烧录
烧录

测试
测试

遇到问题?
如有其他问题,请到统一的提问与讨论区:Ai-Thinker Discussions

