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

谷动谷力.

传播分享电子信息资讯,电子技术知识,嵌入式开发教程,电子方案开发分享。

大家好,我是鸣涧,今天给大家讲讲锦锐单片机如何仿真与ISP烧录及脱机烧录?

一、如何仿真

1.1 准备工作

1.1.1 在KeilC51编译环境下添加仿真功能插件,步骤如下:

1.1.1.1 在KEIL安装目录下,找到 TOOLS.INI 文件,打开如下图,修改该文件,在[C51]类目下添加锦锐插件选项。

[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 硬件连接

1.2.1 仿真下载器(红色版本) 如下图所示:

仿真器(红色版本) 与目标芯片之间的连接如下:

备注:仿真下载器(红色版本)为两线通信,通过 I2C 端口进行下载或者在线仿真, 需要连接 4 根线(CA51F003为例):VDD、2C_SCL(P13)、I2C_SDA(P14)、 GND。

1.2.2 仿真下载器(蓝色版本) 如下图所示:

仿真器(蓝色版本) 与目标芯片之间的连接如下:

备注:仿真下载器(蓝色版本)为单线通信, 通过 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.3然后在下拉列表里选择“CACHIP Monitor Diver”,点击“Settings”,选择串口端口。如下图所示;(注意:每次打开工程只需要选择一次端口)

1.3.3 退出“Target options”界面,在主界面下点击“Debug" 图标,进入仿真模式,在仿真模式即可进行单步、设断点等操作。如下图:

1.4 注意事项

1.4.1 仿真器(红色版本) 仿真功能注意事项:

1.4.1.1 CA51F003 (P14,P13)F2,F3系列默认是用P30,P31这一组IO口仿真,如果要用到其他I2C脚位仿真,需要将其配置为I2C口,以CA51F003为例,如果要用P14,P13仿真,需进行如下初始化:

#define SIMULATION  //开启仿真功能,不用时关闭(注释掉)
#ifdef SIMULATION
I2CIOS = 1;GPIO_Init(P14F, P14_I2C_SDA_SETTING);    //依不同型号配置引脚功能,具体参考对应的datasheetGPIO_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.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.3注意:第一次进仿真要先下载程序,然后再升级;

2.3.1 定位硬件:看看仿真口有没有外接电路,如果有,先断开外接电路再尝试仿真;

2.3.2 定位软件:1.4.1 内容有没有做,#define SIMULATION  //开启仿真功能,不用时关闭(注释掉)

三 仿真下载器介绍
(仿真下载器由锦锐原厂提供)
3.1 仿真下载器(红色版本)正面图片

3.2 仿真下载器(红色版本)反面图片

3.3 仿真下载器(蓝色版本)正面图片

3.4 仿真下载器(蓝色版本)反面图片

四 ISP 下载模式

ISP 产品开发模式可实现在线升级 MCU 内部 FLASH 软件,此功能必须搭配本公司专用开发下载板使用。

4.1 上位机下载工具界面

CACHIP TOOL 是 CACHIP 系列 MCU 的上位机下载工具软件,其包含 ISP 软件下载和烧录器软件下载两种模式,可分别实现 MCU 的在线升级,以及下载烧录文件到烧录器,其界面如下图所示:
(ISP 下载软件界面)

4.2 ISP 下载连接方式

4.3 硬件连接

备注:仿真下载器(红色版本)为两线通信,通过 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

4.4 在线升级

步骤 1: 选择对应的串口端口,设置波特率(波特率一般保留默认即可)。

步骤 2: 选择所需要下载软件的 MCU 型号。

步骤 3: 装载编译好的软件文件。

步骤 4: 点击“编程”按钮。

4.5 在线校验

步骤 1: 选择对应的串口端口,设置波特率(波特率一般保留默认即可)。

步骤 2: 选择所需要下载软件的 MCU 型号。

步骤 3: 装载编译好的软件文件。

步骤 4: 点击“校验”按钮。

5 脱机烧录步骤(主要用于生产线软件升级

脱机烧录,其基本流程为:程序文件先从上位机软件 CACHIP TOOL 下载到开发下载板,下载完成后, 开发下载板再与目标芯片建立连接,再从开发下载板写入到目标芯片。 开发下载板也可实现脱机烧录,即先把程序先下载到开发下载板中,再利用开发下载板对目标板进行脱机烧录,此功能对于生产线升级特别方便。

5.1 连接方式

脱机烧录, 仿真下载器(红色版本) 与目标芯片之间的硬件连接如下:

备注:仿真下载器(红色版本)为两线通信,通过 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

5.2 下载软件

步骤 1: 开发下载板连接 PC, 开发下载板与目标板不连接, 操作(2.4 项) 下载步骤。界面显示如下图:

步骤 2: 开发下载板通过 USB 口外接接 5V 电源, 开发下载板的 VCC,TX,RX,GND 按上面硬件连接说明与目标板连接。

步骤 3: 短按开发下载板的烧录按键,此时开发下载板的绿色 LED 灯变为快闪,等待 LED 灯变为长亮,脱机升级或烧录完成。

备注:

开发下载板共有 3 个 LED 灯,靠近 USB 口的红色 LED 灯为电源指示灯,指示下载器的供电。靠近烧录按键的红色,绿色(或蓝色)LED 灯指示烧录的状态。

5.3 烧录指示灯说明

绿灯(或蓝灯) 长亮-------------------烧录或校验成功

绿灯(或蓝灯) 慢闪-------------------正在下载程序到开发下载板

绿灯(或蓝灯) 快闪-------------------正在与目标芯片建立连接,正在写入目标芯片,正在校验

红灯绿灯(或蓝灯) 同时快闪-----------提示目标板上电

红灯慢闪 5 次-------------------------上位机选择的 MCU 型号与目标板 MCU 的型号不一致

红灯慢闪 8 次-------------------------仿真下载器烧录文件校验出错

红灯慢闪 3 次-------------------------其他错误

5.4 注意事项:

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. 开发下载板连接电脑后需要安装串口驱动。

6 芯片量产烧录器软件下载模式

6.1 烧录器模式界面说明

烧录器模式可以下载烧录文件到烧录器。其界面如下:

6.2 烧录器功能说明

6.3 烧录座安装说明

说明:量产烧录器不支持通过 SWIM 端口接线烧录, 只支持通过 I2C 端口接线烧录(兼容红色版本下载器接口), 接线方式:VDD、 I2C_SCL(P13)、 I2C_SDA(P14)、 GND。

6.4 烧录器显示说明

6.5 烧录器下载连接方式

将 USB 连接线连接好电脑和烧录器

注:下载目标软件时,可由电脑 USB 口供电,不需要在烧录器上另接电源

6.6 目标软件下载步骤

步骤 1: 用 USB 线连接烧录器到 PC 端。

步骤 2: 选择需要烧录的芯片型号, 装载烧录文件。

步骤 3: 点击“下载”按钮。

下载完成后,可检查烧录器显示的 MCU 型号及程序检验码是否一致。确认一致后,可用烧录器进行脱机烧录。

6.7 烧录器批量烧录方法

插上对应的 IC 座,把芯片正确放进 IC 座,短按烧录器上的“WRITE KEY”键即可进行烧录,烧录过程中,LCD 上会显示相应的进度,烧录完后, 烧录器的烧录指示灯会显示为绿色,不亮为烧录不成功。

注意:烧录器不能关闭通道,如果连接一个通道时,会听到一个错误声,属于正常的

【IC推荐】CA51F003T3替代STM8S003 MT32F006 CX32L003F6P6T N76E003AT20

【推荐】BK3432双模BLE5.0 经典双模蓝牙SoC芯片 QFN32封装

HS6200低成本2.4G无线射频通讯SOC替代NRF24X SI24R1

【锦锐单片机使用】锦锐单片机如何仿真与ISP烧录及脱机烧录?相关推荐

  1. 单片机学不会怎么办?单片机从哪里开始学?

    大家好,我是无际单片机编程的徐导. 说起单片机学不会怎么办?就想起我自己一些学习的辛酸史. 我做单片机开发10余年了,单片机硬软件开发自然是很熟练了. 但做其他的工作可是一窍不通,在上家公司工作的时候 ...

  2. 单片机如何使用?单片机只会用例程怎么办?

    大家好,我是无际单片机编程徐工. "单片机"可以说是一个专业名词,只要做电子的,或者电子产品相关的人才会知道单片机,以及单片机是干什么的. 大学谈女朋友的时候,女朋友问我每天在实验 ...

  3. STM32:从菜鸟到牛人就是如此简单!为了学习单片机而去学习单片机的思路是不对的

    来源于知乎,版权归原作者所有 为了学习单片机而去学习单片机的思路是不对的 你问: 如何系统地入门学习stm32? 本身就是一个错误的问题 假如你会使用8051 会写C语言 那么STM32本身并不需要刻 ...

  4. c51单片机的语言,51单片机,stm32,arduino都是用什么语言进行编程的?

    51单片机,STM32单片机用汇编或者C语言,现在基本都用C语言编程,Arduino有自己的编程环境,用户也是用C语言编程. 51单片机的编程 51单片机进入中国比较早,在早前用汇编编程比较多,我在上 ...

  5. c语言使单片机输出低电平,单片机开发中的一些实用技巧

    很多朋友正在学习单片机开发技术,但开发中免不了要碰到这样.那样的问题,有些问题可能无碍大局,但有一些问题却直接影响到产品的成本.体积.性能.这里介绍笔者的几个技巧,希望对大家的工作有帮助. 一.C语言 ...

  6. 单片机c语言实验,单片机实验C语言编程.doc

    单片机实验C语言编程.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所 ...

  7. 单片机和java_java和单片机哪个难学?

    展开全部 JAVA相对简单一点,建议还是学JAVA比较好. 1.对于0基础的人而言e5a48de588b63231313335323631343130323136353331333365646234, ...

  8. 单片机位寻址举例_单片机学习:51单片机寻址方式详解

    51单片机是对所有兼容Intel 8031指令系统的单片机的统称.该系列单片机的始祖是Intel 8031单片机,后来随着Flash rom 技术的发展,8031单片机取得了长足的发展,成为了应用最广 ...

  9. 计算机和单片机概述,微机与单片机概述课件.ppt

    <微机与单片机概述课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<微机与单片机概述课件.ppt>文档请在天天文库搜索. 1.1.微机与单片机 ...

最新文章

  1. 好想学python怎么猜人_学手艺我好想学个手艺哦可是脑子怎么想也想 – 手机爱问...
  2. 过来人经验:实验室没人教你怎么办?
  3. 同等学力计算机综合难吗,报考2018年同等学力申硕计算机在职研究生毕业很困难吗...
  4. :架构优化在何时,方成为公司的推动力与核心竞争力
  5. 解决ARC下performselector-may-cause-a-leak-because-its-selector-is-unknown 警告
  6. Datatables表格数据初始化时回调函数中修改要显示的值
  7. html js更改title,如何使用js改变HTML中title里面固定的文字
  8. Java设计模式笔记(8)装饰模式
  9. Python编程从入门到实践~操作列表
  10. 【转载】一起聊天的wz132
  11. c++画多边形_如何画出超漂亮的极光绘画教程
  12. Java中的enum详细解析------Java enum 枚举还可以这么用
  13. 网站发布(项目上线流程)
  14. 《Python核心编程》笔记 基础
  15. css样式代码的基本格式
  16. 【U8】U8V12.5新增部门档案,保存提示:系统忙,稍后再试!
  17. 怎样用sc命令运行服务器,windows中的sc控制服务命令
  18. Python之组合数据类型(列表、元组、集合、字典)
  19. html 设置图片显示比例,css巧妙设置等比例图片显示
  20. K8S云原生环境渗透学习

热门文章

  1. 那一年, 我“偷看”过她的qq空间
  2. Python实现的人工智能启发式搜索
  3. 运维监控工具:zabbix和wgcloud的对比选型
  4. 科比投球预测-python实例
  5. 计算机硬件知识试题,计算机硬件基础知识测试题
  6. dsl java_Java DSL理解
  7. 原生js把html字符串转dom,js字符串转DOM,DOM转字符串伪代码
  8. NDK自带gdb夸平台调试
  9. Java多线程超详解
  10. jQuery阻止冒泡事件(单击事件执行了两次或多次)