你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在单片机上运行app程序  

[复制链接]
cheny3922 提问时间:2017-5-5 11:14 /
阅读主题, 点击返回1楼
收藏 1 评论34 发布时间:2017-5-5 11:14
34个回答
anywill 回答时间:2017-12-21 18:26:25
好像是多任务挂起
tinyLinux可以
但是flash要10MB空闲空间
maxtch 回答时间:2017-12-21 19:04:12
这个当然可以。你可以参考 DOS 是如何实现程序装载和卸载的,不过在 STM32 下由于程序空间足够,可以不用考虑内核的装载和卸载。另外,有必要要把 NVIC、SCB->VTOR、中断向量表和内核内存保护起来,避免用户程序造次把系统破坏了。

评分

参与人数 1ST金币 +1 收起 理由
zero99 + 1

查看全部评分

slotg 回答时间:2017-12-21 19:40:57
基本上系统应该是要跑一个 Kernel 内核程序,用来管理系统的资源分配,所要运行的文件都只是 Kernel 的一个线程。
另一种比较简单的方式适合单片机系统的就是系统开机后运行一个选单程式,由选单程序选择要运行那一个 BIN 文件,假如要改变运行文件就按下 RESET 键暖启动。

评分

参与人数 1ST金币 +1 收起 理由
zero99 + 1

查看全部评分

the_newbie 回答时间:2017-12-21 19:53:46
跑系统加触摸屏加内存卡感觉想法挺好的,但是暂时还不知道如何实现。静等大神、、
sylar.z 回答时间:2017-12-21 19:56:18
可以把上述的bin文件做成一个特定的流程表格式应用文件。主程序中有一套完整的解析这套流程表的程序,这样就是一个读取应用文件,主程序执行的过程。可以在sd卡中存储多个应用文件,使用这种模式,就实现了游戏机的读取游戏卡中游戏的方式。

评分

参与人数 1ST金币 +1 收起 理由
zero99 + 1

查看全部评分

nyszx 回答时间:2017-12-21 19:56:20
估计可以参考java的运行方式,在stm32上跑一个特殊的虚拟机,执行可动态加载的程序。
nyszx 回答时间:2017-12-21 20:05:59
搜索了一下发现老早就有这样的想法了:http://www.openedv.com/posts/list/11846.
在RAM中执行Bin文件,但是要保存Flash中程序的运行状态,堆栈,PC指针等等执行完Bin后恢复现场,实现实时系统中的任务调度原理。

评分

参与人数 1ST金币 +1 收起 理由
zero99 + 1

查看全部评分

yangjiaxu 回答时间:2017-12-21 20:06:49
应该不能吧,没试过,可以加中断么?应该可以加中断的
xnmc2013 回答时间:2017-12-21 20:11:02
我是觉得单片机的功能是简单可靠,如果需要比较复杂的任务,可以选择类似手机的芯片来运行。单片机能够做到稳定可靠,简单开发,就是最棒了~~~~~~
nyszx 回答时间:2017-12-21 20:17:38
RT-Thread可以创建动态线程。应该能实现楼主的想法

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版