搜索
bottom↓
回复: 53

关于 80C52 模拟器的一些待定问题,请熟悉 51 的兄弟们给个建议

[复制链接]

出280入168汤圆

发表于 2021-3-19 09:09:06 | 显示全部楼层 |阅读模式
目前模拟器的整体框架已经完工了,并且运行调试没发现啥问题,Release 编译条件跑 51 代码和各种中断响应也没有错漏现象,现在的毛糙糙版达到了 1T 系列 51 的 18MHz 水准,后面准备移植到 STM32 上,努力在上面达到 2MHz 的 1T 51 水准。

因我从没用过 51,写这个模拟器之前对它的认识也仅限于行业新闻,所以现在有些疑点需要兄弟们帮助厘清:

1、 0xA5 是一条 Intel 的保留指令,8051 爱好者组织在硬件上测试过,这条指令在 51 上会设置进位 C,但其他啥也没做。所以我应该怎么做才比较合适:

    a) 当作 NOP 处理
    b) 按照爱好者的测试,设置 CY
    c) 当作异常指令报错

2、掉电模式在古老的 Intel 51 上只能靠复位重启,但 ATMEL 做了改进,外部中断也能唤醒,所以我应该按照什么标准做?目前的流行 51 是什么方式唤醒掉电模式的?

3、打算先移植到 STM32F207ZG 和 STM32F429ZI 上玩玩看,我手上有这两块 NUCLEO 的板子,兄弟们有没有啥感兴趣的 STM32 型号?我放固件出来大家一起玩一玩。

现在只剩下 Timer2 和串口没做完,资料在昨天凑齐并验证了,所以下周全部搞完就开始优化代码了。

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

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

出0入0汤圆

发表于 2021-3-19 09:34:19 | 显示全部楼层
在 STM32 上模拟 8051 ,这是想干什么呢?

出280入168汤圆

 楼主| 发表于 2021-3-19 09:40:27 | 显示全部楼层
imliyucai 发表于 2021-3-19 09:34
在 STM32 上模拟 8051 ,这是想干什么呢?

做 51 单片机的实时 debuger,为转用国产 MCU 进行产品开发而做的事前准备,

因为这些古老的芯片缺少现代化的调试环境,开发效率太低。

我们这儿两个研发组,一个就是用古老的环境开发,一年能出两个独立框架的产品就是了不起的成绩了,

另一个就是我们组,新玩意儿基本上一个多月就能结项了。

出0入0汤圆

发表于 2021-3-19 09:46:19 来自手机 | 显示全部楼层
chunjiu 发表于 2021-3-19 09:40
做 51 单片机的实时 debuger,为转用国产 MCU 进行产品开发而做的事前准备,

因为这些古老的芯片缺少现 ...

高手,膜拜,请问一下,中颖、新塘,silabs等大厂的51仿真器,做得很好呀,不能用吗

出0入0汤圆

发表于 2021-3-19 09:47:15 | 显示全部楼层
在这种简单单片机上开发,用不着连线调试吧?  我都是直接烧写代码看实际的结果,一般也不用反复几次。

出280入168汤圆

 楼主| 发表于 2021-3-19 09:51:00 | 显示全部楼层
kation122 发表于 2021-3-19 09:46
高手,膜拜,请问一下,中颖、新塘,silabs等大厂的51仿真器,做得很好呀,不能用吗 ...

你不能指望它们能顺利调试 STC 和其它 51 国产芯片还提供技术支持啊,

所以支持国芯靠自己,不依赖别人  

出280入168汤圆

 楼主| 发表于 2021-3-19 09:52:18 | 显示全部楼层
imliyucai 发表于 2021-3-19 09:47
在这种简单单片机上开发,用不着连线调试吧?  我都是直接烧写代码看实际的结果,一般也不用反复几次。 ...

我们的产品上软件涉及到多线程和各种协议的对接,简单的几百行代码搞不定的 ...

出0入34汤圆

发表于 2021-3-19 10:04:33 | 显示全部楼层
楼主,我怎觉得您这是在做重复的工作?因早年我不知在哪有看到有人也做了类似的工作,我貌似记得有将其工程给留存下来。但这也不知多少年前的事了,得有空再去翻找 NAS 看看。

出0入36汤圆

发表于 2021-3-19 10:05:37 来自手机 | 显示全部楼层
搞这种模拟器的意义在哪?不是浪费生命么,为啥要死磕这些古老的芯片,大把arm核的便宜芯片。

出500入109汤圆

发表于 2021-3-19 10:14:34 | 显示全部楼层
你要是做出一个可以方便调试的51内核, 性能还不差, 叫我大STC情何以堪啊, 现在还是几十兆的51内核, 调试还那么简陋.  去STC上班吧, 哈哈

出5入85汤圆

发表于 2021-3-19 10:18:47 | 显示全部楼层
研究基础知识,支持

出0入0汤圆

发表于 2021-3-19 10:24:32 来自手机 | 显示全部楼层
51仿真器有两线的,在线调试足够了

出615入1076汤圆

发表于 2021-3-19 10:25:34 来自手机 | 显示全部楼层
總結一下大家的建議:回頭是岸

出280入168汤圆

 楼主| 发表于 2021-3-19 10:54:27 | 显示全部楼层
想想 APPLE II 当年的 8K RAM 跑 BASIC 环境,后来 16K 开始跑磁盘存储管理系统 ...

你们现在就用强悍的 51 来 咔哒 咔哒 控制继电器,跑马灯转转,太奢侈了

当然上面是开玩笑。

我是玩 6502 出身的,当年写程序不用助记符,直接十六进制指令码,如果一直是够用就行了的想法,那早就给扫进垃圾箱了。


目前 arm 缺货是肯定的了,我只是提前做好准备工作防止意外。这个模拟器又不是什么艰难的挑战,只是顺手做一个冗余的备案而已。

如果 ARM 缺货问题解决了,用不上更好,可以避免很多我们产品改方案的过渡验证检测,那个是很浪费时间的。

出280入168汤圆

 楼主| 发表于 2021-3-19 11:01:20 | 显示全部楼层
xyz543 发表于 2021-3-19 10:04
楼主,我怎觉得您这是在做重复的工作?因早年我不知在哪有看到有人也做了类似的工作,我貌似记得有将其工程 ...

老代码意味着很老式的构思,所以没啥用途,我自己写的代码是要耦合现代化的调试环境。

都是 STM32 涨价缺货闹得,只想给自己留一个冗余的备选 MCU 方案。

出280入168汤圆

 楼主| 发表于 2021-3-19 11:02:13 | 显示全部楼层
redworlf007 发表于 2021-3-19 10:05
搞这种模拟器的意义在哪?不是浪费生命么,为啥要死磕这些古老的芯片,大把arm核的便宜芯片。 ...

前提是品质、货源和价格等因素稳定,不闹幺蛾子。

出280入168汤圆

 楼主| 发表于 2021-3-19 11:03:34 | 显示全部楼层
momo_li 发表于 2021-3-19 10:14
你要是做出一个可以方便调试的51内核, 性能还不差, 叫我大STC情何以堪啊, 现在还是几十兆的51内核, 调试还 ...

我要让 STC 瞧瞧什么叫做 Debuger ,他们也好意思拿个上古世纪的冷兵器混了这么多年

出280入168汤圆

 楼主| 发表于 2021-3-19 11:05:38 | 显示全部楼层
dukelec 发表于 2021-3-19 10:25
總結一下大家的建議:回頭是岸

飞机只要起飞了就不能说招手即停啊,不像 的士 那么方便 ...

出0入36汤圆

发表于 2021-3-19 11:09:12 | 显示全部楼层
chunjiu 发表于 2021-3-19 11:03
我要让 STC 瞧瞧什么叫做 Debuger ,他们也好意思拿个上古世纪的冷兵器混了这么多年   ...

STC应该请你去当技术总监,STC搞的那个辣鸡debuger,还要天天在论坛里面吹流弊秒杀各种link。。。

出0入0汤圆

发表于 2021-3-19 11:10:39 来自手机 | 显示全部楼层
楼主这么高调宣传,肯定不会仅仅限于自用

出500入109汤圆

发表于 2021-3-19 11:17:57 | 显示全部楼层
redworlf007 发表于 2021-3-19 11:09
STC应该请你去当技术总监,STC搞的那个辣鸡debuger,还要天天在论坛里面吹流弊秒杀各种link。。。 ...

