本帖最后由 wxlinus 于 2024-1-11 15:17 编辑
前一段时间用vscode开发m61全是在命令行下面没有一个一点就能自动运行下载的ide(就是懒)而且vscode的代码跳转、代码补全等一些功能对make有点不太友好,所以就有了尝试在clion搭建开发环境的想法,下面就对我自己折腾的这个过程与问题做下记录
首先如果以前有按照官方配置过开发环境需要把以前3个环境变量删除
1、在clion里面设置工具链位置(按照图设置就行、注意对应的文件位置)
aithinker_Ai-M6X_SDK.bat文件(补充一下这个%~dp0代表的是当前批处理文件的所在目录 下面这些环境变量的位置要根据你批处理文件的位置做相应的调整)
这个环境变量配置参考的:
- @echo off
- set PATH=%~dp0toolchain_gcc_t-head_windows\bin;%PATH%
- set BL_SDK_BASE=%~dp0\aithinker_Ai-M6X_SDK
- set PATH=%BL_SDK_BASE%\tools\make;%PATH%
- set PATH=%BL_SDK_BASE%\tools\ninja;%PATH%
- set PATH=%BL_SDK_BASE%\tools\cmake\bin;%PATH%
- set PATH=%BL_SDK_BASE%\tools\openocd;%PATH%
- echo add SDK and toolchain to PATH successfully.
复制代码 clion工具链设置
2、导入工程我这里打开的是project_basic项目
提示直接选择cmake
会弹出来设置cmake(如果没有直接打开设置找到cmake设置就行)选择刚刚配置的工具链
3、修改项目的CMakeLists.txt文件内容
CMakeLists.txt文件
- # *************************************************************#
- # 工程源文件配置
- # Engineering Source File Configuration
- # *************************************************************#
- # ############################ 保持默认 #######################
- # ######################### Keep default ####################
- cmake_minimum_required(VERSION 3.15)
- set(CHIP bl616)
- set(BOARD bl616dk)
- set(CROSS_COMPILE riscv64-unknown-elf-)
- set(CONFIG_USB_HS n)
- set(CONFIG_ROMAPI y)
- set(CONFIG_DEBUG y)
- set(CONFIG_TLSF y)
- set(BAUDRATE 2000000)
- set(COMX COM6)
- include(proj.conf)
- find_package(bouffalo_sdk REQUIRED HINTS $ENV{BL_SDK_BASE})
- # #############################################################
- # 搜集所有的C文件( Collect source files)
- file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/components/*.c")
- # 添加头文件的引用路径(Add .h include directories)
- sdk_add_include_directories(main config components/wifi)
- # 把C文件添加到工程里(Add .c file to the project)
- target_sources(app PRIVATE ${sources})
- # 设置main.c 的文件(Set the document source for main. c)
- # 注意:不能和file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/components/*.c") 冲突(Note: Cannot conflict with “file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/components/*.c")”)
- sdk_set_main_file(main/main.c)
- # 设置工程名称,这个配置决定了编译出来的文件名。(Set the project name, which determines the compiled file name)
- get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
- project(${PROJECT_NAME})
- add_custom_target(flash
- COMMAND $ENV{BL_SDK_BASE}/tools/bflb_tools/bouffalo_flash_cube/BLFlashCommand.exe
- --interface=uart
- --baudrate=${BAUDRATE}
- --port=${COMX}
- --chipname=${CHIP}
- --cpu_id=${CPU_ID}
- --config=${CMAKE_SOURCE_DIR}/flash_prog_cfg.ini
- DEPENDS ${PROJECT_NAME}.elf combine
- )
复制代码
4、重载一下一下CMake项目
5、配置构建命令
这个配置主要是提供另一种烧录的方法 就是运行(三角形)(推荐这种)
程序实参
- --interface=uart
- --baudrate=2000000
- --port=COM6
- --chipname=bl616
- --cpu_id=
- --config=flash_prog_cfg.ini
复制代码
运行(三角形)与构建(小锤子)的区别
6、构建一下试试
备注:第一次运行一定要先构建all一下不然会有可能会报错找不到bin(没遇到的请忽略,遇到了就是试一下)
方法一运行(三角形)结果(推荐)
方法二构建(小锤子)可选
最后clion真的好用代码补全、错误修复alt+enter、提示等功能非常强大(被idea惯坏了的java开发)
完结✿✿ヽ(°▽°)ノ✿
|