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 字节数都是一样的也就是说默认的字库也被同时烧写进去了,请问如何解决以上问题?
---期待回复,非常感谢----
两个错误
Hi songshuwp,
这两个问题应该是代码量超过SDK中FLASH分区表中规定的代码量。解决方案请参考以下文档。
http://lpccs-docs.dialog-semiconductor.com/tutorial_da1469x_supporting_f...
代码外的字库、图片以及其他用户数据最好不要随程序一起打包编译,可以定义FLASH分区来保存这些数据。
BR,
Kevin