本帖最后由 刺猬ZDYZ 于 2018-4-13 15:53 编辑
做字库的时候,想要把GBK12、GBK16、GBK24、GBK32都写入spi flash(W25Q128)大致算了一下spi flash的空间,128Mb = 16M字节,而fatfs+unigbk+字库信息+4个字库 加起来有18M,按理应该是不能全部写进入
不过我还是打算试试看看结果会怎么样,没想到最终都写进去了,而且扫描字库的时候都是正常的,这是为啥,求大牛帮忙解释下,谢谢部分代码:
//WarShip STM32F103 V3是从12M地址以后开始存放字库
//前面12M被fatfs占用了.
#define FONTINFOADDR 1024*1024*12
附图:
下面是4个字库的大小:
执行到f_close(fftemp),查看offx+flashaddr = 0x002EC200+0x00F16B31 = 18M(理论上是越界了)
结果显示:
显示正常,扫了一遍看了下,20000多个汉字都正常
原子哥的理解是什么,为啥能超出
最怕出现安全隐患了
关键是你如何确定这个字有没有重复。这个很关键。
因为我是GBK12 GBK16 GBK24 GBK32 4种字体一起扫描显示的,4个字一直都是显示一样的,如果有重复,只能说明前面的3种字体也有重复,事实上,整个扫描过程中,4个字体显示的字都是一样的,我觉得应该没重复的问题
嗯嗯,我试试
一周热门 更多>