需求决定产品, 在STC看来,调试并不是很重要的一个环节, 早期的51产品资源有限,软件的规模也是有限. 调试的需求没那么强烈.
反倒是下载,升级和加密, 下载和升级的体验来说, STC绝对是前几名的. 加密虽然做不到金融级, 常规的破解市场也是报价比较高的. 这才是需求点.

对于未来, stc的产品资源越来越丰富, ROM,RAM变大, 软件的复杂程度会大大提高, 到时候调试就变得必不可少了.
按照老姚的思路, 只要STC继续走下去, 相信真的能做出非常棒的调试器来. 没准会做出99块的J-TRACE, 也不是不能想.

出280入168汤圆

 楼主| 发表于 2021-3-19 11:20:32 | 显示全部楼层
oldban 发表于 2021-3-19 11:10
楼主这么高调宣传,肯定不会仅仅限于自用

此 8051 模拟器在后期就准备做成一个公开的技术实力宣传,目前只是我的技术储备。

我希望国产 MCU 厂家能理解研发人员到底想要什么样的开发环境,不要总是吹牛逼。

若能让国产 MCU 应用环境产生进步就是最好的局面,毕竟便宜量又足,我喜欢多赢。

出0入34汤圆

发表于 2021-3-19 11:32:36 | 显示全部楼层
chunjiu 发表于 2021-3-19 11:01
老代码意味着很老式的构思,所以没啥用途,我自己写的代码是要耦合现代化的调试环境。

都是 STM32 涨价 ...

找到了!结果竟然是没两年的事儿,呵呵~

转一个开源8051软件模拟器

[开源]8051模拟器(虚拟机),有stm32测试范例

就是不知是否有对味?!总之还是希望这能给您些帮助...

出280入168汤圆

 楼主| 发表于 2021-3-19 11:44:51 来自手机 | 显示全部楼层
xyz543 发表于 2021-3-19 11:32
找到了!结果竟然是没两年的事儿,呵呵~

转一个开源8051软件模拟器

当然有帮助,谢谢!因为要实时监控mcu的内部状态,所以我需要使用一些技巧来提高耦合度,有了现成的参考是很有帮助的。

出0入34汤圆

发表于 2021-3-19 11:46:43 | 显示全部楼层
chunjiu 发表于 2021-3-19 11:44
当然有帮助,谢谢!因为要实时监控mcu的内部状态,所以我需要使用一些技巧来提高耦合度,有了现成的参考 ...

那就好,先祝您玩得愉快了。

出0入36汤圆

发表于 2021-3-19 11:50:44 | 显示全部楼层
momo_li 发表于 2021-3-19 11:17
需求决定产品, 在STC看来,调试并不是很重要的一个环节, 早期的51产品资源有限,软件的规模也是有限. 调试 ...

我的意思是:STC不要天天吹流弊。我也知道51资源有限,程序不大,不要调试器也行。

我说的是不要吹流弊,和需不要调试器,没关系。

不要吹流弊、不要吹流弊、不要吹流弊 说三遍。

出280入168汤圆

 楼主| 发表于 2021-3-19 11:55:12 | 显示全部楼层
xyz543 发表于 2021-3-19 11:46
那就好,先祝您玩得愉快了。

再次感谢   

出0入1209汤圆

发表于 2021-3-19 12:02:58 | 显示全部楼层
momo_li 发表于 2021-3-19 11:17
需求决定产品, 在STC看来,调试并不是很重要的一个环节, 早期的51产品资源有限,软件的规模也是有限. 调试 ...

STC的下载体验好?不知道你是用多了还是用少了,反正我当年搞89E512还是啥的时候,串口多数都是下载失败,挑串口线,挑波特率,串口线串联二极管,下次冷启动什么鬼玩意都是他们家干的事情。

出0入0汤圆

发表于 2021-3-19 16:41:42 来自手机 | 显示全部楼层
kitten 发表于 2021-3-19 12:02
STC的下载体验好?不知道你是用多了还是用少了,反正我当年搞89E512还是啥的时候,串口多数都是下载失败 ...

瞎说什么大实话,仿真是那种软件的软仿真、下载也不稳定,体验真的不好, 仿真器、下载器一定要同步通信的,那才是真正的产品级调试器。

出0入0汤圆

发表于 2021-3-19 17:40:12 | 显示全部楼层
调51的程序,从来不用啥仿真,也不知道好用不,基本就是从串口出调试信息就可以把产品搞定

出0入0汤圆

发表于 2021-3-19 17:58:27 | 显示全部楼层
kitten 发表于 2021-3-19 12:02
STC的下载体验好?不知道你是用多了还是用少了,反正我当年搞89E512还是啥的时候,串口多数都是下载失败 ...

手册说要串二极管,电阻,我现在的板子都没有串,只是串口确实会给芯片供电,但是一点击下载,就不会再运行了,直接断开电源再上电就下载了,失败还基本没有遇到。

出0入79汤圆

发表于 2021-3-19 18:16:16 来自手机 | 显示全部楼层
用arm  m0就挺好的,缺芯绝不会长久,这只是缺德炒货商最后的盛宴而已。
silabs的8位就不要用了,以后没货。
国产m0还是必然之路,等到你的8051搞定,说不定市场都恢复了。做完整工具链不是一两天的事情。

出0入0汤圆

发表于 2021-3-19 19:05:22 | 显示全部楼层
ISD仿真不香吗

出0入0汤圆

发表于 2021-3-19 20:21:36 | 显示全部楼层
为什么这么多人泼冷水呢!
楼主做了自己想要做的事,而且接近目标达成了,开心就好!加油!

出280入168汤圆

 楼主| 发表于 2021-3-19 20:59:19 | 显示全部楼层
motor_control 发表于 2021-3-19 18:16
用arm  m0就挺好的,缺芯绝不会长久,这只是缺德炒货商最后的盛宴而已。
silabs的8位就不要用了,以后没货 ...

放心,从成本上来说,51 是不可替代的 。之所以现在成不了大气候,是因为利润太低,生产商不愿意在开发工具上花钱。

出280入168汤圆

 楼主| 发表于 2021-3-19 21:02:11 | 显示全部楼层

没用过,在我印象中,国产开发工具就没有什么像样的 ... 包括 GD 官方的,给我送了两块 DEMO 板子,都不能正常工作,又都拿回去重修了再给我,勉强可以跑了。

出280入168汤圆

 楼主| 发表于 2021-3-19 21:03:25 | 显示全部楼层
srygg 发表于 2021-3-19 20:21
为什么这么多人泼冷水呢!
楼主做了自己想要做的事,而且接近目标达成了,开心就好!加油!

谢谢,可能之前有兄弟试过了,没成功,所以大家失望了吧。

出0入4汤圆

发表于 2021-3-19 21:15:03 | 显示全部楼层
支持楼主~~~还是有需求的

出0入79汤圆

发表于 2021-3-19 22:05:18 来自手机 | 显示全部楼层
本帖最后由 motor_control 于 2021-3-19 22:31 编辑
chunjiu 发表于 2021-3-19 20:59
放心,从成本上来说,51 是不可替代的 。之所以现在成不了大气候,是因为利润太低,生产商不愿意在开发工 ...


我认为m0必定取代51。
台湾那边算是搞51很久了,水平也比大陆高,也投入很多,这么多年了,但也没有什么很好的开发工具,而且好的仿真体验这个本身就得要求芯片性能要提高。
51利润低,就说明不会有太多资金投入,而且这个很耗费时间,没有老板愿意等的。等缺货潮一退,这个因缺货引发的51开发计划很有可能要停,毕竟国产m0到时候会便宜的越多,性能好,调试体验好,估计没什么人用51。可能就是那种低价走量的,极端抠成本的会用。stm32的普及就说明了很多。

而且加密很重要!

出280入168汤圆

 楼主| 发表于 2021-3-19 22:38:10 来自手机 | 显示全部楼层
motor_control 发表于 2021-3-19 22:05
我认为m0必定取代51。
台湾那边算是搞51很久了,水平也比大陆高,也投入很多,这么多年了,但也没有什么 ...

市场会决定一切的,51 之所以不可被替代是因为它不需要授权,专利过期了。这个和技术是否先进没太大关系。

