硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2384|回复: 0
收起左侧

RA8875屏的字库和图库flash的地址偏移问题,自制图库要注意的问题

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2017-6-14 15:08:15 | 显示全部楼层 |阅读模式
当前给开发板配套的屏基本都是三代屏了,这个屏的字库和图库都是存在一个flash里面了。前面是字库后面是图库
图库是调用的函数:
void RA8875_DispBmpInFlash(uint16_t _usX, uint16_t _usY, uint16_t _usHeight, uint16_t _usWidth,
    uint32_t _uiFlashAddr)
================================================
这个函数的最后一个参数是图片的首地址。问题就在这个地址上。这个函数里面的代码:

    /* 对于铁框屏,一片 W25Q128,前面2MB是字库。后面14MB是图片 */
    if (g_tW25.ChipID == W25Q128)
    {
        _uiFlashAddr += PIC_OFFSET;    /* 前面2MB分配给字库 */    --------------->这里是个问题                                                   
        #ifdef FLASH_DUAL_SPEED_EN            /* 双速模式, MOSI和MISO同时读取数据 */
            RA8875_WriteReg(0x05, (0 << 7) | (0 << 6) | (1 << 5) | (0 << 3) | (1 << 2) | (2 << 0));
        #else                /* 普通模式,仅 MISO 读取数据 */
            RA8875_WriteReg(0x05, (0 << 7) | (0 << 6) | (1 << 5) | (0 << 3) | (1 << 2) | (0 << 0));
        #endif        
    }   
    else    /* 增强型屏,1片W25Q64(8MB)做字库,1片W25Q64(8MB)做图库 */
    {
        #ifdef FLASH_DUAL_SPEED_EN            /* 双速模式, MOSI和MISO同时读取数据 */
            RA8875_WriteReg(0x05, (1 << 7) | (0 << 6) | (1 << 5) | (0 << 3) | (1 << 2) | (2 << 0));
        #else                /* 普通模式,仅 MISO 读取数据 */
            RA8875_WriteReg(0x05, (1 << 7) | (0 << 6) | (1 << 5) | (0 << 3) | (1 << 2) | (0 << 0));
        #endif   
    }
===================================
如果大家自己弄字库和图库注意这个地址偏移。比如我们自己的出厂程序里面,字库虽然是2MB的,但是经过这个函数,地址偏移已经是4MB了,这点特别注意:
比如你写第一个图片海滩的地址0x0200 0000,实际上是访问的0x0400 0000地址了。
QQ截图20170614150422.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 00:17 , Processed in 0.220641 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表