|
本帖最后由 wdluo 于 2012-9-7 17:59 编辑
简要介绍:
MCU:msp430f149 SD卡:闪迪4G,加Tiny-fatfs文件系统。代码很简单,实现也比较简单。sd驱动是网上找的,稍微改了下。这个要多谢那些开源的大牛们。
调试经历:
这个最重要了,主要讲下这个。原来我做过sd v1.0的卡的驱动,不过是在pic32上。这次我再做这个msp430f149的sdhc卡,郁闷了很久。
1、开始没注意看msp430f149的文档(以前没接触过msp430),同事说flash有60kb,我当时想ram应该不小吧。至少10kb的样子(实际2kb),事实上这个上面吃了大亏。所以一定要看芯片文档啊。
2、后面调节fatfs为tiny模式,调试还是不行。这时就怀疑是不是我的sd驱动写的不对,我用IAR Embedded Workbench for MSP430 V1.26B Evaluation version(一个很让人郁闷的东西)调试,发现读写扇区居然不对。这样我就改写sd驱动,给初始化,读写里面加延时(事实上大牛们是对的)。后面最终是这样的,写了一个扇区后,应该延时200ms,再去读,就ok了。
3、重新回到fatfs系统上找问题,发现检查文件系统(chk_mounted这个函数返回有错),说有错误。这下可郁闷了,fatfs这么多人用,怎么会有误。这下又回到IAR这个老家伙调试工具了,折腾两天才发现内存还是不够(是在老的产品上加sd)。可能是心有点烦了,当时不敢确认,又折腾了一天。最后没办法,只能把产品上原来功能全部去掉,只做sd功能,ok了。哎,为什么第一天就没想到,调试新功能的时候。先把影响新功能的所有因素先排除掉(就只调试新的,原来的都不管)。
|
|