搜索
bottom↓
回复: 47

rtos下如何动态加载任务

[复制链接]

出0入93汤圆

发表于 2015-3-28 13:00:00 | 显示全部楼层
这玩意儿我早就实现过,说穿了非常简单,一层窗户纸而已,捅破了也就那么回事,但是就是没有人捅破。

相互调用:函数指针啊,相当于Windows中的导入导出表。
中断:OS直接将中断搞到RAM中去,App改写这个RAM里的值就OK了
MMU:这玩意有没有都没关系,有的话硬件映射,没有的话软件重定位


我给个bin,有函数的相互调用,有重定位,就是不提供Code:
我用的是STM32F030编译的,自己测试有效。
App.bin是主程序,对应于LZ所说的RTOS。导出了一个函数:端口取反,必须烧写到0x00000000或0x08000000地址。必须烧写。
PlugIn1.bin、PlugIn2.bin分别为两个插件程序,对应于LZ所说的任务。都导入了一个函数:端口取反。随意烧写到1K边界对齐的任意位置就行,只是不要互相覆盖就行。比如烧到0x08000400、0x08000800、0x08000C00、0x08001000、...   动态加载嘛,烧写了哪个就具有哪个功能。烧写了PlugIn1.bin则PA0会输出方波,烧写了PlugIn2.bin则PA1会输出方波。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

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

本版积分规则

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

GMT+8, 2024-5-7 23:27

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

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