FreeRTOS 作为一种开源的轻量级多任务实时操作系统,被广泛应用在各种嵌入式仪器和设备中,但该操作系统不支持软件模块的动态加载,这限制了它的灵活性和扩展性。本文在详细分析ELF 文件符号重定位原理的基础上,通过修改FreeRTOS 任务的内存布局,并在其内核中添加ELF 文件加载器,实现软件模块的动态加载和卸载功能。程序在STM32 平台上的测试结果表明,软件模块能够在系统运行时被动态加载入内存,并成功被FreeRTOS 内核调度执行。