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

2019-12-09 14:24发布

自己一直想写个脚本放到单片机里面,论坛就有好多有名的虚拟机,比如:

从c4的字节码改编的虚拟机,占用资源超小,单片机可用
前前后后开发了几年,终於赶在节前发布我的嵌入式虚拟机
一个开源的c语言虚拟机(编译型)
还有很多,但是感觉脚本都太大,关键问题是需要做一个脚本开发环境等。感觉是太过于复杂了,后来想到如果实现了一个51的模拟器,那么开发环境不需要自己搞,书也比较多,后来看到论坛 gongxd 发了个模拟器(转一个开源8051软件模拟器)刚好符合自己的需要,但是感觉有点复杂,自己琢磨怎么能简单的重构一下,而后就有了今天的虚拟机的雏形,另外在github上也发现了vm8051的原型机
本次是第一个原型版本,有bug再说难免,望大家谅解
附件提供了两份代码,一份是stm32f103c8t6代码(用的是淘宝上最便宜的那种小板)

有一个指示灯,这是一份宿主代码,里面实现了vm51的主机部分,test_Arr数组存储的是51编译后的代码。 STM32F103C8T6led.rar (2.95 MB, 下载次数: 37) 2019-11-28 08:56 上传 点击文件名下载附件
stm32

另外一份是51单片机的代码,可以看成一个脚本,这个脚本的作用是1秒打开,关闭小板上的led灯 vm51test.rar (71.25 KB, 下载次数: 116) 2019-11-28 08:56 上传 点击文件名下载附件
51


感谢 gongxd(虚拟机的思路,方法),  
感谢 SkyGz(FileToArray.rar非常好用))
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
46条回答
lcw_swust
1楼-- · 2019-12-11 12:11
收藏学习。
指令对应函数指针数组,好方法。
其实我有一个想法,设计一套精简的虚拟机指令集,一个小巧的C编译器运行于单片机上,
单片机就非常接近于电脑了,可以接键盘、显示器,输入C代码、编译、运行,或者做一些可编程的玩意。
zheng8648
2楼-- · 2019-12-11 15:29
很有意思的一个项目
nade
3楼-- · 2019-12-11 20:38
我等不才还在嵌入式入门到放弃,大神都无聊到从放弃嵌入式到51了
muniao
4楼-- · 2019-12-11 20:39
 精彩回答 2  元偷偷看……
WHOOK
5楼-- · 2019-12-12 00:58
技术研究需要反反复复嘛,有时间与精力支持折腾!
youkebing
6楼-- · 2019-12-12 05:59
LCRPN 发表于 2019-11-28 10:44
楼主你这个既能执行.bin又能解析.c ?

是keil编译c51到bin,而后虚拟机直接执行这个bin,

一周热门 更多>