【技术实现步骤摘要】
基于MCU应用程序动态加载方法、设备及其介质
[0001]本专利技术涉及嵌入式
,尤其涉及一种基于
MCU
应用程序动态加载方法
、
设备及其介质
。
技术介绍
[0002]随着人工智能技术的发展,微控制器
(MCU
,
Microcontroller Unit)
也在不断变得更加重要
。
微控制器是一种门电路的集成电路,常用于控制和管理电子设备,可用于实现人工智能
(AI)
系统的复杂功能
。
[0003]目前,
MCU
开发的应用程序加载方法一般采用
bootloader
程序
(
引导程序
)
加载
App
的方式,由
bootlaoder
从存储系统中读取新版本
App
的二进制文件,将二进制文件写入到内部指定
Flash
空间后跳转到
App
程序入口处执行
App
程序
。
在该方法中,
bootloader
跳转到
App
后
MCU
便不再执行
bootloader
所在
flash
空间的代码,存在
flash
空间的浪费
。
且
App
代码中同时包含操作系统和应用程序,体积 ...
【技术保护点】
【技术特征摘要】
1.
一种基于
MCU
应用程序动态加载方法,其特征在于,所述方法包括:构建
App
程序动态加载特性,生成
App
二进制文件;通过内核主机程序动态加载所述
App
二进制文件,执行所述
APP
程序;所述
App
程序调用所述内核主机服务函数,完成所述
App
程序的动态加载
。2.
如权利要求1所述的基于
MCU
应用程序动态加载方法,其特征在于,构建
App
程序动态加载特性包括以下步骤:
S11
,使能
App
代码编译器的只读数据位置无关和读写数据位置无关特性;
S12
,使能
App
代码链接器的只读节区位置无关和读写节区位置无关特性;
S13
,移除所述
App
程序中的
OS
内核组件代码
、
协议栈组件代码以及
C
库组件代码;
S14
,重新定义
C
库初始化函数,定义后的
C
库初始化函数仅执行跳转至
main
函数指令;
S15
,定义所述
App
程序的入口函数,所述入口函数用以首先执行所述
App
程序读写数据加载操作,然后执行步骤
S14
中定义的
C
库初始化函数;
S16
,将步骤
S15
中定义的
App
入口函数设置为
App
代码入口;
S17
,添加所述
App
二进制文件的前导信息,前导信息包含
App
代码长度
、App
读写数据区长度以及
App
代码入口函数;
S18
,将步骤
S17
中的所述
App
二进制文件的前导信息放置在执行区域的首部;
S19
,使能编译器的
ARM/Thumb
代码互联支持特性,生成新的
App
二进制文件
。3.
如权利要求2所述的基于
MCU
应用程序动态加载方法,其特征在于,在步骤编
S11
中,所述
App
代码编译器包括
C
语言编译器和汇编语言编译器
。4.
如权利要求2所述的基于
MCU
应用程序动态加载方法,其特征在于,通过内核主机程序动态加载所述
App
二进制文件包括以下步骤:
S21
,启动
MCU
,运行内核主机程序,由内核主机程序从外部存储系统获取所述
App
二进制文件;
S22
...
【专利技术属性】
技术研发人员:朱明勋,袁凤培,王小松,郝永亮,李继云,周意,吴晨,赵立厂,谢国军,刘丰祯,胡文涛,张一波,卓敏敏,张兴华,陈辉,周远,朱前伟,张亚军,
申请(专利权)人:中煤科工集团常州研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。