BLCL的博客小馆

标签 · CMakebinance币安理财存U年化收益40% !!牛市躺着就是收钱,闲置资金记得放理财!立即注册立享收益!!

首页

关于

归档

loading..
CMakeLLVM

CLANG-LLVM编译STM32

Foreword 全网找不到几个LLVM工具链进行交叉编译的例子,如果只是Linux环境,那可能随便弄,但是Windows下要拉哪个库,环境变量什么的要怎么弄都没找到例子。东拼西凑了几个Blog的内容,总算是完整可以编译了 如果直接用Keil的AC6,那没啥难度,如果抛弃他,改用开源又要怎么弄 环境 目前开源可用的LLVM的交叉编译工具链,只看到了这一个 https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases 官方版本的工具链目前还在建设阶段,根本没有Release可用 https://github.com/arm/arm-toolchain/tree/arm-software 下一个..

更多
loading..
KconfigCMakeVSCode

VSCode CMake工作流

Foreword 之前看到CMake有这么多选项,感觉不简单,还是看下别人在这里设计了多少东西 CMake 整体来说CMake遵循这样一套结构 操作-操作预设(如果有的话)-操作目标(如果有的话) 比如 Configure-ConfigurePreset Build-BuildPreset-Build_Target Launch-Launch_Target Test-TestPreset Pack-PackPreset Workflow-WorkflowPreset Configure 这个不用多说,最基础的配置了 Kit Kit是作为configure中的一个环境,也就是编译工具链的配置 同时默认的CMake把工具链和生成配置类型,这个区分开了,实际我之前做的demo也区分..

更多
loading..
KconfigCMakeVSCode

VSCode CMake Debug

Foreword VSCode CMake Debug 嵌入式MCU有好几种方案 Cortex-Debug OpenOCD https://elmagnifico.tech/2023/07/22/Vllink-DapLink-Debug/ OpenOCD,需要专门的调试工具,ST-Link或者这里的VLink,支持CMSIS-DAP的 增加而一个build做为前置任务,然后启动openodcd tasks.json { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "..

更多
loading..
KconfigCMake

Kconfig与CMake初步模块化工程3

Foreword 本篇解决一下CMake和VScode怎么整合到一起 VSCode 适配VSCode VSCode只需要一个CMake Tools,不需要安装其他CMake插件 Kconfig格式化和代码高亮,还是用nRF的好一些,另外那个Kconfig会识别出错 缺少 Select a Kit vscode cmake 缺少选择Select a Kit,主要原因是目录已经有了CMakePresets.json,有预设的情况下不会给你选kit,这个问题找了半天,发现官方文档就写了 但是你搜索的命令又有,只能说官方弄的有点乱,而且本身使用预设和可以选kit我觉得也不矛盾 CMake:Scan for compiles 去掉预设文件以后,这个kit果然就有了,就可以正常选择了..

更多
loading..
KconfigCMake

Kconfig与CMake初步模块化工程2

Foreword 继续上篇,解决一些未完成的问题 遗留问题 模块化 Linux内有一些模块化的操作,但是如果直接模仿,会发现无效。 比如类型中的tristate是三状态,比如y、m、n,表示启用模块、动态加载 、禁用,三种情况,但是如果直接像下面这么写是无法启用的,你会看到怎么设都是启动和禁止,没有动态加载的选项 menu "New Module Configuration" config NewModule tristate "NewModule" choice prompt "Feature selection" tristate config Feature1 tristate "..

更多
loading..
KconfigCMake

Kconfig与CMake初步模块化工程

Foreword 使用CMkae+Kconfig最小化的创建一个可以模块化的工程,可以适用于大部分MCU类型的工程,并且有一定程度的扩展性。 需求环境 环境需要的东西比较多,要安装4个独立程序才行,对比IDE一键安装,是复杂了一些 Arm GNU Toolchain https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads Arm交叉编译的环境,这个是编译的必需品,选择10.3的经典版本,实际上选择最新版(13.3和14.2)也没问题 Version 10.3-2021.10 https://developer.arm.com/tools-and-software/open-source-softwar..

更多