在上一节,介绍了eCos STM32 SD/MMC Card driver前面2个步骤的调试情况,SD卡可以mount成功并能成功打开目录和读取SD卡目录文件列表信息。但是在SD卡中创建新目录和文件时则会失败,严重的是还破坏了SD卡中文件系统数据,导致SD卡目录和文件数据的丢失。
这是怎么一回事呢?本节除了解决这个问题外,还修复了eCos Disk IO层和eCos FAT文件系统中存在的bug,以及更新了读取SD卡存储信息的相关代码。
在“境况不妙,何去何从?”一文中曾说了说自己最近迷茫的境况。但在接下来的日子一直到8月6号,却发生了一些意料之中又是意料之外的事情。我们几个根据当时所处的情势,保持强硬的态度,不受于诱惑、不受于威胁,最终取得了关键性的胜利——9月初转调其它部门工作。
感觉这段时间就像经历了一场艰苦的战斗,虽然取得了“胜利”,但仍是心有余悸、感慨良多……
前前后后经过了一个多月时间,终于在eCos中实现了STM32的SD卡驱动。相比而言,SD卡驱动不仅代码量大,还涉及eCos块驱动(disk驱动)体系、SD/MMC存储卡、FAT文件系统、块缓存、文件操作等多方面的知识点。
从本节开始,以eCos STM32 SD卡驱动为切入点,一起来了解eCos块设备驱动、文件系统、文件操作等知识点。本节主要介绍eCos disk设备驱动体系结构。
随着万圣节越来越流行,我感觉有必要跟大家讨论一下一个在软件开发中非常普遍的问题:僵尸代码。几乎所有我接触过的代码库里都四散着很多小段的,甚至大片大片的被注释掉的代码。这就是僵尸代码。
// 目前禁用这项功能。Jimmy在写这段代码时肯定是喝醉了。
// 你可能以为这里发生了恐怖的代码凶手安…不,不,我只是把它们注释掉了…
为什么称它们为僵尸代码?你知道,僵尸不并不是真的死的。就像恐怕电影里告诉我们的,尽管僵尸看起来是死人,但它们仍有能力四处出没袭击我们。相同的道理,僵尸代码也是处于不生不死之间…
什么?eCos也要打补丁(put a patch)?
看到文章标题时,我估计有人很惊讶,并且会发出上面类似的问题。也许你听说过windows打补丁而且关于这个还是出了名 的,听说过linux打补丁而且有专门的diff和patch命令。确定的是,在eCos中,补丁同样存在。
本文就来说说eCos中补丁的那些事以及怎样给eCos打补丁。 阅读全文 »
谈及linux补丁(patch)及其patch操作,自然而然地觉其复杂,故一直存敬畏之心,所以也就一直远离它。但像做嵌入式linux开发,有时候patch是无法绕过的。
对于补丁制作与应用,实际上就是掌握linux diff和patch命令的使用,而这两个命令与linux其它命令一样,也是比较容易掌握的。如果你也有与我之前一样的敬畏心理,建议你不如早早放下这个心理包袱,赶紧掌握这个知识点。 阅读全文 »
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha |