方案需要中文字库,由于GB2312的字库较大,调试起来麻烦点,先从英文字库讲起,
这个做好了,换个字库的数据文件,并修改下字宽与字高,及查找算法,就可以了,呵呵,
首先用字库生成英文字符库,共255个,
将生成的data文件加ADS的汇编指令incbin包含并修改scatter文件编译到NORFLASH的固定地址,
然后用Image$$MY_FONT_DATA##Base来取得字库文件的首地址,
然后就可以当一个DOS的英文点阵字库用了,
scatter文件写法:
……………………
MCU_STARTING_PGM 0x48000
{
ASM_Boot.o (BOOT_AREA,+FIRST)
ASM_Scatter.o (+RO) }
DATA_LT_FONT +0x00
{
LtGUI_FONT.o (+RO) // LtGUI_FONT.s文件
}
……………………
LtGUI_FONT.s文件写法:取得字库首地址:
const U8* LIB_englishcharcode = (const U8*)Image$$DATA_LT_FONT$$Base ;
这样就可以使用英文字库了,
对于中文字库,还要注意转换位置与汉字码,例如GB2312字库,转换换法如下:
文章评论(0条评论)
登录后参与讨论