先在官网下载并安装vscode
接着按照教程依次克隆库文件,要注意的是文件的路径中不能包括空格,否则后续make时会提醒找不到指定文件
- git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.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
复制代码 其中需要访问GitHub,如果你的电脑不能访问可以换源到gitee或者开加速器
然后按照教程要求添加环境变量(好像添加顺序并不影响)
下一步检查环境变量是否生效(可以先重启电脑)
- make -v
- riscv64-unknown-elf-gcc -v
复制代码 输出如下则正常
下一步打开vscode,定位到AiPi-Eyes_weather文件夹,右键在内置命令行打开,输入make,也可以加V=sc来输出详细信息,加-j16来加速编译
编译成功时结果如下
如果编译错误,记得修改|AiPi-Open-Kits\aithinker_Ai-M6X_SDK里的project.build文件如下
- # avoid 'Entering|Leaving directory' messages
- ifndef VERBOSE
- MAKEFLAGS += --no-print-directory
- endif
- command_flash = $(BL_FLASH_PROGRAM) --interface=uart --baudrate=$(BAUDRATE) \
- --port=$(COMX) --chipname=$(CHIP) --cpu_id=$(CPU_ID) --config=flash_prog_cfg.ini
- command_efuse = $(BL_FLASH_PROGRAM) --interface=uart --baudrate=$(BAUDRATE) \
- --port=$(COMX) --chipname=$(CHIP) --efuse=build/build_out/efusedata.bin
- command_puncover = $(PUNCOVER_PROGRAM) \
- --elf_file ./build/build_out/*.elf --map_file ./build/build_out/*.map \
- --build_dir ./build --src_root ${BL_SDK_BASE} --port 5001
- ifeq ($(OS),Windows_NT)
- CMAKE = $(BL_SDK_BASE)/tools/cmake/bin/cmake.exe
- BL_FLASH_PROGRAM = ${BL_SDK_BASE}/tools/bflb_tools/bouffalo_flash_cube/BLFlashCommand.exe
- PUNCOVER_PROGRAM = puncover_riscv.exe
- cmake_generator = "MinGW Makefiles"
- else
- ifeq ($(shell uname),Darwin)
- CMAKE = cmake # use user cmake
- BL_FLASH_PROGRAM = ${BL_SDK_BASE}/tools/bflb_tools/bouffalo_flash_cube/BLFlashCommand-macos
- PUNCOVER_PROGRAM = puncover_riscv
- cmake_generator = "Unix Makefiles"
- else ifeq ($(shell uname),FreeBSD)
- CMAKE = cmake # use user cmake
- BL_FLASH_PROGRAM = ${BL_SDK_BASE}/tools/bflb_tools/bouffalo_flash_cube/BLFlashCommand-freebsd
- PUNCOVER_PROGRAM = puncover_riscv
- cmake_generator = "Unix Makefiles"
- else ifeq ($(patsubst %WSL2,WSL2,$(shell uname -r)), WSL2)
- PS_PROGRAM = /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
- CMAKE = $(BL_SDK_BASE)/tools/cmake/bin/cmake
- command_flash = $(PS_PROGRAM) make flash CHIP=$(CHIP) CPU_ID=$(CPU_ID) COMX=$(COMX) BAUDRATE=$(BAUDRATE)
- command_efuse = $(PS_PROGRAM) make efuse CHIP=$(CHIP) CPU_ID=$(CPU_ID) COMX=$(COMX) BAUDRATE=$(BAUDRATE)
- PUNCOVER_PROGRAM = puncover_riscv
- cmake_generator = "Unix Makefiles"
- else
- CMAKE = $(BL_SDK_BASE)/tools/cmake/bin/cmake
- BL_FLASH_PROGRAM = ${BL_SDK_BASE}/tools/bflb_tools/bouffalo_flash_cube/BLFlashCommand-ubuntu
- PUNCOVER_PROGRAM = puncover_riscv
- cmake_generator = "Unix Makefiles"
- endif
- endif
- # The command to remove a file.
- RM = $(CMAKE) -E remove_directory
- CPU_ID ?=
- CONFIG_USB_HS ?=y
- CONFIG_ROMAPI ?=y
- CONFIG_DEBUG ?=y
- CONFIG_TLSF ?=y
- COMX ?=/dev/ttyUSB0
- BAUDRATE ?=2000000
- BOARD_DIR ?=
- #cmake definition config
- cmake_definition+= -DCROSS_COMPILE=${CROSS_COMPILE}
- cmake_definition+= -DCHIP=$(CHIP)
- cmake_definition+= -DCPU_ID=$(CPU_ID)
- cmake_definition+= -DBOARD=$(BOARD)
- cmake_definition+= -DBOARD_DIR=$(BOARD_DIR)
- cmake_definition+= -DCONFIG_DEBUG=$(CONFIG_DEBUG)
- cmake_definition+= -DCONFIG_ROMAPI=$(CONFIG_ROMAPI)
- cmake_definition+= -DCONFIG_USB_HS=$(CONFIG_USB_HS)
- cmake_definition+= -DCONFIG_COMX=$(COMX)
- cmake_definition+= -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF
- cmake_definition+= -DCONFIG_TLSF=$(CONFIG_TLSF)
- build:Makefile
- $(CMAKE) -S . -B build -G $(cmake_generator) $(cmake_definition)
- make -C build -j8
- make -C build combine
- # cp $(BL_SDK_BASE)/bsp/board/bl616dk/config/edata.bin build/build_out
- # cp $(BL_SDK_BASE)/bsp/board/bl616dk/config/Rx_boot2_m61.bin build/build_out
- ninja:Makefile
- $(CMAKE) -S . -B build -G Ninja $(cmake_definition)
- cd build && ninja && ninja combine
- clean::
- $(RM) build
- menuconfig::
- python $(BL_SDK_BASE)/tools/kconfig/menuconfig.py
- flash:build
- $(command_flash)
- # cp $(BL_SDK_BASE)/tools/bflb_tools/bouffalo_flash_cube/chips/bl616/img_create/whole_flash_data.bin build/build_out/
- efuse:
- $(command_efuse)
- puncover:
- $(command_puncover)
- .PHONY:build clean menuconfig ninja
复制代码 第一次写帖子,如有不妥请谅解,谢谢
|