硬汉嵌入式论坛

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

[emWin] BXF外置到SPI flash 硬件错误

[复制链接]

1

主题

0

回帖

1

积分

新手上路

积分
1
发表于 2017-9-29 17:25:22 | 显示全部楼层 |阅读模式
各位大牛,新手初来乍到,项目中想使用字库外挂到外部的spi flash中,按照安富莱的教程的步骤。
用font convert 生成的字库,通过文件合并助手变成了bin,文件,然后通过串口写进spiflash中,通过地址偏移得知,偏移的大小和文件大小一致,初步确认是写进flash里的。


#define   XBF_Font16BaseAdd    0x00000000GUI_XBF_DATA XBF_Data16;
GUI_FONT     XBF_Font16;void         *Fontfile16;
/* Song typeface 24 */#define   XBF_Font24BaseAdd    0x0000ED58
GUI_XBF_DATA XBF_Data24;GUI_FONT     XBF_Font24;
void         *Fontfile24;-------------------------------------------以上是定义宋体16 和宋体 24-----------------------------------------------------------------------------------

static int _cbGetData16(U32 Offset, U16 NumBytes, void * pVoid, void * pBuffer){  
    // sf_ReadBuffer(pBuffer, XBF_Font16BaseAdd + Offset, NumBytes);       Nor_Flash_Read_Data( XBF_Font16BaseAdd + Offset, NumBytes, pBuffer);
     return 0;}
---------------------------------------------这个是读取文库自spiflash的地址--------------------------------------------------------------------------------

void GUI_SetXBF(void){
     /* ??16???? */     GUI_XBF_CreateFont(&XBF_Font16,           
                        &XBF_Data16,                                  GUI_XBF_TYPE_PROP_AA2_EXT,   
                        _cbGetData16,                                 &Fontfile16);         

}-------------------------------------------------------设置字体-----------------------------------------------------------------------------------------------------

            GUI_SetXBF();                GUI_UC_SetEncodeUTF8();
        GUI_SetFont(&XBF_Font16);         ==========================》调用这个接口的时候,就硬件错误了,是哪里非法指针还是越界了?哪里出了问题?        GUI_DispStringAt("苏州", x_pos, 20);
        x_pos ++;        x_pos %= 300;
-------------------------------------------------------------这个是实现--------------------------------------------------------------------------------------------
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-9-30 00:29:59 | 显示全部楼层
有两个问题,一个是你的这个函数,这么操作不会造成SPI Flash的越界吧
Nor_Flash_Read_Data( XBF_Font16BaseAdd + Offset, NumBytes, pBuffer);

另外一个是你创建的这个字体GUI_XBF_TYPE_PROP_AA2_EXT,类型,跟你实际使用FontCvt转换的匹配吧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 00:32 , Processed in 0.231937 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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