自己一直想写个脚本放到单片机里面,论坛就有好多有名的虚拟机,比如:
从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非常好用))
指令对应函数指针数组,好方法。
其实我有一个想法,设计一套精简的虚拟机指令集,一个小巧的C编译器运行于单片机上,
单片机就非常接近于电脑了,可以接键盘、显示器,输入C代码、编译、运行,或者做一些可编程的玩意。
一周热门 更多>