OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5530|回复: 8

新人想求教几个关于仿真器的问题

[复制链接]

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-5-20
在线时间
43 小时
发表于 2017-5-20 13:04:52 | 显示全部楼层 |阅读模式
去年买了一块战舰开发板,摆在家里睡觉到现在,打算弄出来倒持一下。。。因为之前只接触过51,发现stm32下载调试程序还需要用到仿真器?!
上网去搜了下仿真器是干嘛的,目前有以下几点理解,另外也有一些困惑,希望大家能抽空给我揪揪错:
1.最早的51芯片没有片内rom或者片内rom烧写很慢,或者是一次性烧写的,所以就搞了仿真器,它的作用通俗的来解释就是:如果把开发板上的芯片拔了,把仿真器的放到芯片应该在的位置,是可以运行跑程序的。于是我认为,仿真器简直就是另一个芯片,对它“烧写”程序会显得简单些(比如,更快捷?),对它的内部寄存器检测起来比较容易,就通过监测程序在仿真器中的运行状态来模拟在真实芯片中的运行情况了
2.在网上看到另一种解释,说仿真器相当于一个ram。使用仿真器的时候,程序并没有被下载到芯片片内rom上去,而是下到了仿真器这个ram中。执行程序的时候,开发板上的cpu从仿真器这个ram中取指,真正执行还是在cpu中进行的。那么我的问题来了,使用仿真器调试的时候,到底开发板上的芯片有没有参与进来?
3.以前调试51的时候,我都是直接把程序烧到芯片里,直接用keil就能监测运行状态了,也可以单步执行啊什么的。那么stm32的调试,如果想单步或者暂停,是不是一定要借助仿真器?
4.以前51的程序下载,说最早期的时候要把芯片从开发板上弄下来,用专用的设备才能下载;后来出现了ISP技术,说是芯片内集成了专门的硬件部分,这样就能从外部直接引出几根指定的引脚,可以进行程序烧写(也就是说这是一种“硬”机制下载);再到后来,国产的宏晶51芯片,支持IAP烧写,也就是串口烧写程序。原理是专门加了个片内Flash,放着一段程序。作用是开启串口接受程序,并将这段程序放到用户可用的Flash中。这段代码一般由厂家预设,上电复位后程序先从这个Flash开始执行,如果没有程序等待下载,就去正常执行另一片Flash中的程序。后期又推出了允许用户自己修改IAP Flash代码的芯片版本。我想知道stm32的程序烧写机制有没有像51这样的,比较常用的是怎样的?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-5-20
在线时间
43 小时
 楼主| 发表于 2017-5-21 22:39:07 | 显示全部楼层
回复 支持 反对

使用道具 举报

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-5-20
在线时间
43 小时
 楼主| 发表于 2017-5-23 09:11:00 | 显示全部楼层
还是没人吗
回复 支持 反对

使用道具 举报

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-5-20
在线时间
43 小时
 楼主| 发表于 2017-5-24 08:49:06 | 显示全部楼层
顶起来,直到有热心的大佬看到
回复 支持 反对

使用道具 举报

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-5-20
在线时间
43 小时
 楼主| 发表于 2017-5-25 09:30:09 | 显示全部楼层
没人为这个困惑过吗
回复 支持 反对

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-5-25 13:37:43 | 显示全部楼层
好几天了每次看到你这问题都想来讨论一下,但是你根据自己经验举了很多类比,如果要讨论的话需要感觉要针对每一个类比来解释联系与区别,这样就要打很多字……

建议你这样简练地问:
1 大家平时说的STM32仿真器是什么?和以前的51仿真器(带JTAG扫描的模拟器)是一回事吗?
2 STM32断点和单步调试必须借助仿真器吗?
3 STM32是否支持串口下载或类似功能?
淘汰人的从来是工具而不是年龄
嵌入式的冷知识屋 blog.csdn.net/k_o_carnivist
回复 支持 反对

使用道具 举报

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-5-20
在线时间
43 小时
 楼主| 发表于 2017-5-25 16:05:53 | 显示全部楼层
K.O.Carnivist 发表于 2017-5-25 13:37
好几天了每次看到你这问题都想来讨论一下,但是你根据自己经验举了很多类比,如果要讨论的话需要感觉要针对 ...

感谢你帮我归纳出问题,我自己脑子里已经一团浆糊了
回复 支持 反对

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-5-26 11:07:24 | 显示全部楼层
1.
总体上说“仿真器”这个词发展到现在有点误用。
当年老的单片机需要仿真器的原因之一是它没有边界扫描,没法实现在线调试。于是就出现了这样的设备:模拟单片机在实际电路中运行,同时把一部分信号(寄存器、总线等)利用 JTAG 接口连接到片外,并转换成调试主机(电脑)可以接受的接口,配合电脑软件实现一些寄存器监视、断点等等。
如今的很多单片机都内部集成了寄存器、总线的边界扫描并直接有 JTAG 或类似的调试引脚,因此上面这个设备简化成了只需要 JTAG 与电脑接口之间的数据格式转换就可以,比如常见的 JLINK,但由历史的原因这个设备一直被叫做“仿真器”。
实际现在厂家一般把它们叫做 Debugger 或 Debug Probe 了,中文用“调试器”比较多。
淘汰人的从来是工具而不是年龄
嵌入式的冷知识屋 blog.csdn.net/k_o_carnivist
回复 支持 反对

使用道具 举报

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-5-20
在线时间
43 小时
 楼主| 发表于 2017-6-1 14:05:46 | 显示全部楼层
K.O.Carnivist 发表于 2017-5-26 11:07
1.
总体上说“仿真器”这个词发展到现在有点误用。
当年老的单片机需要仿真器的原因之一是它没有边界扫描 ...

不好意思,好几天没有逛论坛了。才发现这条回复。
讲的很好啊,我基本明白了。看上去现在已经用不上传统意义上的“仿真器”了。
看您的回复,这才第1点,还有下文吗?期待啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 01:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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