前言
-
RT-Smart,类似于Linux,可以动态的加载运行 应用程序 elf 文件
-
应用程序 elf 文件,有的是静态链接编译的,有的是动态链接编译的,动态链接编译的,还需要加载 动态共享库 (.so)
-
本篇讲解一下 RT-Smart 上 elf 动态加载功能的实现,顺便讲一下动态加载的原理
环境搭建
-
RT-Thread 版本: 当前 最新 master 主线版本
-
BSP :
bsp/qemu-virt64-aarch64
-
开启 RT-Smart
-
dfs : V2 版本,开启 pagecache
-
开启 ldso 动态加载
-
使用开启了 ldso 功能的 musl gcc 交叉编译工具链编译内核与应用程序
开启 RT-Smart
bsp/qemu-virt64-aarch64
支持 RT-Smart,Linux 环境下可以直接通过scons --menuconfig
开启
开启 dfs v2 版本
- 当前 RT-Thread dfs 有两个版本,默认