项目简介
本项目是基于C++的Yasld动态加载器,专为ARM Cortex - M微控制器设计。该加载器能支持任何编译为位置无关代码(PIC或PIE)的二进制文件或库,可直接从闪存执行二进制文件,也能在硬件不支持时将二进制文件或库复制到RAM中执行。
项目的主要特性和功能
- 支持动态加载和链接,适用于ARM Cortex - M微控制器。
- 支持编译为位置无关代码的二进制文件和库。
- 使用自定义的yasiff文件格式,支持代码、数据和BSS段的加载。
- 支持直接从闪存执行代码,或在必要时将代码复制到RAM中执行。
- 支持
arm - none - eabi
工具链,提供CMake文件简化编译过程。
安装使用步骤
环境准备
确保已安装arm - none - eabi
工具链和CMake。
编译项目
bash
mkdir build
cd build
cmake ..
make
生成yasiff文件
使用scripts/mkimage
脚本生成yasiff文件。
运行测试
在支持的硬件平台上运行生成的二进制文件,验证Yasld的功能。
注意事项
- 确保硬件平台支持ARM Cortex - M微控制器。
- 使用
arm - none - eabi
工具链进行编译,确保编译选项正确。 - 使用yasiff文件格式时,确保文件结构和内容符合规范。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】