搜索
bottom↓
回复: 30

STC的(硬件)在线仿真, 請問高人 它如何實現

[复制链接]

出0入0汤圆

发表于 2020-1-5 10:50:43 | 显示全部楼层 |阅读模式
https://www.amobbs.com/thread-5724524-1-1.html

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2020-1-5 12:34:35 | 显示全部楼层
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序,占用一个串口。
可以实现运行,停止,单步,断点,查看变量等功能。
停止是通过PC发数据使单片机进入串口中断程序,从而打断用户程序运行。
运行是退出串口ISR,恢复用户程序运行。
断点是通过修改用户程序断点位置的指令,跑飞至监控程序运行。单步运行同理。

keil原版的Monitor-51,用户程序是在外扩RAM里运行的,非常便于修改,但掉电就丢失了。
后来一家叫SST的公司,推出的51单片机具有IAP功能,就是程序可以自己改写Flash内容。
SST将Monitor-51改造,用户程序也可以放在Flash中,直接一片单片机就可以仿真,不需要专用硬件,但是每加一个断点,单步每走一步,都要擦写Flash,所以速度慢一些,对Flash寿命也有影响。
这一时期出现了很多简易的51仿真器,都是基于SST这一方案做的。
再后来,STC横空出世,终于一统全宇宙,独霸51单片机。
但因为STC单片机内部没有仿真部件,要想仿真,还是采用了监控程序的方案,基本照搬SST的Monitor-51。

现代的单片机一般集成仿真部件,不占用单片机运行资源,例如ARM,STM8,C8051F等。
单片机内部仿真部分通过特定接口与调试主机通讯,例如JTAG,SWD,SWIM等,这种单片机使用的所谓仿真器其实是一个接口协议转换器,例如JLINK,STLINK等,就是USB-JTAG-SWD接口转换,实际的仿真功能是在单片机内部实现。

早期51比较功能完整的仿真器是采用的专用仿真芯片,仿真时用专用仿真芯片替代目标芯片,调试完成后再换回正式芯片,适合DIP封装使用芯片插座的场合。现在应该见不到这中了。
简单的OTP单片机也是采用这种仿真技术。

出0入0汤圆

发表于 2020-1-5 12:42:22 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

把这段历史都回顾了,终于看明白了

出5入85汤圆

发表于 2020-1-5 12:47:38 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

再后来,STC横空出世,终于一统全宇宙,独霸51单片机。
但因为STC单片机内部没有仿真部件,要想仿真,还是采用了监控程序的方案,基本照搬SST的Monitor-51。
这个说到了点子上了,

出0入0汤圆

发表于 2020-1-5 12:53:37 来自手机 | 显示全部楼层
51仿真还是silicon lab做的最好,stc赶紧仿制啊

出90入0汤圆

发表于 2020-1-5 12:57:28 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

现代的单片机,仿真不错。

出0入0汤圆

发表于 2020-1-5 13:14:23 | 显示全部楼层
hzpyl 发表于 2020-1-5 12:57
现代的单片机,仿真不错。

呵呵,这个现代是相对于古代说的,不是韩国那个现代。

出0入0汤圆

 楼主| 发表于 2020-1-5 13:18:35 | 显示全部楼层
謝謝各位!
看來,STC 不僅重新定義了 (EEPROM),唯一序列號,
現在更重新定義 硬件仿真!

出0入0汤圆

发表于 2020-1-5 16:07:56 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...


所以STC就不应该吹的震天响,还鄙视各种link,呵呵

出0入0汤圆

发表于 2020-1-5 16:14:30 来自手机 | 显示全部楼层
stc压根不明白什么叫jtag吧?

出0入4汤圆

发表于 2020-1-5 16:40:37 | 显示全部楼层
不懂2楼这段历史的人,以为STC又发明了什么黑科技了呢
不过STC的芯片,性价比的确不错。

出0入0汤圆

发表于 2020-1-5 16:56:34 来自手机 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

有瑕疵  现代的是调试器不是仿真器  内含的监控调试模块 不是仿真模块

出0入0汤圆

发表于 2020-1-5 16:57:55 来自手机 | 显示全部楼层
Puppey 发表于 2020-1-5 12:53
51仿真还是silicon lab做的最好,stc赶紧仿制啊

那个调试器记得掉固件超级频繁

出0入0汤圆

发表于 2020-1-5 17:01:20 来自手机 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

51仿真器应该就是大概10年前基本消失的  08年还有在卖

出0入0汤圆

