目录
step1: 创建新项目


按自己的需要选择对应的 ARM core,本例以 Cortex-M4 为例

选择 CMSIS core 和 starup code (重要)

这一步很重要,如果不勾选这两项,在后面的编译链接过程中会出现 error: L6236E: No section matches selector - no section to be FIRST/LAST 如下图所示:

step2: 添加测试代码
将测试代码拷贝至 hello_mdk 工程目录下:

MDK 工程中添加 .c 文件



step3: 修改编译链接配置
完成上面两步后直接编译,在 linker 阶段会报错 Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limit 如下图所示

解决办法:
打开 Option->Linker 做下图配置

如出现下图所示 warning

不想此问题报 warning 的话添加 -Wno-padded 如下:

keil mdk 相关 warning 禁用介绍,参考:µVision User's Guide: Arm C/C++ (AC6) Compiler
设置是否显示警告及编译优化等级在下图位置:

step4: 脱机 debug
进行脱机 debug 验证,设置 debug 如下:

设置后直接 debug 即可

本文详细介绍了如何使用Keil MDK创建Cortex-M4项目,从创建新项目到添加测试代码,再到修改编译链接配置以解决undefined symbol错误,最后设置脱机debug步骤。关键步骤包括选择CMSIS Core和startup code,配置Linker避免L6218E错误,以及调整编译警告和优化等级。通过这个指南,读者可以掌握基于Keil MDK的嵌入式开发流程。
1688

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



