清道夫吃什么| 寸是什么意思| 缺铁吃什么好| 挑担是什么关系| 诚五行属什么| 股癣用什么药膏好得快| 甲钴胺片治疗什么病| 女人什么时候最容易怀孕| 什么是裙带菜| 毒瘾为什么那么难戒| 韩字五行属什么| 舌系带短有什么影响| 曼波是什么意思| 拉黑粑粑是什么原因啊| 埋线有什么好处和坏处| 劫数是什么意思| 查胃病做什么检查合适| 梦见血是什么预兆| 肾上腺分泌什么激素| 窦性心动过速是什么意思| 体温低是什么原因| 西瓜能做什么美食| 时柱代表什么| 慈禧和光绪是什么关系| 靶向治疗是什么意思| 正常白带是什么样子| 蔗糖素是什么| hbv是什么病毒| 生意盎然什么意思| 腮腺炎吃什么药| 舒张压偏低是什么原因| 黄体酮是什么意思| 胃间质瘤为什么不建议切除| 10月26是什么星座| 病种是什么意思| 梦到被蜜蜂蛰是什么意思| 前列腺炎吃什么中成药| 胃得宁又叫什么名字| 手上的三条线分别代表什么| 3.15什么星座| 什么床不能睡觉| 春指什么生肖| 吐信子是什么意思啊| 皮肤一块白一块白的是什么原因| 吃什么药不能喝酒| 81年属什么的| 什么兔子最好养| 苏打水是什么水| 仙是什么意思| 尖锐湿疣是什么病| 克罗心是什么牌子| 台湾有什么特产最有名| 梅干菜是什么菜做的| 单核细胞高是什么原因| 什么是代孕| 骨加后念什么| 讥讽的笑是什么笑| 135是什么意思| 金牛座和什么星座最不配| 看破红尘是什么意思| 金代表什么生肖| 什么是漂洗| 结肠多发憩室是什么意思| 白酒兑什么饮料最好喝| 婴儿大便有泡沫是什么原因| 宫颈光滑说明什么| 眉毛旁边长痘痘是什么原因| 小便发黄什么原因| 甲亢吃什么食物好| 后厨打荷是干什么的| 什么地走| 鬼什么虎| 多囊卵巢是什么原因造成的| 甘油三酯高吃什么药好| 人事代理什么意思| 榨菜是什么菜做的| 嗓子烧灼感是什么原因| 滥竽充数的充是什么意思| 跳闸是什么原因| 浛是什么意思| 白天不懂夜的黑什么意思| 泡茶用什么杯子最好| 尿路感染用什么药好| 丝状疣用什么药膏| 苹果煮水喝有什么功效| 一九八七年属什么生肖| 常务副县长是什么级别| 黄瓜为什么不叫绿瓜| 南京为什么叫金陵| 男性左下腹疼痛是什么原因| 叔公是什么辈分| 清华大学校长什么级别| 大腿根部内侧瘙痒用什么药膏| 辛属什么五行| 什么车最长| 玉髓是什么玉| 茶卡是什么意思| 眼霜有什么作用和功效| 神采什么| 牙痛吃什么好| 疯狂动物城狐狸叫什么| 攻读学位填什么| 一什么粽子| 腊八粥是什么节日| 天下乌鸦一般黑是什么生肖| 爱之深恨之切是什么意思| 一只眼皮肿是什么原因| 非萎缩性胃炎是什么意思| 吃什么可以生精最快| 姜不能和什么一起吃| 固执什么意思| 四肢发麻是什么原因| 透明的什么填词语| 梦见儿子小时候是什么意思| 阿胶不能和什么一起吃| 掉头发缺什么| 中暑喝什么药| 科甲是什么意思| 蹂躏是什么意思| 切口憩室是什么意思| 玫瑰花和什么一起泡水喝好| 即日是什么意思| bid医学上是什么意思| 心律不齐用什么药| 分泌物发黄是什么原因| cm和mm有什么区别| 蛋白质是由什么组成的| 胆固醇低是什么原因| 尿素氮是什么意思| 医院挂号用什么app| 安欣是什么电视剧| 孕妇什么体质容易晚生| 什么样的大地| 老舍的原名是什么| 云裳是什么意思| 有什么好的赚钱方法| 居住证是什么意思| 眼睛视力模糊是什么原因| 智齿发炎吃什么| 洺字五行属什么| 外感发热什么意思| 青云志是什么意思| 什么狗不如| 炎是什么意思| 水瓶座男生喜欢什么样的女生| 北京大学前身叫什么| 草莓的种子是什么| 罗勒叶在中国叫什么| 便秘吃什么有用| ab型血生的孩子是什么血型| 生长因子是什么东西| 你的美丽让你带走是什么歌| 世界最大的岛是什么岛| 君子兰叶子发黄是什么原因| 女孩断掌纹代表什么| 运钞车是什么车| 维生素e的功效与作用是什么| 肠道长息肉是什么原因造成的| 验孕棒ct分别代表什么| 鱼有念什么| 童话故事有什么| 我不知道你在说什么英文| 陈赫什么星座| 静五行属什么| 绿色洋桔梗花语是什么| 对牛弹琴代表什么生肖| 耳轮有痣代表什么| 宝宝不爱喝水有什么好的办法吗| 芈月和秦始皇什么关系| 黑道日为什么还是吉日| 钱是什么单位| 约稿是什么意思| 50分贝相当于什么声音| 蛮什么意思| 胃幽门螺旋杆菌吃什么药| 梅花在什么季节开放| 苦瓜有什么功效和作用| 男性b超检查什么项目| aki是什么意思| winbond是什么品牌| 3月10日是什么星座| 世外桃源什么意思| 碘伏和络合碘有什么区别| 血小板低什么原因| 胰腺炎挂什么科室| 7.21是什么日子| 叶酸什么时间段吃最好| 喝酒不能吃什么水果| 什么人生病不看医生| 杏子不能和什么一起吃| 左肾轻度积水是什么意思| 康复治疗技术是什么| 去海边穿什么| 肛门长期瘙痒是什么原因| 於是什么意思| 心肌桥是什么病| 泪腺堵塞有什么症状| 血糖高不能吃什么食物| 孕期能吃什么| 吃什么药怀孕最快| 孕妇耻骨疼是什么原因| 血糖高吃什么可以降下来| 小孩晚上磨牙是什么原因引起的| 什么叫幽门螺旋杆菌| 孕妇拉肚子是什么原因引起的| 维生素b吃多了有什么副作用| 感冒头疼吃什么药| 突然想吃辣是什么原因| 曦字五行属什么| 什么是肺结核| 金牛座有什么特点| ak是什么意思| 刚怀孕肚子有什么变化| 运钞车押运员是什么人| 胸闷气短是什么原因| 卯时五行属什么| 平方是什么意思| 乳头经常痒是什么原因| 出栏是什么意思| 什么叫肺纤维化| 性格开朗是什么意思| 联袂是什么意思| carol什么意思| 尿酸高吃什么菜| 一米阳光是什么意思| 被老鼠咬了有什么预兆| 什么是强势的女人| 射手座是什么星座| 男性手心热是什么原因| 降血脂吃什么最好| 沙棘不能和什么一起吃| fabric是什么面料| 想长胖喝什么奶粉好| 胃火重吃什么药| 火车票改签是什么意思| 肾气不固吃什么中成药| 恭送是什么意思| 什么时候着床| 两毛四是什么军衔| 花椒桂圆艾绒敷肚脐有什么作用| 藕粉不能和什么一起吃| on是什么牌子| 米是什么结构| 13楼五行属什么| 曲马多是什么| pnp是什么意思| 刀枪不入是什么生肖| 救济的近义词是什么| 寿辰是什么意思| semir是什么牌子| 37属什么| 卵巢过度刺激综合症是什么| 桃子有什么营养价值| 在农村做什么| 正印代表什么意思| 尔尔是什么意思| 睾丸痒是什么原因| 什么眼霜比较好用| 手掌脱皮是什么原因| 被蜈蚣咬了用什么药| 宋江代表什么生肖| iga是什么| 什么叫双相障碍| 玉米和什么不能一起吃| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 活动中心 ? 板卡试用 ? 【换取逻辑分析仪】RGB屏幕移植ARM-2D库

