如何把cc936.c存储在外部的FLASH芯片中?
最近想搞搞FATFS文件系统,但由于中文支持的话空间太大,听说可以把中文字库放到外部FLASH芯片中,可以接口STM32的内部空间,但没有思路。有哪位朋友搞过,给提示提示吧。
也在学习这部分,帮顶! 你要支持显示在LCD上么?可以买一个带有flash芯片的LCD屏,调用接口就行了。否则外扩一个flash芯片也行(看接口总线)。如果在段式LCD上,只能外扩flash芯片了。 把从 oem2unip[] 和 uni2oem[]两个数组读取元素的部分程序从外部FLASH读取就可以了,得事先用一段程序把oem2unip[] 和 uni2oem[]两个数组存入到外部flash中。
WCHAR ff_convert ( /* Converted code, 0 means conversion error */
WCHAR src, /* Character code to be converted */
UINT dir /* 0: Unicode to OEMCP, 1: OEMCP to Unicode */
)
{
const WCHAR *p;
WCHAR c;
int i, n, li, hi;
if (src < 0x80) { /* ASCII */
c = src;
} else {
if (dir) { /* OEMCP to unicode */
p = oem2uni;
hi = sizeof(oem2uni) / 4 - 1;
} else { /* Unicode to OEMCP */
p = uni2oem;
hi = sizeof(uni2oem) / 4 - 1;
}
li = 0;
for (n = 16; n; n--) {
i = li + (hi - li) / 2;
if (src == p) break;
if (src > p)
li = i;
else
hi = i;
}
c = n ? p : 0;
}
return c;
}
页:
[1]