2 posts / 0 new
Last post
songshuwp
Offline
Last seen:3 weeks 3 days ago
Joined:2019-03-29 03:10
LCD--emwin-外部XBF字库如何生效

Dialog您好:

我现在使用DA14695 Pro开发板开发基于emwin的lcd文字显示功能,遇到如下两个error:

(1)section `.text' will not fit in region `ROM' (2)region `ROM' overflowed by 45296 bytes

查找了相关的问题记录找到:https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...这个相似的问题记录,判断应该是我调用了 "GUI_DispString("xxxx");" 函数导致字库被烧录进入Rom导致overflow。然后又按照AN-B-074: DA1469x emWin Graphic Library and GUIsection10,指导将自己生成的XBF字库 使用Smartsnippets Tools 烧录到了flash里面,再emwin相关的Font设置中按照指导设置如下:

---------------------------------------------------------------

#define USE_XBF_FONT 1
#if USE_XBF_FONT
static GUI_XBF_DATA * pDataXBF;
static USERDATA_EXTERNAL_RESOURCES UserDataXBF;
static GUI_FONT * pFontXBF;
#endif

#if USE_XBF_FONT
// Prepare data required to retrieve the font information from the flash partition
UserDataXBF.Offset = PARTITION_OFFSET_XBF_FONT;
UserDataXBF.PartitionID = PARTITION_ID_XBF_FONT;

// Retrieve the custom font stored in FLASH
_XBFCreateFont(&pFontXBF, &pDataXBF, XBF_FONT_TYPE, &UserDataXBF);
#endif

GUI_Init();
GUI_SetFont(pFontXBF);

--------------------------------------------

但是还是报:

(1)section `.text' will not fit in region `ROM' (2)region `ROM' overflowed by 45296 bytes

overflow的ROM 字节数都是一样的也就是说默认的字库也被同时烧写进去了,请问如何解决以上问题?

---期待回复,非常感谢----

两个错误

Device:
KevinL
Offline
Last seen:2 weeks 1 day ago
Staff
Joined:2017-11-06 13:52
Hi songshuwp,

Hi songshuwp,

这两个问题应该是代码量超过SDK中FLASH分区表中规定的代码量。解决方案请参考以下文档。

http://lpccs-docs.dialog-semiconductor.com/tutorial_da1469x_supporting_f...

代码外的字库、图片以及其他用户数据最好不要随程序一起打包编译,可以定义FLASH分区来保存这些数据。

BR,

Kevin