STM32-Keil破解和配置
前言
收集的各种报错解决方案
- 解决keil MDK 5 编译出现"Could not open file …\output\core_cm3.o: No such file or directory"的终极超简单方法
- 国产32冒充STM32导致daplink下载不了
其他
配置 STM32 开发环境
- 首先到官网下载 keil MDK
-
点击后会弹出需要填写信息的页面随便写就行了
-
写完会弹出以下页面点击下载即可
-
下载完成安装即可,中间无需改任何东西位置默认就行(由于我之前下过 keil C51 所以第一次下时我改过位置导致后面破解不了只能把 keil C51 卸了重新下 keil MDK)
-
安装完成后右键 “以管理员身份打开”然后打开破解工具开始破解
-
复制 ID 后打开破解工具按照下面图片步骤完成(破解工具在我书签页第一个书签)
-
把复制的那串密钥粘贴到下面那个位置,点击 Add 如果成功了则上面就会显示 MDK-ARM Plus
- 破解完成后还需要安装STM32的芯片包(不然你没有芯片也不能编译代码);直接去 [MDK5 Software Packs](https://www.keil.com/dd2/Pack/# !# eula-container)下载,记得选择正确的型号,因为我的板子是 STM32F103RDT6;所以我就下载 STM32F1系列的(保存目录最好存你 keil MDK 安装目录下)
- 下载完成后到目录找到这个 pack 双击它安装(安装过程一直 Next 即可)
- 安装完成后打开 keil MDK 软件检查有没有这个芯片包
这样就完成了!!!
配置 C51 开发环境
如果还想写 51单片机代码则还想要配置 C51的密钥,首先下载 MDK-C51配置(压缩包在书签第一个)
-
将 MDK-C51解压后可以看到这些文件
-
然后将 C51.zip 复制到你的 Keil MDK 安装目录下然后解压(不知道安装目录的可以右键你的 Keil MDK 找到"文件所在位置")
这是解压后的部分文件截图:
- 然后把之前 MDK-C51解压后的 C51配置代码.txt 用记事本打开,修改 PATH的路径为你 Keil MDK 的安装目录(就是刚刚的"文件所在位置")
- 然后打开 Keil MDK 安装目录下的 TOOLS.INI 配置文件,将上面修改好路径的配置代码复制到该文件的末尾然后保存即可(如果提示权限不足,建议用管理员权限打开此配置文件)
- 然后打开 Keil MDK,打开刚刚的 License Management 复制 ID 到破解工具那生成秘钥然后激活即可
- 51单片机系列的选 AT89C52 即可(头文件是:# include “reg52.h”)
好了,现在可以愉快的敲代码了
美化代码界面
一开始代码界面是默认的,有的人可能就不太习惯,比如我(我一开始接触C语言就是在 VS2019 上敲的,实在太舒服了);但是 Keil 没有设置代码配色方案的 UI 支持,所有的配色方案都是在安装目录下的 /UV4/global.prop 文件中定义,可以自行设计配色方案。这里分享好看的几款(下载后直接覆盖重启 Keil 即可):
注意:重启打开项目会出现注释乱码这需要手动修改设置,这样注释就恢复了
插件
- CoolFormat(代码格式化2)
- AStyle(代码格式化1)
- DateTime(当前时间)
- FunctionComment(函数注释)
- FileComments(文件注释)
嵌入式开发工具
RT-Thread Studio - RT-Thread物联网操作系统
参考文章
vscode开发单片机:https://blog.zeruns.tech/archives/690.html
keil编译脚本
速度跟在软件里编译是一样的没区别
放在 uvprojx
文件同级目录下双击
UV
改成你的UV4.exe路径
@echo off
set UV=C:\Keil_V5\UV4\UV4.exe
set UV_PRO_FILE="uvprojx"
set UV_PRO_DIR=%cd%
for /f "usebackq delims=" %%j in (`dir /b "%UV_PRO_DIR%"\*."%UV_PRO_FILE%"`) do (
if exist %%j (
set UV_PRO_FILE_PATH="%UV_PRO_DIR%\%%j"))
echo %UV%
echo %UV_PRO_DIR%
echo %UV_PRO_FILE_PATH%
echo Init building ...
echo .>build_log.txt
%UV% -j0 -r %UV_PRO_FILE_PATH% -o %cd%\build_log.txt
type build_log.txt
echo Done.
pause
vscode+keil
参考文章
方法1
- 安装插件
Keil V
- 写UV4.exe的路径
- 打开项目的话可以管理员身份打开vscode然后在里面直接就打开项目的根目录文件夹即可
- 注意编写
setting.json
,不加的话会出现宏定义下面有红色波浪线警告,但是可以跳转定义
{
"files.associations": {
"my.h": "c"
},
"C_Cpp.intelliSenseEngineFallback": "Disabled", //需要添加的
"C_Cpp.intelliSenseEngine": "Tag Parser", // 需要添加的
}
- 添加
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/Keil_v5/ARM/ARMCC/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"__CC_ARM", /*必须加*/
"USE_HAL_DRIVER", /*看keil的宏定义*/
"STM32G431xx" /*看keil的宏定义*/
],
"compilerPath": "D:\\GW64\\mingw64\\bin\\gcc.exe",
"cStandard": "c99",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
- vscode最好用管理员身份打开,这样不需要每次编译或者下载时需要点击弹窗
- MX配置完后vscode自动会刷新
方法2
下载插件Keil Assistant
,然后配置一下路径
推荐下载
1.6.2版本
,可以使用快捷键进行编译下载,新版本不行
KEIL快捷键设置
- 修改
跳转到定义
快捷键为CTRL+B
Edit:Advanced:Go to Definition of current Word
- 修改
注释选择的内容
快捷键为CTRL+/
Edit:Advanced:Comment Selection
- 修改
取消注释
快捷键为CTRL+SHIFT+/
Edit:Advanced:Uncomment Selection
用户代码片段
可以设置快捷代码模板,在左下角设置 — 用户代码片段
,然后选择对应语言,在程序里输入 //sta
就可以选择模板回车了
{
"Print to console_1": {
"prefix": "//static",
"body": [
"/*====================================静态内部函数声明区 BEGIN====================================*/",
"/*====================================静态内部函数声明区 END====================================*/"
],
"description": "静态内部函数声明区注释"
},
"Print to console_2": {
"prefix": "//",
"body": [
"/*====================================变量区 BEGIN====================================*/",
"/*====================================变量区 END====================================*/"
],
"description": "全局/外部变量区注释"
}
}