﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-嵌入式-随笔分类-工作日志</title><link>http://www.cnitblog.com/zouzheng/category/1842.html</link><description>要像阿甘一直向前奔跑！</description><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 13:29:25 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 13:29:25 GMT</pubDate><ttl>60</ttl><item><title>关于ubuntu没有默认inittab文件使用收集</title><link>http://www.cnitblog.com/zouzheng/archive/2010/07/01/67120.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 01 Jul 2010 01:35:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2010/07/01/67120.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/67120.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2010/07/01/67120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/67120.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/67120.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: sorry,这是从网上搜集一些关于Ubuntu没有默认的inittab文件使用，请各位见谅，谢谢&nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2010/07/01/67120.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/67120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2010-07-01 09:35 <a href="http://www.cnitblog.com/zouzheng/archive/2010/07/01/67120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WinSCP  Free SFTP, FTP and SCP client for Windows  </title><link>http://www.cnitblog.com/zouzheng/archive/2008/06/27/46009.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Fri, 27 Jun 2008 03:26:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/06/27/46009.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/46009.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/06/27/46009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/46009.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/46009.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Windows和Linux两个系统下可以进行文件传输&nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/06/27/46009.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/46009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-06-27 11:26 <a href="http://www.cnitblog.com/zouzheng/archive/2008/06/27/46009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VMware Workstation无法卸载, 且不能重装问题解决! </title><link>http://www.cnitblog.com/zouzheng/archive/2008/06/26/45998.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 26 Jun 2008 09:59:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/06/26/45998.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/45998.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/06/26/45998.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/45998.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/45998.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 虽然不是很喜欢用虚拟机，但还是试用下&nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/06/26/45998.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/45998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-06-26 17:59 <a href="http://www.cnitblog.com/zouzheng/archive/2008/06/26/45998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对uboot移植的点滴记录</title><link>http://www.cnitblog.com/zouzheng/archive/2008/04/02/41821.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Wed, 02 Apr 2008 07:20:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/04/02/41821.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/41821.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/04/02/41821.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/41821.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/41821.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/04/02/41821.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/41821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-04-02 15:20 <a href="http://www.cnitblog.com/zouzheng/archive/2008/04/02/41821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这几天犯的愚蠢错误</title><link>http://www.cnitblog.com/zouzheng/archive/2008/04/02/41817.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Wed, 02 Apr 2008 06:26:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/04/02/41817.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/41817.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/04/02/41817.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/41817.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/41817.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/04/02/41817.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/41817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-04-02 14:26 <a href="http://www.cnitblog.com/zouzheng/archive/2008/04/02/41817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 在 Linux 系统上源码安装 GTK+ 2.0(转)</title><link>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39290.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 24 Jan 2008 12:35:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39290.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/39290.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39290.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/39290.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/39290.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/01/24/39290.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/39290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-01-24 20:35 <a href="http://www.cnitblog.com/zouzheng/archive/2008/01/24/39290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>svn命令行使用说明   Subversion的安装与简单使用</title><link>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39280.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 24 Jan 2008 05:33:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39280.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/39280.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/39280.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/39280.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/01/24/39280.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/39280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-01-24 13:33 <a href="http://www.cnitblog.com/zouzheng/archive/2008/01/24/39280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GTK+2.6安装笔记 [转载]</title><link>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39278.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 24 Jan 2008 05:25:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39278.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/39278.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/01/24/39278.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/39278.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/39278.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/01/24/39278.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/39278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-01-24 13:25 <a href="http://www.cnitblog.com/zouzheng/archive/2008/01/24/39278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对于Debain安装后的问题</title><link>http://www.cnitblog.com/zouzheng/archive/2008/01/10/38684.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 10 Jan 2008 05:08:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/01/10/38684.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/38684.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/01/10/38684.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/38684.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/38684.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/01/10/38684.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/38684.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-01-10 13:08 <a href="http://www.cnitblog.com/zouzheng/archive/2008/01/10/38684.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Debain安装手记</title><link>http://www.cnitblog.com/zouzheng/archive/2008/01/10/38674.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 10 Jan 2008 02:13:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/01/10/38674.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/38674.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/01/10/38674.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/38674.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/38674.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这篇安装手记写的比较粗糙，这是凭记忆写出来的，有些地方写的还是不够详细&nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/01/10/38674.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/38674.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-01-10 10:13 <a href="http://www.cnitblog.com/zouzheng/archive/2008/01/10/38674.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的嵌入式数据库Sqlite移植说明</title><link>http://www.cnitblog.com/zouzheng/archive/2008/01/04/38442.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Fri, 04 Jan 2008 02:11:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2008/01/04/38442.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/38442.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2008/01/04/38442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/38442.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/38442.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2008/01/04/38442.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/38442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2008-01-04 10:11 <a href="http://www.cnitblog.com/zouzheng/archive/2008/01/04/38442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习DSP  之一</title><link>http://www.cnitblog.com/zouzheng/archive/2007/12/10/37547.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 10 Dec 2007 06:32:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2007/12/10/37547.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/37547.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2007/12/10/37547.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/37547.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/37547.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 开始DSP学习&nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2007/12/10/37547.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/37547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2007-12-10 14:32 <a href="http://www.cnitblog.com/zouzheng/archive/2007/12/10/37547.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>码率、帧率，what mean?</title><link>http://www.cnitblog.com/zouzheng/archive/2007/09/17/33565.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 17 Sep 2007 08:36:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2007/09/17/33565.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/33565.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2007/09/17/33565.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/33565.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/33565.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 码率、帧率&nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2007/09/17/33565.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/33565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2007-09-17 16:36 <a href="http://www.cnitblog.com/zouzheng/archive/2007/09/17/33565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于守护进程的问题</title><link>http://www.cnitblog.com/zouzheng/archive/2007/05/14/26982.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 14 May 2007 07:14:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2007/05/14/26982.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/26982.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2007/05/14/26982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/26982.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/26982.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2007/05/14/26982.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/26982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2007-05-14 15:14 <a href="http://www.cnitblog.com/zouzheng/archive/2007/05/14/26982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>守护进程的问题</title><link>http://www.cnitblog.com/zouzheng/archive/2007/04/30/26449.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 30 Apr 2007 05:20:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2007/04/30/26449.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/26449.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2007/04/30/26449.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/26449.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/26449.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2007/04/30/26449.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/26449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2007-04-30 13:20 <a href="http://www.cnitblog.com/zouzheng/archive/2007/04/30/26449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实时传输协议和实时控制协议</title><link>http://www.cnitblog.com/zouzheng/archive/2007/03/30/24905.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Fri, 30 Mar 2007 03:31:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2007/03/30/24905.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/24905.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2007/03/30/24905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/24905.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/24905.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2007/03/30/24905.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/24905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2007-03-30 11:31 <a href="http://www.cnitblog.com/zouzheng/archive/2007/03/30/24905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实时传输协议RTP相关资料（（RTP：Real Time Transport Protocol））</title><link>http://www.cnitblog.com/zouzheng/archive/2007/03/30/24902.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Fri, 30 Mar 2007 02:10:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2007/03/30/24902.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/24902.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2007/03/30/24902.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/24902.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/24902.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/zouzheng/archive/2007/03/30/24902.html'>阅读全文</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/24902.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2007-03-30 10:10 <a href="http://www.cnitblog.com/zouzheng/archive/2007/03/30/24902.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于在主机mount，umount不能成功的问题</title><link>http://www.cnitblog.com/zouzheng/archive/2006/09/29/17473.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Fri, 29 Sep 2006 00:56:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/09/29/17473.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/17473.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/09/29/17473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/17473.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/17473.html</trackback:ping><description><![CDATA[今天看到一个人问“当我用-o loop选项mount ramdisk.image以后, umount总是不能成功"的问题，这个问题我以前也遇到过，umount提示”    device is busy"总是不能成功，需要重启，那时也许是对linux不太熟悉的问题吧，出现这种情况是因为除了你当时的终端外，还有其它终端也进入了您所mount的目录或子目录，需要把所有的终端都退出到其它目录即可umount了。有一位合工大超女提出这样的办法：<br />　ps -e<br /> //找到fam进程的pid号<br /> kill -9 pid<br />然后umount 就可以啦，不用重启的<br />不过我没有试过，不信的话可以试试<img src ="http://www.cnitblog.com/zouzheng/aggbug/17473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-09-29 08:56 <a href="http://www.cnitblog.com/zouzheng/archive/2006/09/29/17473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LINUX内核分析及编程——进程及进程调度</title><link>http://www.cnitblog.com/zouzheng/archive/2006/09/25/17316.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 25 Sep 2006 09:13:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/09/25/17316.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/17316.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/09/25/17316.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/17316.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/17316.html</trackback:ping><description><![CDATA[进程结构<br />         每个进程都具有自己的属性，用一个task_struct数据结构拉表示，它包含了进程的详细信息，主要有进程标志符（PID）、进程所占的内存区域、相关文件的文件描述符、安全信息、进程环境、信号处理、资源安排、同步处理和进程状态几个方面。<br />        数组task包含指向系统中所有task_struct结构的指针。系统中的最大进程数目受task数组大小的限制，默认是512。创建新进程时，LINUX将系统内存分配一个task_struct结构，并将其加入<img src ="http://www.cnitblog.com/zouzheng/aggbug/17316.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-09-25 17:13 <a href="http://www.cnitblog.com/zouzheng/archive/2006/09/25/17316.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LINUX 内核分析及编程阅读——数据类型及链表</title><link>http://www.cnitblog.com/zouzheng/archive/2006/09/25/17311.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 25 Sep 2006 08:04:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/09/25/17311.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/17311.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/09/25/17311.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/17311.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/17311.html</trackback:ping><description><![CDATA[
		<p>        LINUX内核在体系结构差异较大的平台之间移植时，会产生与数据类型相关的问题，在编译的时候使用 —Wall —Wstrict-prototypes选项，可以避免很多错误的发生。<br />       内核中的地址是unsigned long类型，指针大小和long类型相同。内核提供哦的数据类型在头文件&lt;asm/types.h&gt;中声明，这个文件又被头文件&lt;linux/types.h&gt;所包含。<br />        对于ls的时间间隔，不能用100个jiffy。因为不同的平台可能设置不一，所以用Hz（每秒定时器中断的次数）来衡量。<br /><br /> 页面大小<br />           内存页的大小为PAGE_SIZE字节，而不是4KB。在不同的平台上，页大小范围可以是4KB到64K。PAGE_SHIFT的作用是通过对地址右移PAGE_SHIFT得到一个地址所在页的页号。对于用户空间，可以使用getpagesize函数来得到页的大小。例如，使用get_free_pages函数申请16K空闲空间（即2的14方），先将16KB转成2的order次方空闲页数。在X86下定义PAGE_SHIFT为12，即2的12次方为4KB。<br />     int order=(14-PAGE_SHIFT&gt;0)?14-PAGE_SHIFT:0;<br />    buf=get_free_pages(GFP_KERNEL,order);<br /><br />字节存储顺序<br />       字节存储顺序有两种：低字节优先（little-endian),高字节优先（big-endian)。低字节优先的方式是在存储多字节数值时，低字节在前面，高字节在后面。现代的处理器大部分工作在big-endia模式下。LINUX内核定义了一组宏，用于在处理器字节序数据和特殊字节序数据之间进行转换。这组宏如下（在linux/byteorder/big_endian.h中）：<br /> u32 __cpu_to_le32(u32);//将一个CPU使用的值的字节序转换成一个小段字节序的无符号值32为little-endian数</p>
		<p> u32 __le32_to_cpu(u32);//与上面相反<br /><br />数据对齐<br />      如果需要访问未对齐的数据，则应该使用下面的宏：<br />      #include&lt;asm/unaligned.h&gt;<br />       get_unaligned(ptr);<br />        put_unaligned(val,ptr);<br /><br />内核通用链表<br />         操作系统内核经常需要维护数据结构。内核有标准的循环链表、双链表的实现。在&lt;linux/list.h&gt;文件中定义了一个list_head类型简单结构：<br />          struct list_head(<br />                    struct list_head *next,*prev;<br />          };<br /><br />hlist哈希链表<br />          在include/linux/list.h中有list链表与hlist哈西链表结构的定义<br /><br />RCU操作保护的链表<br />          RCU（Read-Copy  Update）通过延迟写操作来提高同步性能，具体参见第3章。RCU常用来保护读操作占多数的链表与数组。具有RCU的链表的操作函数与普通链表操作函数的区别是在函数名后加上了_rcu，如list_for_each_rcu函数。<br /><br />AT&amp;T的汇编格式<br />       基本的行内汇编一般是按照格式：asm("statements"),如asm("nop"),asm("cli"),asm与_asm_是完全一样的。如果有多行汇编，则每一行都要加上引号“”。<br /><br />内核中的时间延迟<br />              操作系统通过时钟中断来确定时间间隔。时钟中断由系统硬件以周期性的间隔产生，这个间隔由内核根据Hz值设定，在文件&lt;linux/param.h&gt;中定义。<br /><br />      </p>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/17311.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-09-25 16:04 <a href="http://www.cnitblog.com/zouzheng/archive/2006/09/25/17311.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mount挂载的问题: No such file or directory</title><link>http://www.cnitblog.com/zouzheng/archive/2006/09/12/16750.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Tue, 12 Sep 2006 13:38:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/09/12/16750.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/16750.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/09/12/16750.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/16750.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/16750.html</trackback:ping><description><![CDATA[
		<font color="#555555">问题在于busybox里mount里的一项没有选中,不过我以前记得选中了,把它选中了就没事了</font>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/16750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-09-12 21:38 <a href="http://www.cnitblog.com/zouzheng/archive/2006/09/12/16750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>busybox提示can't access tty,job control turned off</title><link>http://www.cnitblog.com/zouzheng/archive/2006/09/11/16703.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 11 Sep 2006 13:18:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/09/11/16703.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/16703.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/09/11/16703.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/16703.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/16703.html</trackback:ping><description><![CDATA[
		<div>
				<strong>busybox提示can't access tty.job control turned off</strong> 解决方法</div>
		<div>/etc/inittab写法如下</div>
		<div>对于X86:</div>
		<div> tty1::respawn:/sbin/getty 38400 tty1<br /> tty2::respawn:/sbin/getty 38400 tty2</div>
		<div> </div>
		<div>对于ARM：</div>
		<div>首先确保在/dev/ttyS0存在，否则自己在/linuxrc或/etc/rcS或/urs/local/rc.local中加入</div>
		<div>ln -s /dev/tts/0 /dev/ttyS0</div>
		<div>ln -s /dev/vc/0  /dev/tty0</div>
		<div>ln -s /dev/vc/1  /dev/tty1</div>
		<div>ln -s /dev/vc/2  /dev/tty2</div>
		<div>注意：确保在执行下面的语句前在/dev下建立ttyS0</div>
		<div> </div>
		<div>方法1：</div>
		<div>/etc/inittab写入</div>
		<div>console::sysinit:-/etc/rcS<br />ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100<br /></div>
		<div> </div>
		<div>方法2：</div>
		<div>/etc/inittab写入</div>
		<div>console::sysinit:-/etc/rcS</div>
		<div>ttyS0::respawn:-/bin/sh<br /></div>
		<div>前者需要登陆验证，会出现提示输入用户名和密码，后者不会</div>
		<div> </div>
		<div>方法3:</div>
		<div>修改内核源码</div>
		<div>在内核源码drivers/char/tty_io.c中将</div>
		<div>noctty = 1</div>
		<div>改为</div>
		<div>noctty = 0</div>
		<div>然后</div>
		<div>/etc/inittab可以使用默认的，也可以写成：</div>
		<div>console::sysinit:-/etc/rcS</div>
		<div>console::respawn:/sbin/getty console 115200 ttyS0</div>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/16703.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-09-11 21:18 <a href="http://www.cnitblog.com/zouzheng/archive/2006/09/11/16703.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2.6kernel usb host</title><link>http://www.cnitblog.com/zouzheng/archive/2006/08/29/16103.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Tue, 29 Aug 2006 02:24:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/08/29/16103.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/16103.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/08/29/16103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/16103.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/16103.html</trackback:ping><description><![CDATA[
		<font color="#555555">主要是按照这个贴来做：<br /><a href="http://www.hfrk.net/S3C2410/kaifa/063152202483252_37.htm" target="_blank">http://www.hfrk.net/S3C2410/kaifa/063152202483252_37.htm</a></font>
		<br />#include <font color="#555555">asm/arch/regs-clock.h</font><br />#include <font color="#555555">asm/arch/usb-control.h</font><br />#include <font color="#555555">linux/device.h</font><linux><br />#include </linux><font color="#555555">linux/delay.h<br /><br /></font><p><font color="#555555">/**********************add by lfc*************************************/<br />static struct s3c2410_hcd_info usb_sbc2410_info = {<br />        .port[0]        = {<br />                .flags  = S3C_HCDFLG_USED<br />        }<br />};</font></p><p><font color="#555555">int usb_sbc2410_init(void)<br />{<br /> unsigned long upllvalue = (0x78&lt;&lt;12)|(0x02&lt;&lt;4)|(0x03);<br /> printk("USB Control, (c) 2006 sbc2410\n");<br /> s3c_device_usb.dev.platform_data = &amp;usb_sbc2410_info;<br /> while(upllvalue!=__raw_readl(S3C2410_UPLLCON))<br />{<br /> __raw_writel(upllvalue,S3C2410_UPLLCON);<br /> mdelay(1);<br /> }<br /> return 0;<br />}</font></p><p><font color="#555555">/***************************end add**********************/</font></p><p><font color="#555555">static void __init smdk2410_map_io(void)<br />{<br />s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));<br />s3c24xx_init_clocks(0);<br />s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));<br />s3c24xx_set_board(&amp;smdk2410_board);<br />/*************************add by lfc****************************/<br />        usb_sbc2410_init();<br />/*************************end add*******************************/<br />}</font></p><p><font color="#555555">上面的修改其实也参考了这个牛贴一下，里面有大虾们对USB驱动移植的讨论，还不错：<br /><a href="http://www.linuxforum.net/forum/showflat.php?Cat=&amp;Board=embedded&amp;Number=556915&amp;page=0&amp;view=collapsed&amp;sb=5&amp;o=0&amp;fpart=" target="_blank">http://www.linuxforum.net/forum/showflat.php?Cat=&amp;Board=embedded&amp;Number=556915&amp;page=0&amp;view=collapsed&amp;sb=5&amp;o=0&amp;fpart=</a></font></p><p><font color="#555555">其实到了这里，要修改的代码已经修改完了，比添加Nand flash的支持修改的地方还要少^_^，不过我一直以为还没修改好，最后发现原来是没配置好~_~</font></p><p><font color="#555555">二、内核配置<br />下面说一下郁闷了我好一阵子的内核配置（支持USB）问题，这个就比Nand flash的配置要复杂多了。<br />１、让内核支持热插拔<br />│                General setup  ---&gt;  <br />  │ │[*] Support for hot-pluggable devices</font></p><p><font color="#555555">２、USB驱动设置，可能有些不选也行，不过没时间去试，至于为什么要选这些选项的话可以看一下这个贴（Linux下的硬件驱动——USB设备）：<br /><a href="http://www-128.ibm.com/developerworks/cn/linux/l-usb/index1.html" target="_blank">http://www-128.ibm.com/developerworks/cn/linux/l-usb/index1.html</a></font></p><p><font color="#555555">  │ │                Device Drivers  ---&gt; <br /> │ │              Generic Driver Options  ---&gt;           <br /> │&lt;*&gt; Hotplug firmware loading support    <br />  │ │              Block devices  ---&gt;   <br />  │ │              &lt;*&gt; Low Performance USB Block driver   <br />  │ │              SCSI device support  ---&gt;   <br />  │ │  &lt;*&gt;   SCSI generic support  <br />│ │  [*]   Probe all LUNs on each SCSI device    <br />  │ │              USB support  ---&gt;        <br />  │ │&lt;*&gt; Support for Host-side USB    <br /> │ │[*]   USB device filesystem <br />  │ │&lt;*&gt;   OHCI HCD support  <br /> │ │&lt;*&gt;   USB Mass Storage support <br />  │ │[*]   USB Monitor</font></p><p><font color="#555555">３、加入了MSDOS fs和VFAT fs的支持。</font></p><p><font color="#555555">  │ │                File systems  ---&gt;      <br />  │ │        DOS/FAT/NT Filesystems  ---&gt;   <br />  │ ┌─────────────────────────────────────────────────────────────────────┐ │<br />  │ │                 &lt;*&gt; MSDOS fs support                                │ │<br />  │ │                 &lt;*&gt; VFAT (Windows-95) fs support                    │ │<br />  │ │                 (936) Default codepage for FAT                      │ │<br />  │ │                 (cp936) Default iocharset for FAT                   │ │<br />  │ │                 &lt; &gt; NTFS file system support</font></p><p><font color="#555555">做完这些后，插入u盘后，内核应该可以识别到u盘，出现：<br />usb 1-1: new full speed USB device using s3c2410-ohci and address 3<br />ub(1.3): GetMaxLUN returned 0, using 1 LUNs</font></p><p><font color="#555555">但是，还有下面一句出错提示：<br />/dev/ub/a: unknown partition table</font></p><p><font color="#555555">再次查看了贴子上大虾们的讨论，提到：“使能CONFIG_MSDOS_PARTITION选项”，再仔细查找，发现配置选项如下：<br />│ │                File systems  ---&gt;<br />│ │                Partition Types  ---&gt;  <br />  │ │     [*]   PC BIOS (MSDOS partition tables) support<br />加上这个后应该就可以挂载usb上的MSDOS分区了</font></p><p><font color="#555555">以下是我的内核插入u盘后的提示信息：<br />usb 1-1: new full speed USB device using s3c2410-ohci and 2<br />ub(1.2): GetMaxLUN returned 0, using 1 LUNs<br /> /dev/ub/a: p1<br />表示usb设备已经挂载到/dev/ub/a/part1设备文件下</font></p><p><font color="#555555">4.加入中文字体库（可惜在我的板上还是没能正常显示中文~_~，知道的朋友麻烦告诉我一声，大家一起探讨）<br />  │ │        Native Language Support  ---&gt;     <br />  │ │&lt;*&gt;   Simplified Chinese charset (CP936, GB2312)  <br />  │ │&lt;*&gt;   NLS UTF8</font></p><p><font color="#555555">以下是挂载usb设备后的显示：<br />[root@luofuchong /]# mount -t vfat -o iocharset=cp936 /dev/ub/a/part1 /mnt<br />[root@luofuchong /]# ls /mnt<br />cramfs-1.1.tar.gz        netkit-base-0.17.tar.gz  thttpd-2.25b.tar.gz<br />lfc                      settings.dat             . . I. ..  . .txt</font></p><p><font color="#555555">usb设备的挂载点比较特别，在我移植的系统中是：/dev/ub/a/part1。刚开始我不知
