littlebot
Published on 2025-04-10 / 4 Visits
0

【源码】基于C++的Yasld动态加载器

项目简介

本项目是基于C++的Yasld动态加载器,专为ARM Cortex - M微控制器设计。该加载器能支持任何编译为位置无关代码(PIC或PIE)的二进制文件或库,可直接从闪存执行二进制文件,也能在硬件不支持时将二进制文件或库复制到RAM中执行。

项目的主要特性和功能

  1. 支持动态加载和链接,适用于ARM Cortex - M微控制器。
  2. 支持编译为位置无关代码的二进制文件和库。
  3. 使用自定义的yasiff文件格式,支持代码、数据和BSS段的加载。
  4. 支持直接从闪存执行代码,或在必要时将代码复制到RAM中执行。
  5. 支持arm - none - eabi工具链,提供CMake文件简化编译过程。

安装使用步骤

环境准备

确保已安装arm - none - eabi工具链和CMake。

编译项目

bash mkdir build cd build cmake .. make

生成yasiff文件

使用scripts/mkimage脚本生成yasiff文件。

运行测试

在支持的硬件平台上运行生成的二进制文件,验证Yasld的功能。

注意事项

  1. 确保硬件平台支持ARM Cortex - M微控制器。
  2. 使用arm - none - eabi工具链进行编译,确保编译选项正确。
  3. 使用yasiff文件格式时,确保文件结构和内容符合规范。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】