<?xml version="1.0" encoding="gb2312"?>
	<rss version="2.0">
		<channel>
		<title><![CDATA[gliethttp]]></title>
		<description><![CDATA[<table border="0" cellspacing="0" cellpadding="0">
  <tr bgcolor="#204689">
   <td width="270" rowspan="2" colspan="2" nowrap="nowrap"><a href="http://item.taobao.com/auction/item_detail-0db1-6c27002bd59ef65887a2c541c11fadc2.jhtml" target="_blank"><img src="http://blogimg.chinaunix.net/blog/upfile2/091227115144.gif" alt="NC9000型AT91SAM7S256 arm7 ＋ tcpip以太网DM9000AE ＋ USB2.0开发板"  width="270" height="158" border="0"/></a></td>
   <td width="350" height="158" colspan="2" valign="bottom" nowrap="nowrap" bgcolor="#204689" id="logo"><a href="http://gliethttp.cublog.cn" target="_blank"><img src="http://blogimg.chinaunix.net/blog/upfile2/090717153953.gif" alt="ARM RealView集成开发环境"  width="350" height="58" border="0"/></a><a href="http://gliethttp.cublog.cn" target="_blank"><img src="http://blogimg.chinaunix.net/blog/upfile2/090717154136.gif" alt="CCCC有限公司--提供S3C2440、AT91RM9200、EP9315和TDS320C54x系列开发板" width="350" height="100" border="0" /></a><img src="mm_spacer.gif" alt="56" width="1" height="1" /></td> 2 
   <td width="158" rowspan="2"><a href="http://gliethttp.cublog.cn" target="_blank"><img src="http://blogimg.chinaunix.net/blog/upfile2/090717153802.gif" alt="DDDD工作室--致力于AVR、PIC产品开发,提供全套定制方案" width="175" height="158" border="0"/></a></td>
  </tr>
</table>
2005年07月毕业于桂林电子工业学院普通本科生的工作笔记--我们chinese人要学的东西还有很多很多,所以兄弟们可都要加油啊......
<!--<embed src="http://player.youku.com/player.php/sid/XMTkxODQ=/v.swf" quality="high" width="80" 

height="14" 
align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed>-->

<marquee scrollamount="2" width="790" onmouseover="stop()" onmouseout="start()">
<font align="center" style="font-size:10pt" color="#ECA013"><b>
欢迎访问～ luther.gliethttp Regards
</font></marquee ><br>
<script type="text/javascript">
dictInit();
</script> 
<span id="dict_daily">
</span>]]></description>
		<link>http://www.cublog.cn/u1/38994/</link>
		<language>zh-cn</language>
		<generator>www.cublog.cn</generator>
		<copyright>Copyright 2010 ChinaUnix.Net All Rights Reserved</copyright>
		<pubDate>Fri, 03 Sep 2010 02:12:28 GMT</pubDate>
	
		<item>
			<title><![CDATA[快速遍历变量中所有置1位]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2315132]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Tue, 31 Aug 2010 08:12:30 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
		
		
		<table style="border-collapse: collapse;" bgcolor="#f1f1f1" border="1" bordercolor="#999999" cellpadding="0" cellspacing="0" width="95%"><tbody><tr><td><p style="line-height: 150%; margin: 5px;"><code><span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 204);">#</span><span style="color: rgb(255, 0, 0);">include</span> <span style="color: rgb(0, 0, 204);">&lt;</span>stdio<span style="color: rgb(0, 0, 204);">.</span>h<span style="color: rgb(0, 0, 204);">&gt;</span><br>