我也不知道啥时候会陷入成本的最终决战,但只要先准备好了,就不怕哪一天会不会来,啥时候来。

出0入0汤圆

发表于 2021-3-20 12:08:12 | 显示全部楼层
motor_control 发表于 2021-3-19 22:05
我认为m0必定取代51。
台湾那边算是搞51很久了,水平也比大陆高,也投入很多,这么多年了,但也没有什么 ...

51水品最高是STC

出0入0汤圆

发表于 2021-3-20 13:34:19 | 显示全部楼层
这个很有意义,就跟电脑上街机模拟器一样。不用写街机本身的游戏,直接加载进去就能运行。

出0入79汤圆

发表于 2021-3-20 17:35:53 | 显示全部楼层

STC懒得谈,刚刚用了国内的某款M0单片机,只能说真的垃圾!

芯片这种高科技,真的不是一窝蜂上就能搞定的。

出0入4汤圆

发表于 2021-3-20 18:02:59 | 显示全部楼层

STC是不错,还有一个把51往死里整的Silicon  C8051F120

出0入0汤圆

发表于 2021-3-21 09:02:05 来自手机 | 显示全部楼层
51有专门的硬件仿真器,效果很好啊,Keil就可以用,和arm的仿真没有区别

出280入168汤圆

 楼主| 发表于 2021-3-21 09:34:39 | 显示全部楼层
gongxd 发表于 2021-3-21 09:02
51有专门的硬件仿真器,效果很好啊,Keil就可以用,和arm的仿真没有区别

如果你愿意花钱的话当然很好啊,不能免费用惯了就理所当然了 ...

出0入34汤圆

发表于 2021-3-21 16:33:38 | 显示全部楼层
gongxd 发表于 2021-3-21 09:02
51有专门的硬件仿真器,效果很好啊,Keil就可以用,和arm的仿真没有区别

貌似还是有点区别的,起码个人目前未见着可无限制的设置仿真断点。
早期 ST 整的 uPSD 系列,直接接 Keil 的 U-Link 就可以下载与仿真啦。

出280入168汤圆

 楼主| 发表于 2021-3-21 17:44:21 来自手机 | 显示全部楼层
xyz543 发表于 2021-3-21 16:33
貌似还是有点区别的,起码个人目前未见着可无限制的设置仿真断点。
早期 ST 整的 uPSD 系列,直接接 Keil ...

模拟出来的 51 没有断点限制,想咋停就咋停。

出0入34汤圆

发表于 2021-3-21 18:09:21 | 显示全部楼层
chunjiu 发表于 2021-3-21 17:44
模拟出来的 51 没有断点限制,想咋停就咋停。

那是因为您用得是 Cortex 的内核,我那是在讲 20 年前的事啊!

出0入0汤圆

发表于 2021-3-24 10:47:54 | 显示全部楼层
motor_control 发表于 2021-3-20 17:35
STC懒得谈,刚刚用了国内的某款M0单片机,只能说真的垃圾!

芯片这种高科技,真的不是一窝蜂上就能搞定 ...

华大的M0也还可以

出0入8汤圆

发表于 2021-3-24 11:33:38 | 显示全部楼层
国内的 51内核 基本除了 stc  其他厂商的都是2线在线调试了。   仿真器 原厂基本都是赠送的  买也不贵 100元左右的价格。

出0入4汤圆

发表于 2021-7-7 14:05:57 来自手机 | 显示全部楼层
m0本身无除法指令,也不方便位操作。其专利也要很长时间才过期。
8051,80251本身专利早已过期,各种优化的IP核大行其道,各种8位机完全被ARM取代很难完全做到。军工都还要用8位机。

出0入0汤圆

发表于 2021-7-7 15:25:54 | 显示全部楼层
源代码呢??

出10入18汤圆

发表于 2021-7-7 18:18:58 来自手机 | 显示全部楼层
kundi 发表于 2021-7-7 14:05
m0本身无除法指令,也不方便位操作。其专利也要很长时间才过期。
8051,80251本身专利早已过期,各种优化的 ...

啥军工啊,除了老型号维持生产的,新的还用8位?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 16:41

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

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