道，以为/dev/ub/a就是了，结果当然挂载不了，差点就重编内核了，所以如果内核提示挂载usb设备成功的话，最好进入对应的目录仔细看清楚。如果
是当成SCSI设备的话挂载点就在/dev/scsi/host0/bus0/target0/lun0之类吧。其实插入u盘的时候都有提示，自己看着办
吧。</font></p><p><br /></p><font color="#555555"><br /></font><img src ="http://www.cnitblog.com/zouzheng/aggbug/16103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-08-29 10:24 <a href="http://www.cnitblog.com/zouzheng/archive/2006/08/29/16103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于在2.6下DM9000驱动问题的解决</title><link>http://www.cnitblog.com/zouzheng/archive/2006/08/28/16073.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Mon, 28 Aug 2006 06:22:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/08/28/16073.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/16073.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/08/28/16073.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/16073.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/16073.html</trackback:ping><description><![CDATA[为华恒的那板子DM9000驱动晕乎了一个多星期了,板子DM9000接的是EINT0,而用EINT0在dm9000_open函数中request_irq申请中断不成,死在这里,连启动不了,用EINT1的话没有问题,可以PING通板子,如果把EINT0和EINT1焊接在一起的话,可疑解决这个问题,但是能不能不焊接在一起解决这个问题呢?为此又郁闷了几天,把INTMSK最后一位EINT0设为0的就死掉,不行呀,郁闷!!!哈哈,终于解决了!!!<img src ="http://www.cnitblog.com/zouzheng/aggbug/16073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-08-28 14:22 <a href="http://www.cnitblog.com/zouzheng/archive/2006/08/28/16073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对于华恒study-R1板子nor flash问题的解决</title><link>http://www.cnitblog.com/zouzheng/archive/2006/08/18/15493.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Fri, 18 Aug 2006 02:02:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/08/18/15493.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/15493.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/08/18/15493.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/15493.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/15493.html</trackback:ping><description><![CDATA[由于华恒study-R1板子没有nand flash,所以在2.6的内核下用不了yaffs2文件系统,有点可惜.没有办法,只有在上面用jffs2文件系统.首先参照2.4内核的方法,用刘利国的那篇文章加入支持jffs2\的nor flash,可惜不行,在内核启动根本不能打印分区信息,在mtdblock里根本没有(除0之外)其他设备,为此还一个晚上看那代码并且做测试,后来发现<font color="#333333">mymtd = do_map_probe("cfi_probe", &amp;s3c2410_map); mymtd得到的信息为0,不能执行if (mymtd)里面的东西,后来搜索了一下,看了别人有的用</font><font color="#555555">参照drivers/mtd/maps/edb7312.c,我也按此方法,终于可以打印分区信息,在/dev/mtdblock和/proc/mtd终于可疑看到久违的东西,不过还有一个问题,就是多了一个分区,在nor flash分了4个区,可是打印出来有5个,仔细看了一下,去掉内核中的 &lt; &gt; CFI Flash device in physical memory map 这个配置选项,可以了,不过jffs2不能挂载,修改</font><font color="#555555">2.6里面主设备号有两个地方要改,一个就是2.4里面说的,还有一个就是在mtdblock.c里,在最后有个stuct里面要把 .major = 31 改成 30,</font><img src ="http://www.cnitblog.com/zouzheng/aggbug/15493.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-08-18 10:02 <a href="http://www.cnitblog.com/zouzheng/archive/2006/08/18/15493.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于Linux2.6的YAFFS文件系统移植</title><link>http://www.cnitblog.com/zouzheng/archive/2006/03/01/7056.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Wed, 01 Mar 2006 13:05:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/archive/2006/03/01/7056.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/7056.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/archive/2006/03/01/7056.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/7056.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/7056.html</trackback:ping><description><![CDATA[<font><font class="contentwithhtml">一、YAFFS文件系统简介<br>YAFFS，Yet Another Flash File System，是一种类似于JFFS/JFFS2的专门为Flash设计的嵌入式文件系统。与JFFS相比，它减少了一些功能，因此速度更快、占用内存更少。<br>YAFFS和JFFS都提供了写均衡，垃圾收集等底层操作。它们的不同之处在于：<br>（1）JFFS是一种日志文件系统，通过日志机制保证文件系统的稳定性。YAFFS仅仅借鉴了日志系统的思想，不提供日志机能，所以稳定性不如JAFFS，但是资源占用少。<br>（2）JFFS中使用多级链表管理需要回收的脏块，并且使用系统生成伪随机变量决定要回收的块，通过这种方法能提供较好的写均衡，在YAFFS中是从头到尾对块搜索，所以在垃圾收集上JFFS的速度慢，但是能延长NAND的寿命。<br>（3）JFFS支持文件压缩，适合存储容量较小的系统；YAFFS不支持压缩，更适合存储容量大的系统。<br>YAFFS
还带有NAND芯片驱动，并为嵌入式系统提供了直接访问文件系统的API，用户可以不使用Linux中的MTD和VFS，直接对文件进行操作。NAND
Flash大多采用MTD+YAFFS的模式。MTD（ Memory Technology
Devices，内存技术设备）是对Flash操作的接口，提供了一系列的标准函数，将硬件驱动设计和系统程序设计分开。<br>二、YAFFS文件系统的移植<br>yaffs代码可以从<a href="http://www.aleph1.co.uk/armlinux/projects/">http://www.aleph1.co.uk/armlinux/projects/</a>下载（yaffs代码包括yaffs_ecc<br>.c，yaffs_fileem.c，yaffs_fs.c，yaffs_guts.c，yaffs_mtdif.c，yaffs_ramem.c。）<br>表一 Yaffs文件系统源代码相关文件及功能描述<br>文件名&nbsp;功&nbsp;&nbsp; 能<br>yaffs_ecc.c&nbsp;ECC校验算法<br>yaffs_fileem.c&nbsp;测试flash<br>yaffs_fs.c&nbsp;文件系统接口函数<br>yaffs_guts.c&nbsp;Yaffs文件系统算法<br>yaffs_mtdif.c&nbsp;NAND函数<br>yaffs_ramem.c&nbsp;Ramdisk实现<br>1.内核中没有YAFFS，所以需要自己建立YAFFS目录，并把下载的YAFFS代码复制到该目录下面。<br>
</font></font>
<p>#mkdir fs/yaffs<br>#cp *.c(yaffs source code) fs/yaffs<br>2.修改fs/Kconfig，使得可以配置yaffs :<br>source "fs/yaffs/Kconfig"<br>3．修改fs/makefile，添加如下内容：<br>obj-$(CONFIG_YAFFS_FS)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; += yaffs/<br>4.在fs目录下生成yaffs目录，并在里面生成一个makefile 和Kconfig<br>Makefile 内容为：<br>yaffs-objs := yaffs_fs.o yaffs_guts.o yaffs_mtdif.o yaffs_ecc.o <br>EXTRA_CFLAGS += $(YAFFS_CONFIGS) -DCONFIG_KERNEL_2_6<br>Kconfig内容为：<br>#<br># YAFFS file system configurations<br>#<br>config YAFFS_FS<br>&nbsp;tristate "Yet Another Flash Filing System(YAFFS) file system support"<br>&nbsp;help<br>&nbsp;&nbsp; YAFFS, for Yet Another Flash Filing System, is a filing system<br>&nbsp;&nbsp; optimised for NAND Flash chips.</p>
<p>&nbsp;&nbsp; To compile the YAFFS file system support as a module, choose M here:<br>&nbsp;&nbsp; the module will be called yaffs.</p>
<p>&nbsp;&nbsp; If unsure, say N.</p>
<p>&nbsp;&nbsp; Further information on YAFFS is available at<br>&nbsp;&nbsp; &lt;<a href="http://www.aleph1.co.uk/yaffs/">http://www.aleph1.co.uk/yaffs/</a>&gt;.</p>
<p>config YAFFS_MTD_ENABLED<br>&nbsp;bool "NAND mtd support"<br>&nbsp;depends on YAFFS_FS<br>&nbsp;help<br>&nbsp;&nbsp; This adds the yaffs file system support for working with a NAND mtd.</p>
<p>&nbsp;&nbsp; If unsure, say Y.</p>
<p>config YAFFS_RAM_ENABLED<br>&nbsp;bool "yaffsram file system support"<br>&nbsp;depends on YAFFS_FS<br>&nbsp;help<br>&nbsp;&nbsp; This adds the yaffsram file system support. Nice for testing on x86,<br>&nbsp;&nbsp; but uses 2MB of RAM.&nbsp; Don't enable for NAND-based targets.</p>
<p>&nbsp;&nbsp; If unsure, say N.</p>
<p>comment "WARNING: mtd and/or yaffsram support should be selected"<br>&nbsp;depends on YAFFS_FS &amp;&amp; !YAFFS_MTD_ENABLED &amp;&amp; !YAFFS_RAM_ENABLED</p>
<p>config YAFFS_USE_OLD_MTD<br>&nbsp;bool "Old mtd support"<br>&nbsp;depends on YAFFS_FS &amp;&amp; 0<br>&nbsp;help<br>&nbsp;&nbsp; Enable this to use the old MTD stuff that did not have yaffs support.<br>&nbsp;&nbsp; You can use this to get around compilation problems, but the best<br>&nbsp;&nbsp; thing to do is to upgrade your MTD support. You will get better speed.</p>
<p>&nbsp;&nbsp; If unsure, say N.</p>
<p>config YAFFS_USE_NANDECC<br>&nbsp;bool "Use ECC functions of the generic MTD-NAND driver"<br>&nbsp;depends on YAFFS_FS<br>&nbsp;default y<br>&nbsp;help<br>&nbsp;&nbsp; This enables the ECC functions of the generic MTD-NAND driver.<br>&nbsp;&nbsp; This will not work if you are using the old mtd.</p>
<p>&nbsp;&nbsp; NB Use NAND ECC does not work at present with yaffsram.</p>
<p>&nbsp;&nbsp; If unsure, say Y.</p>
<p>config YAFFS_ECC_WRONG_ORDER<br>&nbsp;bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"<br>&nbsp;depends on YAFFS_FS<br>&nbsp;help<br>&nbsp;&nbsp; This makes yaffs_ecc.c use the same ecc byte order as<br>&nbsp;&nbsp; Steven Hill's nand_ecc.c. If not set, then you get the<br>&nbsp;&nbsp; same ecc byte order as SmartMedia.</p>
<p>&nbsp;&nbsp; If unsure, say N.</p>
<p>config YAFFS_USE_GENERIC_RW<br>&nbsp;bool "Use Linux file caching layer"<br>&nbsp;default y<br>&nbsp;depends on YAFFS_FS<br>&nbsp;help<br>&nbsp;&nbsp; Use generic_read/generic_write for reading/writing files. This<br>&nbsp;&nbsp; enables the use of the Linux file caching layer.</p>
<p>&nbsp;&nbsp; If you disable this, then caching is disabled and file read/write<br>&nbsp;&nbsp; is direct.</p>
<p>&nbsp;&nbsp; If unsure, say Y.</p>
<p>config YAFFS_USE_HEADER_FILE_SIZE<br>&nbsp;bool "Use object header size"<br>&nbsp;depends on YAFFS_FS<br>&nbsp;help<br>&nbsp;&nbsp; When the flash is scanned, two file sizes are constructed:<br>&nbsp;&nbsp; * The size taken from the object header for the file.<br>&nbsp;&nbsp; * The size figured out by scanning the data chunks.<br>&nbsp;&nbsp; If this option is enabled, then the object header size is used,<br>&nbsp;&nbsp; otherwise the scanned size is used.</p>
<p>&nbsp;&nbsp; If unsure, say N.</p>
<p>config YAFFS_DISABLE_CHUNK_ERASED_CHECK<br>&nbsp;bool "Turn off debug chunk erase check"<br>&nbsp;depends on YAFFS_FS<br>&nbsp;default y<br>&nbsp;help<br>&nbsp;&nbsp; Enabling this turns off the test that chunks are erased in flash<br>&nbsp;&nbsp; before writing to them.&nbsp; This is safe, since the write verification<br>&nbsp;&nbsp; will fail.&nbsp; Suggest enabling the test (ie. say N)<br>&nbsp;&nbsp; during development to help debug things.</p>
<p>&nbsp;&nbsp; If unsure, say Y.</p>
<p>#config YAFFS_DISABLE_WRITE_VERIFY<br>#&nbsp;bool "Disable write verify (DANGEROUS)"<br>#&nbsp;depends on YAFFS_FS &amp;&amp; EXPERIMENTAL<br>#&nbsp;help<br>#&nbsp;&nbsp; I am severely reluctant to provide this config. Disabling the<br>#&nbsp;&nbsp; verification is not a good thing to do since NAND writes can<br>#&nbsp;&nbsp; fail silently.&nbsp; Disabling the write verification will cause your<br>#&nbsp;&nbsp; teeth to rot, rats to eat your corn and give you split ends.<br>#&nbsp;&nbsp; You have been warned. ie. Don't uncomment the following line.<br>#<br>#&nbsp;&nbsp; If unsure, say N.<br>#</p>
<p>config YAFFS_SHORT_NAMES_IN_RAM<br>&nbsp;bool "Cache short names in RAM"<br>&nbsp;depends on YAFFS_FS<br>&nbsp;default y<br>&nbsp;help<br>&nbsp;&nbsp; If this config is set, then short names are stored with the<br>&nbsp;&nbsp; yaffs_Object.&nbsp; This costs an extra 16 bytes of RAM per object,<br>&nbsp;&nbsp; but makes look-ups faster.</p>
<p>&nbsp;&nbsp; If unsure, say Y.<br>5．在/arch/arm/mach-s3c2410/mach-smdk2410.c找到smdk_default_nand_part结构，修改nand分区，如下：<br>struct mtd_partition smdk_default_nand_part[] = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [0] = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .name&nbsp;&nbsp; = "vivi",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .size&nbsp;&nbsp; = 0x00020000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .offset = 0x00000000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [1] = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .name&nbsp;&nbsp; = "param",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .size&nbsp;&nbsp; = 0x00010000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .offset = 0x00020000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [2] = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .name&nbsp;&nbsp; = "kernel",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .size&nbsp;&nbsp; = 0x00100000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .offset = 0x00030000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [3] = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .name&nbsp;&nbsp; = "root",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .size&nbsp;&nbsp; = 0x01900000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .offset = 0x00130000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [4] = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .name&nbsp;&nbsp; = "user",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .size&nbsp;&nbsp; = 0x025d0000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .offset = 0x01a30000,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>};<br>注：此分区要结合vivi里面的分区来进行设置。<br>6．配置内核时选中MTD支持：<br>Memory Technology Devices (MTD)&nbsp; ---&gt;<br>&nbsp;&lt;*&gt; Memory Technology Device (MTD) support<br>&nbsp;&nbsp;[*]&nbsp;&nbsp; MTD partitioning support<br>&nbsp;&nbsp;&nbsp;……<br>&nbsp;&nbsp;--- User Modules And Translation Layers<br>&nbsp;&nbsp;&lt;*&gt; Direct char device access to MTD devices<br>&nbsp;&nbsp;&lt;*&gt; Caching block device access to MTD devices<br>&nbsp;&nbsp;……<br>NAND Flash Device Drivers&nbsp; ---&gt;<br>&nbsp;&lt;*&gt; NAND Device Support<br>&nbsp;&lt;*&gt; NAND Flash support for S3C2410 SoC<br>&nbsp;[*]&nbsp;&nbsp; S3C2410 NAND driver debug&nbsp; <br>7．配置内核时选中YAFFS支持：<br>File systems&nbsp; ---&gt;<br>&nbsp;Miscellaneous filesystems&nbsp; ---&gt;<br>&nbsp;&nbsp;&lt;*&gt; Yet Another Flash Filing System(YAFFS) file system support<br>&nbsp;&nbsp;[*]&nbsp;&nbsp; NAND mtd support<br>&nbsp;&nbsp;[*]&nbsp;&nbsp; Use ECC functions of the generic MTD-NAND driver<br>&nbsp;&nbsp;[*]&nbsp;&nbsp; Use Linux file caching layer<br>&nbsp;&nbsp;[*]&nbsp;&nbsp; Turn off debug chunk erase check<br>&nbsp;&nbsp;[*]&nbsp;&nbsp; Cache short names in RAM<br>8.编译内核并将内核下载到开发板的flash中。<br>三、Yaffs文件系统测试：<br>1.内核启动之后，在启动信息里面可以看到如下内容：<br>NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)<br>Scanning device for bad blocks<br>Creating 5 MTD partitions on "NAND 64MiB 3,3V 8-bit":<br>0x00000000-0x00020000 : "vivi"<br>0x00020000-0x00030000 : "param"<br>0x00030000-0x00130000 : "kernel"<br>0x00130000-0x01a30000 : "root"<br>0x01a30000-0x04100000 : "user"<br>2.如果在内核里面添加了proc文件系统的支持那么你在proc里面可以看到有关yaffs的信息<br>~ # cat proc/filesystems<br>nodev&nbsp;&nbsp; sysfs<br>nodev&nbsp;&nbsp; rootfs<br>nodev&nbsp;&nbsp; bdev<br>nodev&nbsp;&nbsp; proc<br>nodev&nbsp;&nbsp; sockfs<br>nodev&nbsp;&nbsp; pipefs<br>nodev&nbsp;&nbsp; futexfs<br>nodev&nbsp;&nbsp; tmpfs<br>nodev&nbsp;&nbsp; eventpollfs<br>nodev&nbsp;&nbsp; devpts<br>nodev&nbsp;&nbsp; ramfs<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vfat<br>nodev&nbsp;&nbsp; devfs<br>nodev&nbsp;&nbsp; nfs<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yaffs<br>nodev&nbsp;&nbsp; rpc_pipefs<br>3.查看dev目录下相关目录可以看到：<br>~ # ls dev/mtd -al<br>drwxr-xr-x&nbsp;&nbsp;&nbsp;
1 root&nbsp;&nbsp;&nbsp;&nbsp;
root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0 Jan&nbsp; 1 00:00 .<br>drwxr-xr-x&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp;
root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0 Jan&nbsp; 1 00:00 ..<br>crw-rw-rw-&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 0 Jan&nbsp; 1 00:00 0<br>cr--r--r--&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 1 Jan&nbsp; 1 00:00 0ro<br>crw-rw-rw-&nbsp;&nbsp;&nbsp;
1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 2 Jan&nbsp; 1 00:00 1<br>cr--r--r--&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 3 Jan&nbsp; 1 00:00 1ro<br>crw-rw-rw-&nbsp;&nbsp;&nbsp;
1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 4 Jan&nbsp; 1 00:00 2<br>cr--r--r--&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 5 Jan&nbsp; 1 00:00 2ro<br>crw-rw-rw-&nbsp;&nbsp;&nbsp;
1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 6 Jan&nbsp; 1 00:00 3<br>cr--r--r--&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 7 Jan&nbsp; 1 00:00 3ro<br>crw-rw-rw-&nbsp;&nbsp;&nbsp;
1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 8 Jan&nbsp; 1 00:00 4<br>cr--r--r--&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
90,&nbsp;&nbsp; 9 Jan&nbsp; 1 00:00 4ro</p>
<p>~ # ls dev/mtdblock/ -al<br>drwxr-xr-x&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp;
root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0 Jan&nbsp; 1 00:00 .<br>drwxr-xr-x&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp;
root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
0 Jan&nbsp; 1 00:00 ..<br>brw-------&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
31,&nbsp;&nbsp; 0 Jan&nbsp; 1 00:00 0<br>brw-------&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
31,&nbsp;&nbsp; 1 Jan&nbsp; 1 00:00 1<br>brw-------&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
31,&nbsp;&nbsp; 2 Jan&nbsp; 1 00:00 2<br>brw-------&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
31,&nbsp;&nbsp; 3 Jan&nbsp; 1 00:00 3<br>brw-------&nbsp;&nbsp;&nbsp; 1
root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
31,&nbsp;&nbsp; 4 Jan&nbsp; 1 00:00 4<br>4.mount、umount<br>建立mount目录<br>~ #mkdir /mnt/flash0<br>~ #mkdir /mnt/flash1<br>Mountblockdevice设备<br>~ #mount –t yaffs /dev/mtdblock/3 /mnt/flash0<br>~ #mount –t yaffs /dev/mtdblock/4 /mnt/flash1<br>~ #cp 1.txt /mnt/flash0<br>~ #cp 2.txt /mnt/flash1<br>查看mount上的目录，可以看到该目录下有刚才拷贝的文件，将其umount后，再次mount上来可以发现拷贝的文件仍然存在，这时删除该文件然后umount，再次mount后，可以发现拷贝的文件已经被删除，由此可以该分区可以正常读写。<br>5.在flash上建立根文件系统<br>~ # mount –t yaffs /dev/mtdblock/3 /mnt/flash0<br>~ #cp (your rootfs) /mnt/flash0<br>~ #umount /mnt/flash0<br>重新启动，改变启动参数：<br>param set linux_cmd_line "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0"<br>重新启动，开发板就可以从flash启动根文件系统了。<br>注：这里你得在内核中添加devfs文件系统的支持，否则内核无法找到/dev/mtdblock/3目录</p>
<br>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/7056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-03-01 21:05 <a href="http://www.cnitblog.com/zouzheng/archive/2006/03/01/7056.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>