您的位置:首页 > 其它

找了份工作, 会涉及到STM32芯片. 把最近学习的东西跟大家分享一下.

2010-10-06 10:50 471 查看
用的是DX32 大虾的开发板. 功能比较全, 仿真器也不贵, 是被和谐的版本.

最近仔细看了一下文件系统, 彻底弄明白了以前在移植busybox对文件系统还是很模糊的概念.

简单讲一下心得

1 文件系统

如果要与SD卡 U盘这些介质打交道,那就一定要弄明白文件系统的概念. 说白了 文件系统就是先格式化磁盘, 然后建立磁盘分区表, 之后的任务就是建立每个文件的存储路径, 起始地址和结束地址,方便程序将某个文件的data数据取出来.

我会放几个自己看的关于文件系统的资料上去供下载.

2 sd卡

SD卡仔细看规格书发现sd卡有2种模式 分别是 SD mode 和SPI mode. SPI 是完全的串行模式, 单线串行, 速度较慢. SD模式是4条线作为数据线, 单独一条线作为com线, 所以传输速度比SPI模式快4倍.

关于SD 模式和spi模式的转换: sd卡上电复位就默认是SD模式, 但是可以有一个指令通过com线,让sd卡转换模式到SPI模式.如果在spi模式要回到SD模式, 唯一的途径是reset SD卡.

SD卡卡座比SD卡多了3个pin, 分别为 插入检测 公共端, 和lock检测. 原来SD卡有个lock的开关并不是直接锁sd卡上的芯片, 而是通过sd卡插座来实现的,就像以前的tape卡带一样.

3 汉字库的问题

汉字库是一个文件, 可以存在sd卡上. 也可以存在其他介质上. 我这个开发板是把sd卡上的对应字库文件copy到flash里面, 然后stm32芯片直接从flash的指定起始地址开始寻单字地址.

一个汉字可以认为是2个ascii码, 就像字符abcd1234这些一样., 输入汉字给c代码以后, 会得到一个16位的数据, 经过公式处理后可以得到一个值, 这个值就是这个字在汉字库文件中的位置, 然后可以把字摸从汉字库取出来 显示就完了. 不同内码的处理公式不同.

不同字体的汉字, 内码是完全一致的, 只是挂了不同font的字库而已.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