关於RTOS,虚拟机,脚本系统,和GUI的一些胡思乱想
先说说RTOS,现有的RTOS很多,包括UCOS,FreeRTOS,RT-Thread,CoOS,scmRTOS,等等数不胜数。但左右看了一些,发现都不适合我用--换句话说,我不喜欢。想来想起,最后决定,以UCOS的原理为基础原型,重写我自己的RTOS,基础语言是IAR C++,采用Class和Inherited的方式来写。
虚拟机和脚本系统本来应该是成对出现的,但我觉得可以分开来说,因为,虚拟机是实现,脚本系统注重设计。
加入了虚拟机,可以让OS无限扩展功能,这类似很多很多软件运行在DOS上面类似。
脚本系统也可以说是一个语言开发系统,只是比语言开发系统简单一下,而且它不直接编译成机器码,而是编译成中间码,具体怎么实现则交给虚拟机去做。
它的任务就是把二次开发人员的思路按某种语言的格式转化成中间码,就可以了。脚本系统的另一个目的就是,它隐藏了很多底层细节和驱动,交付给开发人员的,
就仅仅是简单的描述语言和配置而已了。
GUI是独立於前面三者,但又被三者所溶合。所谓独立,是GUI的Style和Skin发生变化的时候,前面三者不需要更改任何程序。所谓溶合,是GUI也依赖RTOS和虚拟机去执行。
上面说了这么多,大家知道我想做什么吗?
假如,我说的是假如,上面四个已经完成了。那么,以下就成了现实。
在一块STM32的板上,用户开机启动,出现一个DOS画面(或是击入WIN命令进入XWin图形界面),
用户可以执行任何内部命令,或是外部命令(DOS?DOS!)。
或是通过USB或TCP/IP下载程序文件来执行。
因为有了虚拟机,用户的可执行文件可以变得很小很小。
因为有了GUI,用户可以通过解控来执行程序。
因为有了脚本系统,用户随时可以更改程序内容。
因为有了脚本系统,开发人员可以很方便的开发一个游戏软件。
因为。。。因为。。。
我在说N年前的长城电脑么,或是个安卓手机???
呵呵,以上所说的,除了RTOS我现在正在研究,而虚拟机和脚本系统我已经实现(基於PC端,参阅此贴),GUI这个对我来说并不是个难事,难是的时间和精力,哈。
刚喝了杯咖啡,边想边打的。
期待村长大作! 好!强烈建议村长组织一下,相信很多人乐于做这样的事情。 hotpower热衷于在单片机程序中使用C++。 aworker 发表于 2012-9-7 15:59 static/image/common/back.gif
hotpower热衷于在单片机程序中使用C++。
我也差不多,不过,对於8位机,我偏向C,对於STM32,我是一概使用C++,因为ST的库是C的,所以,我自己写了自己的C++库,丢弃ST自带的。 本帖最后由 song1km 于 2012-9-7 16:09 编辑
以下仅供参考,或者只当是胡说,呵呵。
1.村长写实现思路,功能划分之类的,或者提出写什么样的函数、或者功能,感兴趣的朋友完成,可以悬赏,然后请一些老网友提修改意见,评分,最后定稿。
2.以前PLC项目里,xyy组织的不错。。。可惜。
3.这种开放模式可以推广。发现电子行业很多都是一个人在搞,也没什么文档,或者写的文档也是看不懂,搞技术的人的文字水平。。。其实文字水平很重要,不罗嗦。只有大家拧在一起才能有突破,团队精神很重要。
4.要有阿莫的管理手段,人的语言就象刀,很多时候你不经意的说一句讽刺的话,对他人是很大的伤害,尤其搞技术的,很多时候都在吵,文人相轻。其实每个人都有值得肯定的地方,所以,在批评别人之前请先肯定,这样能有良好的氛围。
song1km 发表于 2012-9-7 16:03 static/image/common/back.gif
以下仅供参考,或者只当是胡说,呵呵。
1.村长写实现思路,功能划分之类的,或者提出写什么样的函数、或者 ...
这个比PLC远复杂多了。而且,如果在启动的时候,没有一个大体的程序框架,很容易跑偏,最终使项目不了了之。{:dizzy:}
我现在做每一个项目,都是我先把大体框架架起来,界面有了定格的风格,扩展方式已经确定,然后才交给同事去发展下去,不然的话,我要走东方,他们会给我走到北方去的。{:lol:} aleyn 发表于 2012-9-7 16:11 static/image/common/back.gif
这个比PLC远复杂多了。而且,如果在启动的时候,没有一个大体的程序框架,很容易跑偏,最终使项目不了了 ...
没错,开始的规划很重要。我想能否把您的想法在这里用图形、语言表述出来,我想可能很多人都没看清楚您的意思,也可能仅仅是我没理解。
stm32跑得动吗 有个叫john lee的用C++写过叫LOOK的RTOS,他跟雁塔菜农有点关系。 支持村长{:lol:}
基于脚本的可定制系统,是文本型脚本和图形编辑器都有吗?我记得你说要做个支持USB接口的雕刻机软件 unrama 发表于 2012-9-7 16:34 static/image/common/back.gif
stm32跑得动吗
STM32F1xx系列会有点慢。STM32F4xx系列估计可以。 jpchen 发表于 2012-9-7 17:28 static/image/common/back.gif
支持村长
基于脚本的可定制系统,是文本型脚本和图形编辑器都有吗?我记得你说要做个支持USB接口的 ...
只能是文本型脚本,如果图形编辑器的话,那得是大工程了。 支持村长
搬凳子学习
…… 情况如何?有进展吗? song1km 发表于 2012-9-8 21:02 static/image/common/back.gif
情况如何?有进展吗?
目前自我学习RTOS中。{:lol:} 自摸,自己摸索{:lol:} 参考学习 村长威武,我也有类似的想法,比你的简单多了,目前只是想再单片机上跑个解释器,提供一些比如写屏幕等的api,从外部存储介质如sd卡读入脚本,将这些脚本当作“可执行文件”。不过目前也只是想想,因为只是只菜鸟,也不知道难度有多大....... AIHHLI 发表于 2012-9-9 22:12
村长威武,我也有类似的想法,比你的简单多了,目前只是想再单片机上跑个解释器,提供一些比如写屏幕等的ap ...
你的想法有点意思,做起来也有意思,做出来了更有意思 做着玩玩可以,没啥商业价值 AIHHLI 发表于 2012-9-9 22:12 static/image/common/back.gif
村长威武,我也有类似的想法,比你的简单多了,目前只是想再单片机上跑个解释器,提供一些比如写屏幕等的ap ...
在PC端就容易一些,我已经完成脚本引擎的两大部分(编译和执行),如果你是解释型的话,实际上就是把编译和执行合并了。
不过,在MCU端,估计难度会大很多。 这个,如果干,一定全力支持,虽然很菜 很好的思路,脚本层面一直在思考,但还没摸索出有效的方法。
最初的打算是基于llvm来实现一套自定义的VM,然后使用llvm便利的前端资源从而支持包括C,C++,Java,Javascript,Lua,Python,Basic等绝大多数language, script。但对llvm还是不通……MCU资源上应该不是大问题,毕竟MCU是往前走的,我们做的RealTouch也是要迎合这种趋势(ARM Cortex-M4 + 1MB EXT SRAM + 7` LCD + NandFlash + WIFI)。 高级玩法 AIHHLI 发表于 2012-9-9 22:12 static/image/common/back.gif
村长威武,我也有类似的想法,比你的简单多了,目前只是想再单片机上跑个解释器,提供一些比如写屏幕等的ap ...
我记得论坛上有人在stm上跑过lua,lua很强大,体积小,或者能满足你的要求。 进来膜拜能写编译器的大牛{:3_59:} writer15 发表于 2012-9-11 07:57
我记得论坛上有人在stm上跑过lua,lua很强大,体积小,或者能满足你的要求。 ...
孤陋寡闻了.:-D,以前都没听说过lua,其实目前正打算研究basic。 期待大作 编译原理,看着都头大。
等你胜利的果实 层层太高,看不太懂,要学习的东西还很多啊 ST网站上有STM32用的简单的嵌入式JAVA解释器Demo 关注中~~~~~~~~~
页:
[1]