谷动谷力

 找回密码
 立即注册
查看: 1844|回复: 0
打印 上一主题 下一主题
收起左侧

关于CA-MCU锦锐单片机仿真-I2C方式 指南

[复制链接]
跳转到指定楼层
楼主
发表于 2022-6-17 21:05:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
关于CA-MCU锦锐单片机仿真-I2C方式 指南

一、如何仿真
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按序号增加

[color=rgb(51, 102, 153) !important]复制代码


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  //开启仿真功能,不用时关闭(注释掉)


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函数入口做一个死循环,如下:
  1. void main(void)
  2. {
  3. while(1)
  4. {
  5. ...
  6. }
  7. }
复制代码



再尝试进仿真;
2.3注意:第一次进仿真要先下载程序,然后再升级;  
2.3.1 定位硬件:看看仿真口有没有外接电路,如果有,先断开外接电路再尝试仿真;
2.3.2 定位软件:1.4.1 内容有没有做,#define SIMULATION  //开启仿真功能,不用时关闭(注释掉)

本帖被以下淘专辑推荐:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-26 14:19 , Processed in 0.095349 second(s), 40 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表