共4条 1/1 1 跳转至

【换取逻辑分析仪】RGB屏幕移植ARM-2D库

工程师
2025-08-04 22:57:56   被打赏 35 分(兑奖)     打赏
百度 但玩家在这个空旷世界里能做的事情非常多,而且充满新意。

1、简介

    ARM-2D 是 Arm 公司推出的一款专为嵌入式系统优化的 2D 图形加速库,旨在提高微控制器(MCU)和嵌入式处理器的 2D 图形处理性能。它提供了一套轻量级、高效的 API,可用于 UI 渲染、图像操作和动画加速,特别适用于资源受限的嵌入式设备,如智能手表、工业显示屏和车载仪表盘等。

ARM-2D 主要特点

            可见,ARM-2D基本支持在所有的Cortex-M处理器上运行,即便是最入门级的M0处理器。ARM-2D是图形加速渲染库,不是一个专门用于GUI设计的,但它仍然提供有基本的GUI设计选项(对用户是真爱啊,点赞o( ̄▽ ̄))。它的巨大作用在于将能够统一LCD屏幕的驱动接口,为不同类型的处理器之间移植GUI应用提供便捷。同时提供软硬件渲染加速,在没有图形硬件加速外设的情况下,依旧能够提供优异的软件加速效果。

    2、ARM-2D移植

    以开发板STM32H7S78-DK为例,IDE工具为MDK Keil,介绍ARM-2D的移植过程。

    STM32H7S78-DK板载的屏幕接口为RGB并口,内部不含GRAM,因此需要使用到外部RAM。这篇文章介绍了这款屏幕的驱动过程,完成LTDC驱动后,就能够直接向屏幕写入图像数据了

    【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕-电子产品世界论坛

    e45ce793dd8ca0d8bf347dd9cc48f164.jpg

    将LTDC驱动色彩模式为RGB565

    41R[)MO1E3A0}H63[~N34QO.png

    定义显存地址,屏幕尺寸为800*480

    image.png

    #define GLCD_WIDTH     800
    #define GLCD_HEIGHT    480
    
    #define LCD_DB_ADDR   0x90000000
    #define LCD_DB_PTR    ((volatile uint16_t *)LCD_DB_ADDR)

    打开Keil的RTE配置窗口,勾选以下的ARM-2D库相关选项

    8N([%K6UZ9Q2VIXXMKEA](N.png

    如果提示缺少其他组件,则勾选左下角的Resolve,自动完成缺少组件的勾选

    image.png

    展开Acceleration,滑动至底部找到以下两个配置文件

    $W}4BVZ7W[}~[7X5X]1R)0Q.png

    arm_2d_cfg.h文件参数设置,支持由代码编辑转为面板编辑模式

    (9G%IUX~88K`X13(BAMNAUW.png

    arm_2d屏幕适配器文件设置,如果仅做简单移植只需关注方框内的参数设置即可,屏幕宽度、高度设置,PFB是屏幕缓存块大小设置,缓存块越大意味着屏幕刷新率会有所提升,但RAM占有量会提高,如果编译提示内存不足可以尝试减小PFB大小。

    RJS@2)GZMWNR@TV~B8YPZVA.png

    main.c文件添加头文件

    /* Private includes ----------------------------------------------------------*/
    /* USER CODE BEGIN Includes */
    #include "string.h"
    #include "arm_2d_helper.h"
    /* USER CODE END Includes */

    此时编译工程,会报错缺少Disp0_DrawBitmap函数的定义,这个函数声明来自arm-2d库,需要用户手动实现它的定义

    %76E0)1B]V4(8%$587KRQ58.png

    int32_t Disp0_DrawBitmap (uint32_t x, 
                             uint32_t y, 
                             uint32_t width, 
                             uint32_t height, 
                             const uint8_t *bitmap) 
    {
        volatile uint16_t *phwDes = LCD_DB_PTR + y * GLCD_WIDTH + x;//RGB屏幕显存基地址+坐标偏移
        const uint16_t *phwSrc = (const uint16_t *)bitmap;
        for (int_fast16_t i = 0; i < height; i++) {
            memcpy ((uint16_t *)phwDes, phwSrc, width * 2);         //逐行显示
            phwSrc += width;
            phwDes += GLCD_WIDTH;
        }
    		return 0;
    }

    LTDC初始化、运行arm-2d自带Demo

      /* USER CODE BEGIN 2 */
    	HAL_LTDC_SetAddress(&hltdc,(uint32_t)LCD_DB_ADDR,0);//将LCD显存地址更改为LCD_DB_ADDR
    	HAL_LTDC_Reload(&hltdc,LTDC_RELOAD_IMMEDIATE);      //重新加载LCD数据
    	arm_irq_safe {
    	     arm_2d_init();         //初始化arm-2d(安全模式)
    	}
    	disp_adapter0_init();       //初始化屏幕适配器
      /* USER CODE END 2 */
    
      /* Infinite loop */
      /* USER CODE BEGIN WHILE */
      while (1)
      {
        /* USER CODE END WHILE */
    
        /* USER CODE BEGIN 3 */
        disp_adapter0_task();       //运行arm_2d显示应用
      }
      /* USER CODE END 3 */

    3、实验结果

    默认的Demo如下图所示,同时显示当前帧率、Cpu占用、lcd刷新

    image.png

    这款开发板主控支持I/D Cache加速,在程序中开启

      /* USER CODE BEGIN 1 */
      SCB_EnableICache();    //Enable ICache  
     
      SCB_EnableDCache();    //Enable DCache  
      /* USER CODE END 1 */

    刷新速率改善显著,尝试增大PFB大小

    image.png

    更改PFB大小,高度PFB由48改为240

    `K8WL9`DEUTZ7H2(X8US6MW.png

    帧率大幅提高,并且cpu占有率由50%降至37%

    image.png

    4、arm-2d性能评测应用

    arm-2d内置了两个性能评测应用,用于评估当前主控芯片的GUI渲染性能,勾选第一个评测应用

    Z2$IB[_8T55OL$%_L]9]]T3.png

    main.c文件修改,导入评测应用头文件

    /* Private includes ----------------------------------------------------------*/
    /* USER CODE BEGIN Includes */
    #include "string.h"
    #include "arm_2d_helper.h"
    #include "arm_2d_disp_adapters.h"
    #include "arm_2d_scenes.h"
    #include "arm_2d_benchmark.h"
    /* USER CODE END Includes */

    运行性能评测应用

      /* USER CODE BEGIN 2 */
    	HAL_LTDC_SetAddress(&hltdc,(uint32_t)LCD_DB_ADDR,0);//将LCD显存地址更改为LCD_DB_ADDR
    	HAL_LTDC_Reload(&hltdc,LTDC_RELOAD_IMMEDIATE);      //重新加载LCD数据
    	arm_irq_safe {
    	     arm_2d_init();         //初始化arm-2d(安全模式)
    	}
    	disp_adapter0_init();       //初始化屏幕适配器
    	arm_2d_run_benchmark();     //开启性能评测
      /* USER CODE END 2 */
    
      /* Infinite loop */
      /* USER CODE BEGIN WHILE */
      while (1)
      {
        /* USER CODE END WHILE */
    
        /* USER CODE BEGIN 3 */
        disp_adapter0_task();          //运行arm_2d显示应用
      }
      /* USER CODE END 3 */

    实验效果,当前动画demo的刷新率为42fps

    screenshots.gif






    关键词: ARM-2D移植    

    助工
    2025-08-04 10:39:50     打赏
    2楼

    感谢分享


    工程师
    2025-08-04 19:16:36     打赏
    3楼

    大佬对这个研究比较有意义。


    专家
    2025-08-04 20:45:52     打赏
    4楼

    这个2D应用的开发对资源要求挺高吧?


    共4条 1/1 1 跳转至

    回复

    匿名不能发帖!请先 [ 登陆 注册 ]
    猫咪来家里是什么寓意 静字五行属什么 尿道感染用什么药 高血压用什么药最好 公积金缴存基数是什么
    山东登州府现在叫什么 老虎头是什么牌子衣服 唱歌有什么好处 个性是什么意思 什么病会吐血
    极核是什么 负离子有什么作用 天秤座和什么星座最不配 台风是什么意思 总是感觉口渴是什么原因
    芊字五行属什么 blazer是什么意思啊 木有什么意思 头晕是什么原因 口坐读什么
    长痘要忌口什么东西hcv9jop3ns4r.cn 舌头发紫是什么原因aiwuzhiyu.com 肝风内动吃什么中成药hcv9jop8ns3r.cn 西洋参吃了有什么好处hcv9jop5ns5r.cn 咦是什么意思hcv7jop9ns9r.cn
    维酶素片搭配什么药治萎缩性胃炎yanzhenzixun.com 左肺钙化灶是什么意思cl108k.com 靶向治疗是什么意思hcv9jop6ns4r.cn 起眼屎是什么原因hcv9jop5ns2r.cn 牛奶可以做什么美食jingluanji.com
    牙齿打桩是什么意思hcv8jop6ns0r.cn 西兰花和什么菜搭配hcv7jop6ns6r.cn 甲醛超标有什么危害hcv9jop7ns1r.cn 什么情况不能献血hcv8jop9ns0r.cn 大学211和985是什么意思onlinewuye.com
    推头是什么意思hcv9jop0ns1r.cn 阑尾炎吃什么药creativexi.com 幽闭是什么意思bysq.com 银鱼是什么鱼hcv9jop1ns3r.cn 扫地僧是什么意思hcv8jop3ns3r.cn
    百度