mdk 是 arm keil 旗下的产品
mdk 5.25.2.0
安装了 一些文件
没有改变环境变量
$ tree -L 1
.
├── ARM
├── THIRD-PARTY-LICENSES.txt
├── TOOLS.INI
├── UV4
└── Uninstall.exe
2 directories, 3 files
UV4 是文件夹, 是 编辑器
ARM 是文件夹, 是 编译工具及代码库及demo
ARM 目录
ARM/$ tree -L 1
.
├── ARMCC 编译器
├── ARMCLANG 编译器
├── BIN 不知道干啥的
├── FVP 不知道干啥的
├── Flash flash(烧写)功能相关的一些工程demo
├── Hlp 帮助文档
├── NULink 一款调试器NUlink的相关文档
├── PACK CMSIS标准的pack包相关的 源码包及其解压文件
├── PEMicro 不知道干啥的
├── STLink 一款调试器STLink 的驱动及升级工具
├── Segger 一款调试器Jlink 的驱动及上位机工具
├── SiLabs 不知道干啥的
├── Startup 不知道干啥的
├── TI_XDS 不知道干啥的
├── ULINK 一款调试器Ulink 的驱动及实用工具
├── Utilities 一些 VS 工程demo
└── sw 不知道干啥的
17 directories, 0 files
------------------------- 针对以下功能进行探索,发现 arm 和 几个调试器厂家 都有商业关系
├── NULink 一款调试器NUlink的相关文档
├── ULINK 一款调试器Ulink 的驱动及实用工具
├── STLink 一款调试器STLink 的驱动及升级工具
├── Segger 一款调试器Jlink 的驱动及上位机工具
├── PEMicro 不知道干啥的
├── BIN 不知道干啥的
├── FVP 不知道干啥的
├── SiLabs 不知道干啥的
├── Startup 不知道干啥的
├── TI_XDS 不知道干啥的
└── sw 不知道干啥的
------------------------- 针对以下功能进行探索
├── ARMCC 编译器
├── ARMCLANG 编译器
├── Flash flash(烧写)功能相关的一些工程demo
├── Hlp 帮助文档
├── PACK CMSIS标准的pack包相关的 源码包及其解压文件
├── Utilities 一些 VS 工程demo
MDK 编译器
mdk是arm的
之前对 arm 的编译器 进行过探索 : https:
这次可见 ARM 随IDE(mdk)发布 的编译器 分别在 两个文件夹 (ARMCC和ARMCLANG)
但是编译器可以选择的有四个编译器,如下图
flash(烧写)功能相关的一些工程demo
stm32f405 下载flash的时候 ,会 做一个动作,如下图
Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.13.0\CMSIS\Flash\STM32F4xx_1024.FLM
STM32F4xx_1024.FLM 文件就是 所谓的烧写算法
ARM/Flash 文件夹中的内容有很多 文件
似乎 一个文件夹 A 和 A.FLX A.FLM 是同一个工程
打开一个(名为AM29F160DB的)工程,提示不兼容,如下图所示
文件内容如下所示
FlashDev.c : Device Description for AM29F160DB (16-bit Bus)
FlashPrg.c : Flash Programming Functions adapted for AM29F160DB (16-bit Bus)
处理好这些问题,编译,编译log如下
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\ProgramFiles\ProgramFilesForSW\Keil_v5\ARM\ARMCC\Bin'
Build target 'AM29F160DB'
compiling FlashDev.c...
compiling FlashPrg.c...
linking...
Program Size: Code=432 RO-data=4256 RW-data=12 ZI-data=0
After Build - User command #1: cmd.exe /C copy AM29F160DB.axf ..\AM29F160DB.FLX
已复制 1 个文件。
".\AM29F160DB.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:02
可见,烧写算法是这些工程生成的,我们如果想新添一个,可以参考这些工程去做
安装兼容包 MDK79525.EXE 之后会解决如下问题
安装兼容包的本质 : https:
安装 兼容包 MDK79525.EXE 之后 会解决如下问题
安装兼容包的本质 : https:
Utilities
ARM/Utilities/LEDSwitch 是一个 vs 工程, 打开时提示不兼容,解决掉就可以了
编译出来一个 LEDSwitch.exe , 打开后如下图所示
这个明显是一个上位机软件,下位机应该是 调试器,这个调试器是需要网口的,另外调试器连接了目标板
上位机点击 7 ,应该是目标板的第7个灯亮
PACK
ARM\PACK\.Download 下有4个pack包和4个pdsc文件
ARM.CMSIS-Driver.2.2.0.pack
ARM.CMSIS.5.3.0.pack
Keil.ARM_Compiler.1.4.0.pack
Keil.MDK-Middleware.7.6.0.pack
ARM.CMSIS-Driver.2.2.0.pdsc
ARM.CMSIS.5.3.0.pdsc
Keil.ARM_Compiler.1.4.0.pdsc
Keil.MDK-Middleware.7.6.0.pdsc
ARM\PACK\ARM 有 两组解压文件 (ARM.CMSIS-Driver.2.2.0.pack 和 ARM.CMSIS.5.3.0.pack)
ARM\PACK\Keil 有 两组解压文件 (Keil.ARM_Compiler.1.4.0.pack 和 Keil.MDK-Middleware.7.6.0.pack)
帮助文档(非pack包的帮助文档)
有 44 个 文档,四类扩展名
chm
htm
pdf
rtf