以下文章来源于谷动谷力,作者鸣涧

谷动谷力.
传播共享电子信息、电子技术知识、嵌入式开发教程、电子方案开发共享。
大家好,我是鸣涧。今天,我将告诉你如何模拟金锐单片机ISP烧录和脱机烧录?
一、如何模拟
1.1 准备工作
在KeilC在编译环境中添加模拟功能插件的步骤如下:
在KEIL在安装目录下找到TOOLS.INI打开下图,修改文件[C锦锐插件选项下添加锦锐插件选项。
[C51] PATH="C:\Keil\C51\" VERSION=V9.51a ... TDRV9= BIN\CA8051.dll("CACHIP Monitor Driver") #TDRVn n按序号增加
1.1.1.2复制CA51xx_SDK目录下的CA8051.dll到KEIL在安装目录下C51\BIN如下图所示:
1.1.1.3到目前为止,已经添加了插件。 KEIL 开发环境,在 Debug 列表中添加的选项如下图所示:
1.2 硬件连接
模拟器(红色版) 与目标芯片的连接如下:
注:模拟下载器(红色版)通过两行通信 I2C 下载或在线模拟端口, 需要连接 4 根线(CA51F003为例):VDD、2C_SCL(P13)、I2C_SDA(P14)、 GND。
模拟器(蓝色版) 与目标芯片的连接如下:
注:模拟下载器(蓝色版)为单线通信, 通过 SWIM 下载或在线模拟端口。这种方法目前只适用于CA51F003系列MCU 1、 通过 SWIM 端口进行 ISP 下载,需要连接 3 根线:VDD、 SWIM(P02)、 GND 2、 通过 SWIM 端口在线仿真,需要连接 3 根线:RESET、 SWIM(P02)、 GND
1.3 仿真步骤
1.3.1 用SDK下载工具下载程序MCU;
1.3.2 在Target相关配置在选项卡中;
1.3.2.1先 KEIL 打开项目工程软件,点击Target options图标:
1.3.2.2然后在“Target options界面选择Debug”选项:
1.3.2.然后在下拉列表中选择3CACHIP Monitor Diver”,点击“Settings选择串口端口。如下图所示;(注:每次开工只需选择一个端口)
1.3.3 退出“Target options在主界面下单击界面Debug"进入模拟模式的图标,可以在模拟模式下单步设置断点。如下图所示:
1.4.1 模拟器(红色版) 模拟功能注意事项:
1.4.1.1 CA51F003 (P14,P13)F2,F默认使用3系列P30,P31这一组IO口仿真,如果要用到其他I2C脚位模拟需要配置为I2C口,以CA51F以003为例,如果要用的话P14,P13模拟需要初始化如下:
#define SIMULATION ///打开模拟功能,不用时关闭(注释) #ifdef SIMULATION I2CIOS = 1; GPIO_Init(P14F, P14_I2C_SDA_SETTING); 引脚功能按不同型号配置,具体参考对应的datasheet GPIO_Init(P13F, P13_I2C_SCL_SETTING); #endif
1.4.1.2 模拟需要占用升级口,因此在模拟过程中暂时不能使用升级口功能,也不能连接外围电路;
1.4.1.3 拨打下载器上的拨动开关ON如果电路板上有大功率设备,则需要外部供电;
1.4.1.4 MCU 进入应用程序 IDLE,STOP 模拟器无法与省电模式相匹配 MCU 通信时,建议先模拟 IDLE,STOP 关闭省电模式等。
1.4.1.5 MCU 当切换到低频时钟时,模拟器可能无法与 MCU 通信,建议在高频时钟运行时模拟。
1.4.1.6 当红绿 LED 短按模拟器上的功能按钮可以在交替闪烁时退出模拟模式。 1.4.1.7 如果应用软件设置复位引脚GPIO在模拟过程中,应确保复位引脚不会降低,否则可能会出现异常,导致芯片无法模拟。 1.4.1.8在模拟模式下,模拟器不是目标MCU供电,MCU必须外接供电。
1.5.1.1芯片 RESET 引脚不能设置为复位功能 GPIO。 1.5.1.2在模拟模式下, 一般只连接三条线:RESET、 GND、 SWIM。如果需要模拟器供电芯片,也可以连接 VDD。 1.5.1.3如果能保证应用程序内的应用程序 SWIM 引脚保持为 SWIM 通信功能也可以只连接两(SWIM,GND)在线仿真。 1.5.1.4进入 STOP 模式指令后 5 断点不能设置在条指令中,否则 CPU 在此断点内停止可能会导致程序错误。
二、进不去仿真怎么办
2.1 再读一遍如何模拟的内容,确保这部分工作到位;
2.2定位软件,在main函数入口做一个死循环,如下:
main() { while(1); //... }
再尝试进入仿真;
2.注:第一次进入模拟时,先下载程序,再升级;
2.3.1 定位硬件:检查模拟口是否有外部电路,如果有,先断开外部电路再尝试模拟;
2.3.2 定位软件:1.4.1内容做了吗?define SIMULATION ///打开模拟功能,不用时关闭(注释)
三 模拟下载器介绍 (锦锐原厂提供仿真下载器) 3.1 模拟下载器(红色版)正图
3.2 仿真下载器(红色版本)反面图片
3.3 模拟下载器(蓝色版)正图
3.4 模拟下载器(蓝色版本)图
ISP 在线升级可以实现产品开发模式 MCU 内部 FLASH 该功能必须与公司专门开发的下载板相匹配。
CACHIP TOOL 是 CACHIP 系列 MCU 上位机下载工具软件包括 ISP 软件下载和烧录器软件下载可分别实现 MCU 将烧录文件下载到烧录器的在线升级和界面如下图所示: (ISP 下载软件界面)
注:模拟下载器(红色版)通过两行通信 I2C 端口下载或在线模拟需要连接 4 根线:VDD、I2C_SCL(P13)、 I2C_SDA(P14)、 GND。
脱机烧录, 仿真下载器(蓝色版本) 与目标芯片之间的硬件连接如下:
备注:仿真下载器(蓝色版本)为单线通信, 通过 SWIM 端口进行下载或在线仿真。
1、 通过 SWIM 端口进行 ISP 下载,需要连接 3 根线:VDD、 SWIM(P02)、 GND
2、 通过 SWIM 端口进行在线仿真,需要连接 3 根线:RESET、 SWIM(P02)、 GND
步骤 1: 选择对应的串口端口,设置波特率(波特率一般保留默认即可)。
步骤 2: 选择所需要下载软件的 MCU 型号。
步骤 3: 装载编译好的软件文件。
步骤 4: 点击“编程”按钮。
步骤 1: 选择对应的串口端口,设置波特率(波特率一般保留默认即可)。
步骤 2: 选择所需要下载软件的 MCU 型号。
步骤 3: 装载编译好的软件文件。
步骤 4: 点击“校验”按钮。
脱机烧录,其基本流程为:程序文件先从上位机软件 CACHIP TOOL 下载到开发下载板,下载完成后, 开发下载板再与目标芯片建立连接,再从开发下载板写入到目标芯片。 开发下载板也可实现脱机烧录,即先把程序先下载到开发下载板中,再利用开发下载板对目标板进行脱机烧录,此功能对于生产线升级特别方便。
脱机烧录, 仿真下载器(红色版本) 与目标芯片之间的硬件连接如下:
备注:仿真下载器(红色版本)为两线通信,通过 I2C 端口进行下载或者在线仿真,需要连接 4 根线:VDD、I2C_SCL(P13)、 I2C_SDA(P14)、 GND。
脱机烧录, 仿真下载器(蓝色版本) 与目标芯片之间的硬件连接如下:
备注:仿真下载器(蓝色版本)为单线通信, 通过 SWIM 端口进行下载或在线仿真。
1、 通过 SWIM 端口进行 ISP 下载,需要连接 3 根线:VDD、 SWIM(P02)、 GND
2、 通过 SWIM 端口进行在线仿真,需要连接 3 根线:RESET、 SWIM(P02)、 GND
步骤 1: 开发下载板连接 PC, 开发下载板与目标板不连接, 操作(2.4 项) 下载步骤。界面显示如下图:
步骤 2: 开发下载板通过 USB 口外接接 5V 电源, 开发下载板的 VCC,TX,RX,GND 按上面硬件连接说明与目标板连接。
步骤 3: 短按开发下载板的烧录按键,此时开发下载板的绿色 LED 灯变为快闪,等待 LED 灯变为长亮,脱机升级或烧录完成。
开发下载板共有 3 个 LED 灯,靠近 USB 口的红色 LED 灯为电源指示灯,指示下载器的供电。靠近烧录按键的红色,绿色(或蓝色)LED 灯指示烧录的状态。
绿灯(或蓝灯) 长亮-------------------烧录或校验成功
绿灯(或蓝灯) 慢闪-------------------正在下载程序到开发下载板
绿灯(或蓝灯) 快闪-------------------正在与目标芯片建立连接,正在写入目标芯片,正在校验
红灯绿灯(或蓝灯) 同时快闪-----------提示目标板上电
红灯慢闪 5 次-------------------------上位机选择的 MCU 型号与目标板 MCU 的型号不一致
红灯慢闪 8 次-------------------------仿真下载器烧录文件校验出错
红灯慢闪 3 次-------------------------其他错误
5.4.1. 使用开发下载板进行升级,除特殊情况外,目标板的电源由开发下载板提供,目标板不能另接电源。如目标板需要另接电源,会出现以下提示,此时应拔除外接电源再重试。
5.4.2. 在升级下载软件过程中,如果目标板有大电流器件(超过 500mA) , 那么开发下载板不能提供足够的电流,导致开发下载板的输出电压被拉低,此时会出现以下提示,同时下载器的红灯绿灯会同时快闪,在这种情况下,目标板的电源需要外接,此时应插上外部电源,可能需要多次插拔电,直到开发下载板退出红绿灯快闪模式。
5.4.3. 使用开发下载板进行升级的过程中,短按烧录按键可以退出当前操作,进入待机状态。
5.4.4. 开发下载板在不进行升级操作时,其功能等同于 USB 转串口功能,可以用做对 MCU 目标板串口调试功能。
5.4.5. 开发下载板的边制开关用于串口调试模式时开启和断开下载板的 VCC 输出,开关打到“VCC ON”档, VCC开启,开关打到“VCC OFF”档, VCC 断开。
5.4.6. 开发下载板连接电脑后需要安装串口驱动。
烧录器模式可以下载烧录文件到烧录器。其界面如下:
说明:量产烧录器不支持通过 SWIM 端口接线烧录, 只支持通过 I2C 端口接线烧录(兼容红色版本下载器接口), 接线方式:VDD、 I2C_SCL(P13)、 I2C_SDA(P14)、 GND。
将 USB 连接线连接好电脑和烧录器
注:下载目标软件时,可由电脑 USB 口供电,不需要在烧录器上另接电源
步骤 1: 用 USB 线连接烧录器到 PC 端。
步骤 2: 选择需要烧录的芯片型号, 装载烧录文件。
步骤 3: 点击“下载”按钮。
下载完成后,可检查烧录器显示的 MCU 型号及程序检验码是否一致。确认一致后,可用烧录器进行脱机烧录。
插上对应的 IC 座,把芯片正确放进 IC 座,短按烧录器上的“WRITE KEY”键即可进行烧录,烧录过程中,LCD 上会显示相应的进度,烧录完后, 烧录器的烧录指示灯会显示为绿色,不亮为烧录不成功。
注意:烧录器不能关闭通道,如果连接一个通道时,会听到一个错误声,属于正常的
【IC推荐】CA51F003T3替代STM8S003 MT32F006 CX32L003F6P6T N76E003AT20
【推荐】BK3432双模BLE5.0 经典双模蓝牙SoC芯片 QFN32封装
HS6200低成本2.4G无线射频通讯SOC替代NRF24X SI24R1