RT-Smart elf 动态加载技术 : elf 加载原理与流程

前言

  • RT-Smart 类似于Linux,可以动态的加载与运行应用程序 elf 文件,也就是内核与应用可以分开,一个内核,多个应用,不同的应用可以按需加载执行

  • 应用程序 elf 文件,有的是静态链接编译的,有的是动态链接编译的,动态链接编译的,elf 的运行依赖动态共享库 (.so)

  • 本篇讲解一下 RT-Smart 上 elf 文件的介绍 与 动态加载原理,动态加载属于内核的【基础设施】,对于一般用户来讲其实是【透明】的,不过了解动态加载的原理与流程,可以更好的理解与掌握操作系统

环境搭建

  • RT-Thread 版本: 当前 最新 master 主线版本

  • BSP : bsp/qemu-virt64-aarch64

  • 开启 RT-Smart

  • dfs : V2 版本,开启 pagecache

  • 开启 ldso 动态加载

  • 使用开启了 ldso 功能的 musl gcc 交叉编译工具链编译内核与应用程序

引言

  • 既然 elf 文件是可执行的,但是我在 RT-Smart msh 命令行输入 xxx.elf 文件时,执行失败,提示找不到这个命令,这是什么原因?

  • 显然 elf 文件执行并不像 shell 命令那样执行

  • 那么 elf 文件到底是怎么执行的呢?

  • <

你可能感兴趣的:(动态加载技术,RT-Smart,动态加载,ldso)