<br>
<span style="color: rgb(0, 0, 255);">int</span> main<span style="color: rgb(0, 0, 204);">(</span><span style="color: rgb(0, 0, 255);">int</span> argc<span style="color: rgb(0, 0, 204);">,</span> <span style="color: rgb(0, 0, 255);">char</span> <span style="color: rgb(0, 0, 204);">*</span>argv<span style="color: rgb(0, 0, 204);">[</span><span style="color: rgb(0, 0, 204);">]</span><span style="color: rgb(0, 0, 204);">)</span><br>
<span style="color: rgb(0, 0, 204);">{</span><br>
&nbsp;&nbsp……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[最好用的中文输入法-搜狗]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2309538]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Wed, 25 Aug 2010 05:46:53 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; "><font class="Apple-style-span" color="#6E6E6E">中文输入法这样亟待改善但缺乏商机的“荒原”，如何成为一个创新主战场&nbsp;</font><br style="line-height: 22px; "><font class="Apple-style-span" color="#6E6E6E">经过几个月前搜狐与谷歌那场声势浩大的“抄袭风波”，现在你 已经可以重新估量输入法对于一家网络公司的价值：从4月8日搜狐公司发布声明称，谷歌拼音抄袭了搜狗输入法词库，至今搜狐的股价已经增长了接近 50%。而在此之前的1年时间里，搜狐的股价下跌了18%。虽然将阶段性的股价变化归结于某一种力量的结果是天真的，但一个较为准确的说法是：通过一款几 兆大小的输入法软件，市值近12亿美元的搜狐重新撬动了华尔街对自己的热情。&nbsp;</font><br style="line-height: 22px; "><font class="Apple-style-span" color="#6E6E6E">这是怎么开始的？答案：这是一次为偷懒而创新的结果。&nbsp;</font><br style="line-height: 22px; "><font class="Apple-style-span" color="#6E6E6E">2005年，本科刚毕业、在太原一家国企做机械设计……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[编译含有libkumu的libasdcp开源库]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2267706]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 08 Jul 2010 01:18:23 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
		http://www.cinecert.com/asdcplib/<br><br>[luther@gliethttp:~/asdcplib-1.6.36]$ ./configure ;make; sudo make install<br>[luther@gliethttp:~/asdcplib-1.6.36]$ tree src/.libs/<br>src/.libs/<br>|-- KM_fileio.o<br>|-- KM_log.o<br>|-- KM_prng.o<br>|-- KM_tai.o<br>|-- KM_util.o<br>|-- KM_xml.o<br>|-- asdcp-test<br>|-- blackwave<br>|-- j2c-test<br>|-- klvwalk<br>|-- kmfilegen<br>|-- kmrandgen<br>|-- kmuuidgen<br>|-- libasdcp-1.6.36.so<br>|-- libasdcp-1.6.36.soT<br>|-- libasdcp.a<br>|-- libasdcp.la -&gt; ../libasdcp.la<br>|-- libasdcp.lai<br>|-- libasdcp.so -&gt; libasdcp-1.6.36.so<br>|-- libasdcp_la-AS_DCP.o<br>|-- libasdcp_la-AS_DCP_AES.o<br>|-- libasdcp_la-AS_DCP_JP2K.o<br>|-- libasdcp_la-AS_DCP_MPEG2.o<br>|-- libasdcp_la-AS_DCP_MXF.o<br>|-- libasdcp_la-AS_DCP_PCM.o<br>|-- libasdcp_la-AS_DCP_TimedText.o<br>|-- libasdcp_la-Dict.o<br>|-- libasdcp_la-Index.o<br>|-- libasdcp_la-JP2K.o<br>|-- libasdcp_la-JP2K_Codestream_Parser.o<br>|-- libasdcp_la-JP2K_Sequence_Parser.o<br>|-- libasdcp_la-KLV……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[交叉编译alsa-lib库,amixer和aplay工具]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2250390]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 10 Jun 2010 15:19:40 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
																								http://www.alsa-project.org/main/index.php/Download<br><br>1. 导出alsa安装目录<br>export gliethttp_alsa_lib=/usr/local/alsa<br>mkdir $gliethttp_alsa_lib<br>sudo chown luther:luther $gliethttp_alsa_lib -R<br>2. 编译alsa-lib库<span style="font-style: italic;"></span><br>./configure --build=i386 --host=arm-linux --disable-python --prefix=$gliethttp_alsa_lib<br>make;make install<br>3. 编译alsa-utils<br>./configure --build=i386 --host=arm-linux --with-curses=ncurses --disable-xmlto --with-alsa-inc-prefix=$gliethttp_alsa_lib/include --with-alsa-prefix=$gliethttp_alsa_lib/lib --prefix=$gliethttp_alsa_lib<br>make;make install<br><br><span style="font-style: italic;">首先我们可以直接将</span><span style="font-style: italic;">$gliethttp_alsa_lib下的bin,sbin,lib使用cp -a拷贝到嵌入式root根/文件系统,<br></span><span style="font-style: italic;">但是我们不能直接拷贝$gliethttp_alsa_lib到嵌入式根文件系统/根目录下，因为alsa lib中保存了库的<br>绝对路径信息,amixer或者aplay使用lib……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[TiddlyWiki的语法[转]]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2248040]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Wed, 09 Jun 2010 04:50:53 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[{{{请将下面的内容放到tiddlywiki中}}}<br>//想看看实际上语法如何运用，请按右上角的「编辑」键。//<br>!文字格式<br>*''粗体''：左右各两个单引号「'」<br>*//斜体//：左右各两个斜号「/」<br>*__加底线__：左右各两个底线「_」<br>*==删除的文字==：左右各两个等号「=」<br>*^^上标字^^：左右各两个「^」<br>*~~下标字~~：左右各两个波浪号「~」<br>*字体@@color(green):颜色@@：左右各两个小老鼠「@」，並且在前两个@之后緊接著「''color(颜色名):''」的语法。<br>*字体@@bgcolor(#FFCC99):背景颜色@@：左右各两个小老鼠「@」，並且在前两个@之后緊接著「''bgcolor(颜色名):''」的语法。<br><br>!链接、贴图、水平线<br>*WikiWord是[[wiki]]最传统建立內部链接（连到别则记事）的方法，也就是在一串字母当中至少要有两个大写字母，这样整个词就自动变成一个链接，即使目标还沒有被建立也行。<br>*但WikiWord的方式太死板，而且只适用于西方用拉丁字母的情形。东方语文，或是我们想要建立的记事标题包含空格、比较像自然的语句时，可在左右用<br>{{{<br>[[链接目标]]<br>}}}<br>包起来。<br>*但我们若想做个链接连到一则叫作「爱与和平?梦想实现」的记事，但行文当中又不想……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[谈谈alsa-lib和驱动自身对kctl.info什么时候赋值的]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2248151]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Sun, 06 Jun 2010 10:56:03 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[谈谈kctl.info什么时候赋值为snd_ctl_elem_user_info的<br><br>可以是alsa-lib库调用接口添加<br>应用层<br>static const snd_ctl_ops_t snd_ctl_hw_ops = {<br>&nbsp;&nbsp;&nbsp; ...<br>.element_add = snd_ctl_hw_elem_add,<br>.element_replace = snd_ctl_hw_elem_replace,<br>&nbsp;&nbsp;&nbsp; ...<br>};<br>内核层<br>snd_ctl_elem_add_user<br>snd_ctl_elem_add<br>kctl.info = snd_ctl_elem_user_info;<br><br>也可以是kernel自动添加,其中wm8991_snd_controls就是使用下面的SOC_SINGLE,SOC_SINGLE_TLV等宏定义的数组<br>snd_ctl_add(codec-&gt;card, snd_soc_cnew(&amp;wm8991_snd_controls[i],codec, NULL));<br>struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template,<br>&nbsp;&nbsp; &nbsp;void *data, char *long_name);<br>==&gt; snd_ctl_new1<br>===&gt; kctl.info = ncontrol-&gt;info;<br><br>下面都有内置的.info方法实现<br>/*<br>&nbsp;* Convenience kcontrol builders<br>&nbsp;*/<br>#define SOC_SINGLE_VALUE(xreg, xshift, xmax, xinvert) \<br>&nbsp;&nbsp; &nbsp;((unsigned long)&amp;(struct soc_mixer_control) \<……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[谈谈amixer controls命令以及widget微件controls数据合成]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2248153]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Mon, 07 Jun 2010 03:58:14 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
		谈谈amixer controls命令以及widget微件controls数据合成<br><br>widget微件<br># amixer controls执行命令<br><br>应用层<br>alsa-lib库<br>amixer controls<br>controls<br>snd_hctl_load<br>snd_ctl_elem_list(hctl-&gt;ctl, &amp;list); 第一次hctl-&gt;space等于NULL,所以只是返回list.count个数,之后calloc list.count个空间,再次读取实际数据[luther.gliethttp]<br>ctl-&gt;ops-&gt;element_list(ctl, list); 也就是snd_ctl_hw_ops.snd_ctl_hw_elem_list<br>snd_ctl_hw_elem_list<br>ioctl(hw-&gt;fd, SNDRV_CTL_IOCTL_ELEM_LIST, list);<br>show_control_id // 打印显示比如：numid=12,iface=MIXER,name='Master Playback Switch'<br>&nbsp;&nbsp;&nbsp; printf("numid=%u,iface=%s,name='%s'",<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; snd_ctl_elem_id_get_numid(id),<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; control_iface(id),<br><br>内核层<br>core/control.c<br>snd_ctl_f_ops.snd_ctl_ioctl<br>{<br>snd_soc_new_pcms<br>snd_card_create<br>snd_ctl_create<br>snd_ctl_dev_register 创建"controlC%i"声卡对应的……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[看看controlC0节点SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2246916]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 04 Jun 2010 03:55:40 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
		看看alsa-lib的controlC0节点方法snd_ctl_ioctl如果处理ioctl扩展的cmd的<br><br>比如：SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE<br><br>应用层<br>alsa-lib库<br>snd_pcm_hw_open<br>snd_ctl_pcm_prefer_subdevice(ctl, subdevice);<br>ctl-&gt;ops-&gt;pcm_prefer_subdevice(ctl, subdev);也就是snd_ctl_hw_ops.snd_ctl_hw_pcm_prefer_subdevice<br>snd_ctl_hw_pcm_prefer_subdevice<br>ioctl(hw-&gt;fd, SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE, &amp;subdev);<br>内核层<br>snd_ctl_f_ops.snd_ctl_ioctl<br>{<br>snd_soc_new_pcms<br>snd_card_create<br>snd_ctl_create<br>snd_ctl_dev_register创建"controlC%i"声卡对应的控制节点,<br>他的fops为snd_ctl_f_ops<br>}<br>snd_ctl_ioctl如果传递进来的cmd不能直接在这里处理,那么调用snd_control_ioctls链表上注册的扩展处理方法[luther.gliethttp]<br>&nbsp;&nbsp;&nbsp; list_for_each_entry(p, &amp;snd_control_ioctls, list) {<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;err = p-&gt;fioctl(card, ctl, cmd, arg);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (err != -ENOIOCTLCMD) { // 如果本p-&gt;fioctl不能……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[关于ioctl,unlocked_ioctl和compat_ioctl执行的顺序]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2246878]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 04 Jun 2010 03:02:38 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
		关于ioctl,unlocked_ioctl和compat_ioctl执行的顺序<br><br>对于ioctl操作,优先执行f_op-&gt;unlocked_ioctl,如果没有unlocked_ioctl,那么执行f_op-&gt;ioctl<br><br>sys_ioctl<br>==&gt; vfs_ioctl<br>==&gt; file_ioctl<br>==&gt; do_ioctl<br>static long do_ioctl(struct file *filp, unsigned int cmd,<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;unsigned long arg)<br>{<br>&nbsp;&nbsp; &nbsp;int error = -ENOTTY;<br><br>&nbsp;&nbsp; &nbsp;if (!filp-&gt;f_op)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;goto out;<br><br>&nbsp;&nbsp; &nbsp;if (filp-&gt;f_op-&gt;unlocked_ioctl) { // 优先执行f_op-&gt;unlocked_ioctl<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;error = filp-&gt;f_op-&gt;unlocked_ioctl(filp, cmd, arg);<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (error == -ENOIOCTLCMD)<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;error = -EINVAL;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;goto out;<br>&nbsp;&nbsp; &nbsp;} else if (filp-&gt;f_op-&gt;ioctl) { // 如果没有unlocked_ioctl,那么执行f_op-&gt;ioctl<……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[关于fcntl(fd, F_SETFD, FD_CLOEXEC)设置exec时close的属性]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2246814]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 04 Jun 2010 02:11:20 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[关于fcntl(fd, F_SETFD, FD_CLOEXEC)设置exec时close的属性<br><br>snd_ctl_hw_open<br>#define SNDRV_FILE_CONTROL&nbsp;&nbsp; &nbsp;ALSA_DEVICE_DIRECTORY "controlC%i"<br>sprintf(filename, SNDRV_FILE_CONTROL, card); // 路径/dev/snd/controlC0<br>fd = snd_open_device(filename, fmode);<br>fcntl(fd, F_SETFD, FD_CLOEXEC); // 这里设置为FD_CLOEXEC表示当程序执行exec函数时本fd将被系统自动关闭,表示不传递给exec创建的新进程, 如果设置为fcntl(fd, F_SETFD, 0);那么本fd将保持打开状态复制到exec创建的新进程中[luther.gliethttp].<br>进入内核系统调用<br>sys_fcntl<br>do_fcntl<br>&nbsp;&nbsp;&nbsp; case F_SETFD:<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;err = 0;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;set_close_on_exec(fd, arg &amp; FD_CLOEXEC);<br><br>void fastcall set_close_on_exec(unsigned int fd, int flag)<br>{<br>&nbsp;&nbsp; &nbsp;struct files_struct *files = current-&gt;files;<br>&nbsp;&nbsp; &nbsp;struct fdtable *fdt;<br>&nbsp;&nbsp; &nbsp;spin_lock(&amp;files-&gt;file_lock);<br>&nbsp;&nbsp; &nbsp;fdt = fil……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[在uda1341的i2s中256fs,384fs和512fs表示的实际意义和如何auto智能选择]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2247181]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Sun, 06 Jun 2010 01:08:05 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
												在uda1341的i2s中256fs,384fs和512fs表示的实际意义和如何auto智能选择<br><br>连接到uda1341的SYSCLK功能的pin12引脚的供uda1341芯片使用的系统时钟可以有3种[luther.gliethttp]<br>这对应s3c2410的@CODECLK = 256fs和@CODECLK = 384fs<br>256fs, 384fs or 512fs system clock frequencies (fsys)<br>可以看到256fs,384fs和512fs都是一种供codec使用的system clock模式,与实际的音频采样率只是存在一个简单的乘机关系,这就像pll倍频一样,将以音频采样频率为base基数,然后以256,384或512倍频后的频率作为codec芯片的system clock系统驱动时钟[luther.gliethttp].<br>============================================<br>下面来自《UDA1341TS.pdf》<br>7.1 System clock<br>The UDA1341TS accommodates slave mode only, this<br>means that in all applications the system devices must<br>provide the system clock. The system frequency is<br>selectable. The options are 256fs, 384fs or 512fs.<br>The system clock must be locked in frequency to the digital<br>interface signals.<br>============================================<br>下面来自《s3c……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[linux下c写成的hmac sha1算法和sh生成测试脚本]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2246540]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Thu, 03 Jun 2010 09:09:30 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<table style="border-collapse: collapse;" cellpadding="0" cellspacing="0" width="360" align="left" border="1" bordercolor="#dddddd">
<tbody><tr height="60"><td width="60" align="center"><img src="/fileicon/zip.gif" alt="" border="0"></td><td>
	<table style="border-collapse: collapse;" cellpadding="0" cellspacing="0" width="100%" border="0">
	<tbody><tr height="20"><td width="40" align="center">文件:</td><td>hmac_sha1_test.tar.bz2</td></tr>
	<tr height="20"><td width="40" align="center">大小:</td><td>4KB</td></tr>
	<tr height="20"><td width="40" align="center">下载:</td><td><a href="http://blogimg.chinaunix.net/blog/upfile2/100603170848.bz2">下载</a></td></tr>
	</tbody></table>
</td></tr>
</tbody></table>
		
		
		  ]]></description>
		</item>	
			<item>
			<title><![CDATA[hjtag_hfc配置arm烧写不同型号的nand flash]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2245395]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Wed, 02 Jun 2010 02:27:15 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
		C:\Program Files\H-JTAG\HFC Examples<br><div style="text-align: left;"><img src="http://blogimg.chinaunix.net/blog/upfile2/100602100931.jpg" onload="javascript:if(this.width>5000)this.width=500;" border="0"></div>
		
		
		
		
		  ]]></description>
		</item>	
			<item>
			<title><![CDATA[关于如何在kernel起来之后通过直接dd读写nand flash分区来更新zImage的mtd问题]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2245434]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Wed, 02 Jun 2010 02:56:24 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[关于如何在kernel起来之后通过直接dd读写nand flash分区来更新zImage的mtd问题<br><br>主要是设置struct mtd_partition中的mask_flags标志位<br>具体含义为：<br>1. master MTD flags to mask out for this partition<br>2. contains flags that have to be masked (removed) from the<br>&nbsp;&nbsp; master MTD flag set for the corresponding MTD partition.<br>凡是置1的bit,相应属性将被惕掉,比如设置为MTD_WRITEABLE,那么表示剔出读写,<br>因此该mtd分区将只有读权限[luther.gliethttp].<br><br>static struct platform_driver pxa3xx_nand_driver = {<br>&nbsp;&nbsp; &nbsp;.driver = {<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;.name&nbsp;&nbsp; &nbsp;= "pxa3xx-nand",<br>&nbsp;&nbsp; &nbsp;},<br>&nbsp;&nbsp; &nbsp;.probe&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;= pxa3xx_nand_probe,<br>&nbsp;&nbsp; &nbsp;.remove&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;= pxa3xx_nand_remove,<br>#ifdef CONFIG_PM<br>&nbsp;&nbsp; &nbsp;.suspend&nbsp;&nbsp; &nbsp;= pxa3xx_nand_suspend,<br>&nbsp;&nbsp; &nbsp;.resume&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;= p……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[linux应用程序使用到的保护机制semaphore和pthread_mutex]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2245523]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Wed, 02 Jun 2010 04:08:56 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<p>１〉互斥锁线程控制：</p>
<p>Mutex 
是一种简单的加锁的方法来控制对共享资源的存取。这个互斥锁只有两行状态，上锁和解锁。可以把这种互斥锁看成是某种全局变量，在同一时间只有一个线程掌握
某个互斥锁，拥有上锁状态的线程能够对共享资源进行操作，若其他线程希望上锁一个已经上了锁的互斥锁。该线程就会挂起。直到上锁定线程释放掉互斥锁为止。</p>
<p>可以这么理解，互斥锁使共享资源按照一定的顺序在线程中被使用。</p>
<p>互斥锁操作主要包括以下几个步骤：</p>
<p>1，&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  互斥锁初始化：pthread_mutex_init</p>
<p>2，&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  互斥锁上锁： pthread_mutex_lock</p>
<p>3，&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  互斥锁判断上锁：pthread_mutex_trylock</p>
<p>4，&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  互斥锁解锁：pthread_mutex_unlock</p>
<p>5，&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  消除互斥锁：pthread_mutex_destroy</p>
<p>２〉信号量线程控制</p>
<p>信号量本质是上一个非……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[alsa声卡/dev/snd/pcmC0D0p的open打开流程]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2245871]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Fri, 04 Jun 2010 05:23:19 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
				<a href="http://blog.chinaunix.net/u1/38994/showart.php?id=2116725" target="_blank">《杂记asla-lib库函数 snd_pcm_open打开流程》</a><br>soc_probe<br>==&gt; snd_soc_register_card或者snd_soc_register_dai或者snd_soc_register_platform或者snd_soc_register_codec<br>==&gt; snd_soc_instantiate_cards<br>==&gt; snd_soc_instantiate_card<br>==&gt; codec_dev-&gt;probe<br>==&gt; uda134x_soc_probe<br>==&gt; snd_soc_new_pcms<br>==&gt; soc_new_pcm<br>==&gt; snd_pcm_new<br><br>snd_soc_new_pcms<br>snd_card_create<br>snd_ctl_create<br>snd_ctl_dev_register创建"controlC%i"声卡对应的控制节点,<br>他的fops为snd_ctl_f_ops<br><br>snd_pcm_dev_register<br>snd_register_device_for_dev<br>创建"pcmC%iD%ip"或者"pcmC%iD%ic"设备节点,它的fops为snd_pcm_f_ops[2]<br><br>snd_pcm_f_ops[2]<br>==&gt; snd_pcm_playback_open或者snd_pcm_capture_open<br>==&gt; snd_pcm_open或者oss的snd_pcm_oss_f_reg.snd_pcm_oss_open,这就对应/dev/dsp了<br>==&gt; snd_pcm_open_file或者oss的snd_pcm_oss_open_file<br>==&gt; snd_pcm_open_substream<br>==……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[理解和使用alsa配置-默认静音,必须先用amixer解除主音量和pcm音量的静音]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2246057]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Wed, 02 Jun 2010 15:49:46 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[
		<a name="N1048D"><span class="smalltitle">ALSA声卡驱动程序的配置</span></a>
      <p>对于声卡驱动程序，除了内核自带的驱动程序之外，您还可以使用Advanced
Linux Sound
Architecture（ALSA，http://www.alsa-project.org/）提供的驱动程序。它支持一系列主流声卡，同时它和内核
的声音结构互相兼容，在某种程度上，可以说是内核的声卡驱动模块的补充。</p>
      <p>
ALSA的声卡驱动程序的一般命名规则是snd-card-&lt;soundcard&gt;。soundcard代表不同类型的声卡。例如，对于所有
的16位Soundblaster声卡，它们对应的驱动程序模块为snd-card-sb16。</p>
      <p>
若与需要linux内核声音驱动的向后兼容性，您还需要两个模块snd-pcm-oss和snd-mixer-oss。对于amixer设置的多个混音
器，它们都是针对不同的设备的。比如CD通道的设置是针对CD播放器的。而很多应用程序，如象mpg123，xmms，realplayer，都要依赖
PCM通道的设置。MIC代表麦克风。不同的Gain部分对于不同的使用能提供特别的增益。</p>
      <p>
<span style="font-weight: bold;">缺省情况下ALSA静音所有的输出。为了获得声音，必须解除主音量和PCM音量的静音。</span> 
        </p><ta……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[error: uuid/uuid.h: 它包含在e2fsprogs中]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2244715]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Tue, 01 Jun 2010 02:07:36 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[error: uuid/uuid.h: No such file or directory<br>它包含在e2fsprogs中<br>http://ftp.de.debian.org/debian/pool/main/e/e2fsprogs/e2fsprogs_1.41.3.orig.tar.gz
		
		
		  ]]></description>
		</item>	
			<item>
			<title><![CDATA[Marvell的PXA3xx（PXA300、PXA310、PXA320）系列应用处理器面向便携式设计]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2244932]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Tue, 01 Jun 2010 06:01:59 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[<div id="blog_text" class="cnt"><p>2006年中宣布并购英特尔(Intel)通信处理器部的Marvell公司，
稍早前发布了用于手持装置的PXA3xx系列应用处理器。之前该产品在英特尔的内部开发代号为Monahans，以英特尔第三代Xscale技术为基
础；Marvell在该系列芯片上运用了智能功耗管理技术，频率速度范围为624MHz~860MHz，声称可为手机制造商提供开发差异化产品的灵活解决
方案。</p>
<p>PXA3xx系列现有PXA300、PXA310、PXA320等型号，“与英特尔前一代PXA27x系列相比，新组件减少的功耗多达60%，相对
地，针对手持装置的影片播放应用，可延长40%的电池使用寿命，”Marvell手机暨掌上型计算机部(Cellular Handheld 
Group，CHG)总经理Jeffrey Krisa表示。</p>
<p>为提升开发灵活度，Marvell PXA 
3xx系列的软件完全兼容，并包含两个接脚兼容组件，主要针对移动电话、数字媒体播放器、GPS导航系统和嵌入式装置。其中PXA300(之前代号
Monahans-L)主要针对大量手持装置；PXA310 
(Monahan-LV)可延长3G音视频产品的电池寿命，并提供高分辨率VGA多媒体性能。而PXA320(Monahans 
P)则锁定多功能手持装置、高阶智能电话及行动网络浏览装置。</p>
<p>PXA310可提供VGA分辨率的30fps……  ]]></description>
		</item>	
			<item>
			<title><![CDATA[关于bluez的一些网摘]]></title>
			<link><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=2243858]]></link>
			<author></author>
			<guid></guid>
			<category></category>
			<pubDate>Sun, 30 May 2010 14:55:53 GMT</pubDate>
			<comments></comments>
			<description><![CDATA[http://www.bluez.org/<br><br>主机控制接口（Host Control Interface ，HCI）层<br>Bluetooth 协议核心<br>逻辑链路控制和适配协议（Logical Link Control and Adaptation Protocol，L2CAP）<br>SCO 音频层<br><br>&nbsp; 蓝牙协议栈BlueZ分为两个部分:内核代码和用户态程序及工具集。其中内核代码由BlueZ<br>核心协议和驱动程序等模块组成;用户态程序及工具集包括应用程序接口和BlueZ工具集。<br>&nbsp; 在内核代码中,BlueZ协议的bluez-kernel和bluez-libs软件包实现了主机控制接口(HCI)和套<br>接字接口的全部功能。内核源代码采用模块化设计,由设备驱动程序模块和蓝牙核心协议模块<br>组成,分别位于Linux内核代码的drivers子目录和net子目录下。drivers子目录下的代码包括Linux<br>内核对各种接口的蓝牙设备的驱动。net子目录下代码包括蓝牙核心协议和一部分扩展协议的内<br>核代码,如L2CAP、RFCOMM、SCO、SDP、BNEP等协议。<br>&nbsp; 对于用户态程序, BlueZ提供函数库及应用程序接口,便于程序员开发蓝牙应用程序。<br>BlueZ utils是蓝牙设备配置和应用的主工具集,实现对蓝牙设备的初始化和控制。<br><br>&nbsp; 蓝牙协议栈是蓝牙系统开发结构的核心。在操作系统的用户模……  ]]></description>
		</item>	
			</channel>
	</rss>
