针对已有的经典Cortex-M内核,诸如Cortex-M0/M0+/M3/M4/M7/M33等,Arm-2D提供了经过优化了的软件加速库——虽然在资源丰富的环境下,Arm-2D在这些传统处理器上无法与市面上各类GUI在同等条件下拉开性能差距,但在大部分GUI都无法覆盖的小资源处理器上,Arm-2D却提供了以极其低廉的手段实现智能手机级别GUI的可能性。
Arm为能够模拟Cortex-M55和U55的开发板MPS3提供了免费的Fast Model(FVP_Corstone_SSE-300),而Arm-2D也几乎在每一个例子工程中都提供了对应的工程——只不过你需要手动的对FastModel进行配置。步骤如下: 1、打开如下连接: https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software...
假设你已经根据《【玩转Arm-2D】入门和移植从未如此简单》的描述,完成了arm-2d的部署,并且成功的加入了一个Display Adapter,此时我们应该能看到这样的效果: 此时,打开RTE,展开Acceleration后在Arm-2D Helper中找到Scene: 如果你的界面中找不到Scene,说明你的arm-2d cmsis-pack版本较老,可以关注公众号【裸机思维】后...
虽然并没建立第三方2D跑分的意愿,Arm-2D为了展示不同处理器(及不同硬件加速器)在典型GUI负载下的2D处理能力,本着“实在找不到只能硬着头皮自己上”的态度,提供了一个参考的2D性能跑分——官方的名称是:实现30FPS所需的最小处理器频率:Minimal Frequency Required for 30FPS(MHz)。 其实际原理是这样的: 建立一...
这里,关键字IMPL_ARM_2D_REGION_LIST() 和配套的 END_IMPL_ARM_2D_REGION_LIST() 定义了一个用户指定名称的脏矩阵列表。在它们包裹的区域内,我们只能通过关键字ADD_REGION_TO_LIST()和ADD_LAST_REGION_TO_LIST()来添加具体的矩形区域到列表中。 其中,列表的最后一个元素由ADD_LAST_REGION_TO_LIST() 来添...
从2021年3月31日在Github上公开算起,Arm-2D已经从青涩中逐渐成熟(从0.9.x版本一路进化到1.0.0-preview)、从寄人篱下到自立门户(拥有了不久即将公开的独立的仓库https://github.com/ARM-software/Arm-2D)。 在部署方式上,经过社区的大量反馈和测试,终于来到了“点几下鼠标”就能轻松部署的时代——如何使用CMSIS...
那么,作为“吃瓜群众的我们”是不是可以进一步理解为:Arm-2D服务的是芯片厂商和GUI服务提供商,而且Arm-2D提供的便利对普通的GUI用户来说是不可见的。 既然如此:Arm-2D“关我屁事”?散了散了。 然而,事实并非如此。 【普通开发者也是目标客户】 如果草率的判断 Arm-2D 只是嵌入式版本的 Direct2D,而与普通开发者...
【Arm-2D的部署很简单】 Arm-2D的基本设计理念是“傻瓜化”,它表现在部署上就是: 支持“无脑”添加所有 C 源文件; 默认情况下无需复杂配置; 使用前,调用 arm_2d_init() 即可。 本身占用RAM极小; 支持最高优化等级(-O3,-Os,-Oz,-Ofast,-Omax,-Omin) ...
如下图添加ARM2D。 如下图添加perf_counter。 再就是CMSIS包,需要添加DSP库。 添加pack完成后的样子。 下一步配置ARM2D的arm2d_cfg.h和displcd的 下面lcd驱动函数实现下图的绘图函数。 用户应用文件添加相关头文件。 然后主函数添加初始化。 用户文件添加时间测量函数 ...
所有的适配文件都在gui/arm2d/oneos_port目录下: arm_2d_cfg.h arm_2d_disp_adapter_0.h arm_2d_disp_adapter_0.c arm_2d_port_disp.c arm_2d_port_init.h arm_2d_port_init.c 其中,大概功能如下: arm_2d_cfg.h是 Arm-2D 的一些基础配置,包括色彩深度、屏幕高宽、PFB 块大小等 ...