嵌入式开发--蒹葭的专栏

Care and Diligence Bring Luck.(谨慎和勤奋才能抓住机遇!)

张志龙ID:flylonginsky
158265次访问,排名425好友1人,关注者10
越来越老。。。。。。
flylonginsky的文章
原创 86 篇
翻译 0 篇
转载 8 篇
评论 111 篇
蒹葭的公告

奋斗永无止境
怎么说呢?混迹于IT,确实需要一点勇气和信仰。不管如何,我依然做一个勇敢的探索者。 Gold Price per Gram in China Yuan Renminbi
最近评论
vvukqr:WoW Gold
jeffery223:写的很详细!
仔细看了一下!
liangyuquan:很好的
ggggqqqqihc:这样的文章要多多转载呀。

我们学校里除了我和另一个几乎就没有人知道堆和栈的区别了。
strawberrybin:我在韩国现在上研究生,我们实验室是研究嵌入式系统这方面的,主要做Nand FIash Mermory方面的项目,对嵌入式系统方面要求很高,有所研究,希望与您互相沟通交流经验
MSN:strawberrybin@hotmail.com
文章分类
收藏
相册
工作花絮
那人那事
引用
山外有山
Bekars涡轮增压的Blog
linux应用开发电子报(RSS)
叶帆工作室(RSS)
胶管的Blog(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
2008年05月

原创 RM9200中flash文件系统的移植

flash文件系统在嵌入式linux系统中是必须的,无论是作为只读的根文件系统还是作为可写的用户文件系统。目前在linux-2.6.14内核上 移植flash文件系统。下载相应内核,打好at91rm9200的补丁后,却发现先前移植nand文件系统的方法在flash文件系统中完全不行。只好从头开始了。 星光AT91RM9200开发板的flash芯片是SST39VF3201,16 位 ,4M 。按目前计划,准备分区为三个区,分别为uboot(0x40000), kernel(0x1c0000), rootfs(0x200000), 应该可以将linux的最小系统跑起来的。 首先,添加MTD分区的底层驱动文件,在drivers/mtd/maps下添加at91rm9200.c文件,该文件是flash分区的基本驱动文件,包含分区信息、芯片识别等基本flash文件系统的底层实现。事实上,该文件并不需要从头开始创建,可以参考该目录下其它文件来修改,如edb7312.c。代码如下阅读全文>

发表于 @ 2008年05月30日 10:28:00|评论(loading...)|编辑

原创 文件读写操作的缓存机制

在使用fwrite, fread时,并不是每调用一次就对文件进行读写操作。标准I/O为write,read之类的调用提供了缓存。它对每个I/O流自动的进行缓存管理,避免应用程序需要考虑这点所带来的麻烦。这样做的目的是避免频繁I/O操作浪费大量时间。然而,我们在实际编程中往往欠考虑I/O 缓存机制,从而带来许多意想不到的麻烦。 缓存有三种类型,分别是全缓存,行缓存,不带缓存(见一本伟大的书《Unix 环境高级编程》)。一般我们操作磁盘上文件的时候,用全缓存的类型。即调用读写函数填满缓存后,才真正对文件进行一次读写操作。 我们可以通过setbuf或者setvbuf来改变缓存类型,。在libc中,默认的缓存大小为8k字节,见stdio.h (#define _G_BUFSIZ 8192) 。我们可以根据我们需要来改变这个缓存大小。 任何时候,我们都可根据需要通过调用fflush()强制刷新一个流,这样可使得缓存没填满的情况下,对文件进行实际的操作。通常这种情况出现在数据流的末尾。如果你经常出现数据在文件末尾丢失的情况,那么就要考虑是否要用fflush来将缓存的内容写入文件。 当阅读全文>

发表于 @ 2008年05月07日 15:07:00|评论(loading...)|编辑

Csdn Blog version 3.1a
Copyright © 蒹葭