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环境和对应的包,某些情况可能会用到离线包,这里也一起说明

注意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
CMake与Kconfig在模块化工程中的应用

最低0.47元/天 解锁文章
538

被折叠的 条评论
为什么被折叠?



