不知道有没有像我一样好奇过,AIappISP的这个按钮究竟做了什么事情。
今天来揭秘一下!
器件型号的添加
在Keil中,器件型号全部存储在.\UV4\UV4.cdb这个CPU Database文件中
可以通过File菜单里的Device Database这个菜单项进入编辑页面
打开后可以看到Keil自带的全部芯片型号清单
但是里面没有STC的芯片。
这时候需要将STC官方已经整理完成的数据库文件STC.CDB存放至UV4\目录中
stc.cdb
(45.12 KB, 下载次数: 49)
并在Keil安装位置的TOOLS.INI文件中,在UV2栏目中追加一条
- CDB0=UV4\STC.CDB ("STC MCU Database")
复制代码
效果如下图:
重新打开Keil程序,就可以在设备数据库中找到新的芯片型号
新出现的STC MCU Database是刚刚新添加的cdb文件。
其中可以查到最新的AI8051U-32Bit和AI8051U-8Bit,可见它们具有完全不同的参数设定
此方法在Keil官网知识库文章《UVISION: Adding a User-specific Device Database (CDB File)》中也有介绍
头文件的添加
头文件分为汇编语言的INC格式头文件和C语言的H格式头文件两种。
汇编语言的INC格式头文件将会释放至.\C51\ASM和.\C51\INC\STC目录中,添加两份
最新版头文件打包如下:
ASM_HEADER.zip
(72.34 KB, 下载次数: 34)
C语言的H格式头文件将会释放至.\C51\INC\STC目录中
最新版头文件打包如下:
C_HEADER.zip
(177.31 KB, 下载次数: 40)
不需要修改Keil的任何参数,只需将文件放入,即可在编译过程中自动找到这些文件。
仿真器驱动的添加
STC的仿真器驱动名为 STC Monitor-51 Driver
这时候需要在Keil安装位置的TOOLS.INI文件中,在C51栏目中追加一条
- TDRV0=BIN\STCMON51.DLL ("STC Monitor-51 Driver")
复制代码
同时将STCMON51.DLL文件释放至.\C51\BIN目录中
在C251栏目中追加一条
- TDRV0=BIN\STCMON251.DLL ("STC Monitor-251 Driver")
复制代码
同时将STCMON251.DLL文件释放至.\C251\BIN目录中
其中TDRV后面的数字不能重复。默认情况下C51应该有11个仿真器驱动,STC Monitor-51 Driver将会作为TDRV12条目被添加进去
最新版本ISP软件携带的STCMON51.DLL和STCMON251.DLL文件:
stcmon51.dll
(104 KB, 下载次数: 33)
stcmon251.dll
(112 KB, 下载次数: 31)
这两个文件的时间戳均为2023年7月28日,使用VC++ 6.0编译
对外暴露了这些接口函数
在线搜索得知,这是Keil的AGDI调试驱动接口标准
也有一篇文章和相关的示例程序介绍仿真器驱动的开发方法(本文就不介绍了)
手动添加型号、头文件、仿真器驱动到Keil中
说了这么多,来点实战内容。怎么手动添加型号、头文件、仿真器驱动到Keil中呢
要做以下几件事:
- 添加STCMON51.DLL到.\C51\BIN目录中
- 添加STCMON251.DLL到.\C251\BIN目录中
- 添加51模式汇编头文件.INC到.\C51\ASM和.\C51\INC\STC目录中
- 添加251模式汇编头文件.INC到.\C251\ASM目录中
- 添加51模式C头文件.H到.\C51\INC\STC目录中
- 添加251模式C头文件.H到.\C251\INC\STC目录中
- 添加型号数据文件STC.CDB到.\UV4目录中
- 编辑.\TOOLS.INI文件,在UV2栏目中追加一条
- CDB0=UV4\STC.CDB ("STC MCU Database")
复制代码
- 编辑.\TOOLS.INI文件,在C51栏目中追加一条,其中xxx是当前未使用的最大编号
- TDRVxxx=BIN\STCMON51.DLL ("STC Monitor-51 Driver")
复制代码
- 编辑.\TOOLS.INI文件,在C251栏目中追加一条,其中xxx是当前未使用的最大编号
- TDRVxxx=BIN\STCMON251.DLL ("STC Monitor-251 Driver")
复制代码
前面几个文件添加步骤可以直接使用如下压缩包解压释放。
手动添加型号、头文件、仿真器驱动到Keil中.zip
(428.4 KB, 下载次数: 49)
文件编辑无法通过压缩包完成,需手动操作
看来还是用AIappISP工具更方便
|