项目简介
本项目是基于Zephyr框架开发的动态应用加载系统,专门为Cortex - M系列微控制器设计。借助该系统,用户能在运行时动态加载和运行应用程序,无需重新编译内核。项目由内核和应用两部分构成,内核负责加载应用并处理系统调用功能,应用以位置无关代码(PIC)形式编译,可在任意内存位置运行。
项目的主要特性和功能
- 支持运行时动态加载和运行应用程序,无需重新编译内核。
- 利用Zephyr的系统调用机制,实现内核与应用之间的交互。
- 应用以PIC形式编译,能在任意内存位置运行。
- 将ELF格式的应用转换为TINF格式,便于在微控制器上加载。
- 虽当前示例基于STM32F429i - DISC1开发板,但项目可移植到其他Cortex - M微控制器。
安装使用步骤
构建libsys_module.a
静态库
bash
cd kernel
mkdir build
cd build
cmake .. -DBOARD=stm32f429i_disc1 -DUSERLIB=1
make userlib
cp -R userlib ../../apps/
构建应用
bash
cd apps/blinky
mkdir build
cd build
cmake ..
make
生成TINF格式的应用文件
bash
python3 ../../../elf2tinf/elf2tinf.py --major 1 --minor 0 blinky.elf blinky
cp -rf blinky_tinf.h ../../../kernel/include
构建内核
bash
cd kernel/build
cmake .. -DBOARD=stm32f429i_disc1 -DUSERLIB=0
make clean
make
加载内核到硬件
bash
make flash
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】