Kconfig与CMake初步模块化工程

Arm交叉编译的环境,这个是编译的必需品,选择10.3的经典版本,实际上选择最新版(13.3和14.2)也没问题

Version 10.3-2021.10

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads

14.2.Rel1 版本

https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-mingw-w64-x86_64-arm-none-eabi.exe

安装时勾选加入环境变量,省的手动添加

MinGW64

https://github.com/niXman/mingw-builds-binaries/releases

还需要mingw64的make工具链,需要手动加入环境变量,最好顺手把mingw32-make.exe改成make.exe,不然用起来很麻烦

CMake

https://cmake.org/download/

安装时勾选加入环境变量,省的手动添加

Kconfig-Python

还需要python环境和对应的包,某些情况可能会用到离线包,这里也一起说明

image-20250222185916218

注意python安装时的tcl/tk 这个需要安装,否则会缺少tkinter,打不开kconfig gui

核心就是这两个包得安装

pip install kconfiglib
pip install windows-curses

如果使用whl的离线安装包,就可以这样安装

pip install windows_curses-2.4.1-cp313-cp313-win_amd64.whl
pip install kconfiglib-2.2.2-py2.py3-none-any.whl

架构

https://github.com/elmagnificogi/CMake_Kconfig_Example

Demo示例写在这里,会随着我不断完善这个例子

结构

核心就几个文件夹,把各个模块解耦,组合到一起就行了

  • application,系统的入口,启动文件,调用各个module完成业务
  • driver,驱动层,驱动各种具体的设备
  • module,任务层,实现各种业务细节
  • platform,硬件层,给driver层提供硬件接口,实际使用的MCU的HAL或者标准驱动层
  • rtos,使用的操作系统
  • tools,完成Kconfig转换的代码
  • cmake,编译器或者跨平台的相关CMake代码

这里重点是如何利用CMake和Kco

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

alladmin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值