发表于 2020-1-5 17:53:38 | 显示全部楼层
补充下, 国内用MON51协议第一个在SST芯片上做出51仿真器的人,他的ID叫etool . 他已经离开这个世界了.  大概是在20年, etool推出SST-51仿真器. 然后他到周立功公司, 继续做仿真器. 记得曾经为了某件事情,他也来过这里..

出0入0汤圆

发表于 2020-1-5 18:26:23 | 显示全部楼层
性价比高==========便宜没好货!!!

出70入145汤圆

发表于 2020-1-5 18:28:42 来自手机 | 显示全部楼层
IAP15和STC8测试频繁掉线,没法用。相比stlink就是就是垃圾

出0入0汤圆

发表于 2020-1-5 18:37:56 来自手机 | 显示全部楼层
"早期51比较功能完整的仿真器是采用的专用仿真芯片,仿真时用专用仿真芯片替代目标芯片,调试完成后再换回正式芯片,适合DIP封装使用芯片插座的场合。现在应该见不到这中了。"学生时代看到别人用这个仿真器羡慕的要死,但最后没钱只买了51编程器

出0入25汤圆

发表于 2020-1-5 18:53:04 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...


原理讲的很明白,,感谢

出0入0汤圆

发表于 2020-1-5 19:26:03 来自手机 | 显示全部楼层
easier 发表于 2020-1-5 13:18
謝謝各位!
看來,STC 不僅重新定義了 (EEPROM),唯一序列號,
現在更重新定義 硬件仿真! ...

哈哈,大火炉不是吹的,EEPROM 本来是24C01 一样的,可以字节编程的,STC 那种Flash 模拟出来的,真的重新定义了EEPROM ,

出0入0汤圆

发表于 2020-1-5 19:40:19 来自手机 | 显示全部楼层
“再后来,STC横空出世,终于一统全宇宙”,我觉得不是他横空出世,而是ATMEL、PHILIPS、华邦、SST这些公司觉得51架构性能没办法提升了,不搞了。想想同期的silicon把c51性能提到极限高度,除价格外,其它方面是对手吗?

出0入0汤圆

发表于 2020-1-5 20:11:27 | 显示全部楼层
nanfang2000 发表于 2020-1-5 18:37
"早期51比较功能完整的仿真器是采用的专用仿真芯片,仿真时用专用仿真芯片替代目标芯片,调试完成后再换回 ...

记得那时候连编程器也没有,天天研究用8139网卡做编程器,最后也没搞成,怕把电脑搞烧了

出0入0汤圆

发表于 2020-1-5 21:52:08 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

原来如此

出0入0汤圆

发表于 2020-1-6 13:52:57 | 显示全部楼层
zllfdd 发表于 2020-1-5 20:11
记得那时候连编程器也没有,天天研究用8139网卡做编程器,最后也没搞成,怕把电脑搞烧了 ...

哈哈我也研究网卡做编程器,还有改BIOS什么的,最后把主板弄成砖

出0入0汤圆

发表于 2020-2-12 16:05:32 | 显示全部楼层
再后来,STC横空出世,终于一统全宇宙,独霸51单片机。==》基本上就没仿真神马事了,,,只要编程的时候思路清晰,一个几十k的程序,也就烧录个几十次差不多了,

出100入0汤圆

发表于 2020-2-12 16:08:02 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

04年,飞利浦的P89C51RD2就已经是STC差不多的功能了。我当时用过。

出0入34汤圆

发表于 2020-2-25 12:15:50 | 显示全部楼层
就仅于 51 的仿真,个人觉得本坛的 mon51 大侠搞得还真不错!小巧好用。

出0入25汤圆

发表于 2020-2-25 23:24:37 来自手机 | 显示全部楼层
health 发表于 2020-1-5 12:34
少年,接触51单片机不超过20年吧。
keil自带的一个很古老的技术Monitor-51,单片机需要预先写入监控程序, ...

看了你的描述,明白了stc的调试原理,多谢。
10年前我自己写了一个类windows内核玩,运行在bochs、virtual pc上。后来嫌闭着眼调试太麻烦了,于是就写了一个和gdb通过串口通信的stub程序,其实就是一个串口isr,中断优先级设为最高,解析gdb发来的串对内存进行读写修改,从而实现单步、断点、修改变量等功能。现在看来,stc51仿真也是一个桩子而已。

出0入0汤圆

发表于 2020-2-26 08:02:57 来自手机 | 显示全部楼层
多谢2楼讲解

出0入0汤圆

发表于 2020-2-26 08:17:41 | 显示全部楼层
STC还是很方便的。至少使用简单。STM32功能强大得多。

出0入0汤圆

发表于 2020-2-26 08:56:13 | 显示全部楼层
其实用串口来输出调试信息就够了,关键代码后面来个printf()。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 12:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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