第4期ThreadX视频教程:单片机动态APP加载玩法,像手机电脑一样加载卸载多个应用软件(2022-05-01)

视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519


 

单片机动态APP加载玩法就跟安卓应用似的,可以从SD卡,NAND,NOR,  eMMC等各种地方加载应用程序到支持执行程序的SRAM,SDRAM,QSPI Flash,内部Flash等空间执行。

而且支持MPU的话,可以隔离APP,APP死机了系统都不会挂掉。

本期视频教程将基础玩法给大家做个说明,下次视频教程来期高级玩法。

视频:

https://www.bilibili.com/video/BV1hS4y1w75u


本次视频主要分为以下几个内容:

1、应用场景和优缺点
(1) 仅需更新部分程序,协议或者功能时,可以使用动态APP,代码更新量很小。
(2) 芯片内部资源不足时,可以需要什么功能时,加载什么功能APP即可。
(3) 根据用户在主程序里面注册的一批API,实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机电脑安装APP差不多。
(4) 硬件资源需求跟大家独立使用ThreadX实现相应功能是一样的,没有额外的资源需求。

2、动态APP玩法和BOOT + APP加载玩法区别。
最大区别是BOOT程序跳转到APP后,BOOT就不再用到了,而动态APP玩法所有程序都是在运行中,APP可以调用主程序的各种API。

3、实现原理:
通过程序代码给大家介绍下原理。
(1) 主程序中动态加载管理器实现原理,只要资源够,可以加载无限个APP。
(2) 动态APP工程设计。
(3) 动态APP调用主程序API的方法。

4、实战说明:
创建了一个主程序,两个动态加载的APP程序。



例子下载:
链接:https://pan.baidu.com/s/1I6JJwKWKXHy0wR1QWeqcKw  提取码:ksek

参考资料:
官方文档:
https://docs.microsoft.com/zh-cn ... dx-modules/chapter1

MDK的C库启动过程和初始化,即__main函数的执行全过程
https://www.armbbs.cn/forum.php?mod=viewthread&tid=111658

Tag_ABI_PCS_RO_data, Tag_ABI_PCS_RW_data的作用
https://www.armbbs.cn/forum.php?mod=viewthread&tid=112196

posted @ 2022-05-04 17:52  硬汉嵌入式  阅读(460)  评论(0编辑  收藏  举报