第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