Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
mo动态模块_Module
rtt 如何实现动态加载app
发布于 2015-02-08 11:20:52 浏览:5806
订阅该版
貌似rtt很早就支持动态加载app了,这在一般的嵌入式系统中是非常罕见的,的确令人钦佩 但是我还没仔细看rtt如何做到动态加载的,谈谈我关于动态加载的需求 其实就是一个全功能的iap程序,应用程序可以使用iap程序的api,避免包含过多的重复代码;app项目基本完全无关于iap程序(只需要api函数表)。一般情况下,如果iap和app函数想共用的话,只能是不包含全局变量的函数才可以,如果iap程序包含一个rtos并且想用os api(os必定有全局变量),我感觉基本上毫无可能啊 接下来我想是否可以用陷入异常的方式来调用os api,这样的话甚至可以做到iap程序区完全独立于app程序,因为按之前做法函数指针表是和iap程序直接相关的,我们需要知道它的地址;svc软中断是最自然就可以想到的 那么rtt究竟是如何实现动态加载的呢,基本思路是什么?
查看更多
5
个回答
默认排序
按发布时间排序
eddy0317
2015-02-09
这家伙很懒,什么也没写!
刚好最近在玩这个,有点研究。实际上RTT就是通过解析elf文件来进行动态加载。在解析elf文件的时候,自动将应用程序用到的函数根据名字来找到对应的函数入口地址。 即,假如应用程序上调用一个函数OS_Printf的话,RTT在加载这个应用程序的时候会自动在所有用到这个OS_Printf的地方填入正确的函数入口地址。 RTT通过RTM_EXPORT导出的所有函数都可以被应用程序使用。 因此,只要在你所说的IAP里面,写好相关的OS API,然后通过RTM_EXPORT导出。就可以供应用程序使用了。应用程序上,给予相应的函数声明的头文件或者干脆extern就是了。如何实现不需要管。
bernard
2015-02-09
这家伙很懒,什么也没写!
好像一般IAP不用这种模式吧。RT的动态加载功能,推荐SRAM大于4MB [s:158]
myxiaoniao
2015-02-13
这家伙很懒,什么也没写!
[quote]好像一般IAP不用这种模式吧。RT的动态加载功能,推荐SRAM大于4MB [s:158][/quote] 看来应用的可能性不大了,本来就是为了省一点点rom空间,现在sram要求都这么大,相差太悬殊了
gpfrank
2015-03-04
这家伙很懒,什么也没写!
你可以考虑一下叶帆的一份关于扩展.NET MF的流式驱动的文章。 可能符合您的要求。
撰写答案
登录
注册新账号
关注者
0
被浏览
5.8k
关于作者
myxiaoniao
这家伙很懒,什么也没写!
提问
3
回答
17
被采纳
0
关注TA
发私信
相关问题
1
貌似stm32f10x的应用模块在1.2.x版本不能正常编译
2
应用模块打开之后unload之后还在内存中
3
关于module.c的_load_shared_object的疑问
4
应用模块的rt_module_unload函数的bug
5
使用zmodem传输文件,应用模块文件传输完成,访问失败
6
RTT下应用模块编译具体方法
7
RTT应用模块编译出错
8
RTT应用模块编译问题
9
求问动态模块是什么意思呢
10
应用模块编译出问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RTT平台 zephyr_polling软件包 Bluenrg2 蓝牙芯片启动流程
2
【有奖直播】B站直播志愿者招募
3
RT-Thread USB HID实现数据收发时遇到数据发送不了
4
在 Linux 中使用 RT-Thread Env 工具的简明指南
5
梁山派GD32F450/470-RT-Thread Nano 移植 (三)
热门标签
RT-Thread Studio
串口
Env
LWIP
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
stm32
ESP8266
rt-smart
WIZnet_W5500
RTC
flash
ota
UART
FAL
packages_软件包
I2C
freemodbus
潘多拉开发板_Pandora
cubemx
定时器
BSP
PWM
ADC
socket
AB32VG1
SDIO
keil_MDK
中断
消息队列_msg_queue
编译报错
Debug
C++_cpp
msh
QEMU
SFUD
MicroPython
本月问答贡献
张世争
19
个答案
4
次被采纳
道友
40
个答案
3
次被采纳
CrazyH
50
个答案
2
次被采纳
踩姑娘的小蘑菇
14
个答案
2
次被采纳
xiaorui
7
个答案
2
次被采纳
本月文章贡献
paradox
5
篇文章
2
次点赞
螺丝松掉的人
4
篇文章
12
次点赞
子牧r
3
篇文章
2
次点赞
BURRIEROW
2
篇文章
5
次点赞
小手凉凉
2
篇文章
4
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部