您尚未登录。

楼主 # 2023-11-17 20:53:23

ArtInChip
会员
注册时间: 2023-11-11
已发帖子: 167
积分: 173

MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

一、什么是XIP

XIP(eXecute In Place)技术是一种在嵌入式系统中执行代码的方法,它允许代码直接在存储器中执行,而无需将代码复制到RAM中。它通常用于嵌入式系统中,如微控制器、嵌入式Linux系统等。


二、实现XIP有哪些优势

1. 节省内存空间:由于代码直接在存储器中执行,不需要将代码复制到RAM中,因此可以节省宝贵的内存空间。这对于资源受限的嵌入式系统尤为重要。
2. 提高性能:XIP技术可以减少代码加载和执行的时间,从而提高系统的性能。因为代码直接在存储器中执行,无需复制到RAM中,减少了数据传输的时间和功耗。
3. 简化系统设计:XIP技术可以简化系统设计,减少对RAM的需求。这意味着可以使用更小容量的RAM芯片,降低系统成本。
4. 提高系统可靠性:由于XIP技术避免了代码复制的过程,减少了因为复制错误导致的系统崩溃的风险。此外,存储器中的代码通常是只读的,不容易被病毒或恶意软件修改,提高了系统的安全性和可靠性。


三、匠芯创ArtInChip芯片平台如何实现XIP(详细内容请参考开发手册)

拿ArtInChip D13x系列举例,先下载SDK,配置好开发环境。

1. 一键配置编译,Luban-Lite 关于 Bootloader 和 RTOS 两部分固件的编译配置

2. XIP相关配置

    * Bootloader 阶段需要使能 XIP 启动指令,并配置 NOR Flash 的 XIP 相关命令。
    * RTOS 是在 NOR Flash 上运行的代码,其中包括 `<span class="pre">.text</span>` , `<span class="pre">.data</span>` , `<span class="pre">.bss</span>` , `<span class="pre">.rodata</span>` Section 需要在链接脚本中指定配置, 由于 XIP 模式下的 NOR Flash 是只读操作,因此 `<span class="pre">.data</span>` Section 需要在编译制作 os.img 时,需要分段打包, 相关的编译打包脚本也需要做调整, 在 Luban-Lite 中,用户可通过 Menuconfig 来配置相关信息。

3. 非XIP与XIP对比数据

    | 测试项目         | 非XIP 模式     | XIP 模式       |
    | --------------- | -------------- | -------------  |
    | 启动速度(sec)  | 0.433           | 0.481          |
    | 显示帧率(FPS) | 29-46 (37) | 27-39(29)|
    | CPU占用率(%) | 15-37           | 18-40         |

4. 常见问题

    问题:Winbond 颗粒,配置 XIP 模式后,马上通过 XIP 访问 Flash ,出现 32Bytes 数据是 0xcc

    解决方法:需要加入延时,大概100ms.(Workaround,但不影响其他启动模式,问题只在 XIP 启动模式下存在)

5. 功能特性:

    * 支持 XIP 执行程序
    * 支持 XIP 数据访问

6. 原理框图
    1.png


总结:ArtInChip RTOS平台XIP技术通过在存储器中执行代码,节省内存空间,提高性能,简化系统设计,提高系统可靠性等方面具有优势,特别适用于资源受限的嵌入式系统平台,譬如D13x系列和D12x系列微控制器MCU。

离线

#1 2023-11-18 20:13:59

tomyqg
会员
注册时间: 2019-12-06
已发帖子: 48
积分: 28.5

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

nor只读,文件系统还得挂个nor?

离线

楼主 #2 2023-11-19 00:01:35

ArtInChip
会员
注册时间: 2023-11-11
已发帖子: 167
积分: 173

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

tomyqg 说:

nor只读,文件系统还得挂个nor?

Nor不是只读

离线

#3 2023-11-19 11:38:05

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 522
积分: 643
个人网站

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

tomyqg 说:

nor只读,文件系统还得挂个nor?

这应该是在问,同一块NorFlash是否可以XIP一个分区的同时另一个分区挂文件系统?

离线

楼主 #4 2023-11-19 14:55:22

ArtInChip
会员
注册时间: 2023-11-11
已发帖子: 167
积分: 173

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

海石生风 说:
tomyqg 说:

nor只读,文件系统还得挂个nor?

这应该是在问,同一块NorFlash是否可以XIP一个分区的同时另一个分区挂文件系统?


可以的

离线

#5 2023-11-20 09:15:37

jiaowoxiaolu
会员
注册时间: 2021-08-27
已发帖子: 41
积分: 57

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

最重要的加密怎么搞

离线

楼主 #6 2023-11-20 12:55:57

ArtInChip
会员
注册时间: 2023-11-11
已发帖子: 167
积分: 173

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

jiaowoxiaolu 说:

最重要的加密怎么搞

参见https://mp.weixin.qq.com/s/-AYcYpnjQIRtlXt0fLx1tQ

离线

#7 2023-12-01 12:13:47

Rafx
会员
注册时间: 2023-11-22
已发帖子: 17
积分: 12

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

ArtInChip 说:
jiaowoxiaolu 说:

最重要的加密怎么搞

参见https://mp.weixin.qq.com/s/-AYcYpnjQIRtlXt0fLx1tQ

请问13系列也支持加密嘛

离线

楼主 #8 2023-12-01 13:16:15

ArtInChip
会员
注册时间: 2023-11-11
已发帖子: 167
积分: 173

Re: MCU内存小怎么办?ArtInChip RTOS平台XIP技术揭秘

Rafx 说:
ArtInChip 说:
jiaowoxiaolu 说:

最重要的加密怎么搞

参见https://mp.weixin.qq.com/s/-AYcYpnjQIRtlXt0fLx1tQ

请问13系列也支持加密嘛

支持。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn