﻿<?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>C++博客-那些年，流淌着的梦想</title><link>http://www.cppblog.com/imishero/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:09:55 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:09:55 GMT</pubDate><ttl>60</ttl><item><title>can't open /dev/ttyS0: No such file or directory</title><link>http://www.cppblog.com/imishero/archive/2015/07/23/211356.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Thu, 23 Jul 2015 10:31:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2015/07/23/211356.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/211356.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2015/07/23/211356.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/211356.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/211356.html</trackback:ping><description><![CDATA[今天用 Buildroot 编译文件系统烧写到开发板启动提示下面的错误<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/ttyS0:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/ttyS0:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/ttyS0:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/ttyS0:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/ttyS0:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/null:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/null:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/null:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/null:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">can</span><span style="color: #000000; ">'</span><span style="color: #000000; ">t&nbsp;open&nbsp;/dev/null:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</span></div><br />后面发现是内核没有选上 CONFIG_DEVTMPFS_MOUNT 的原因，配置上之后重新编译内核烧写到开发板就可以避免这个问题了<br /><img alt="" src="http://www.cppblog.com/images/cppblog_com/imishero/1.png" height="375" width="817" /><img src ="http://www.cppblog.com/imishero/aggbug/211356.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2015-07-23 18:31 <a href="http://www.cppblog.com/imishero/archive/2015/07/23/211356.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编译没有图形界面的 Emacs</title><link>http://www.cppblog.com/imishero/archive/2013/07/11/201698.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Thu, 11 Jul 2013 09:22:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2013/07/11/201698.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/201698.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2013/07/11/201698.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/201698.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/201698.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 有时候编译 Emacs 时不想发图形界面，因为用不到，可以用以下命令来进行编译：<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">make&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DWITHOUT_X11&nbsp;install&nbsp;clean<br /><br />or<br /><br />make WITHOUT_X11=set install clean<br /></span></div><img src ="http://www.cppblog.com/imishero/aggbug/201698.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2013-07-11 17:22 <a href="http://www.cppblog.com/imishero/archive/2013/07/11/201698.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在 Emacs 里面使用 Cscope</title><link>http://www.cppblog.com/imishero/archive/2013/05/14/200261.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Tue, 14 May 2013 09:41:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2013/05/14/200261.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/200261.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2013/05/14/200261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/200261.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/200261.html</trackback:ping><description><![CDATA[<div><span style="color: #339966;"><strong>在查阅Linux源码时，总是为函数或变量的查找跟踪而烦恼，有了这篇文章之后，再也不用烦恼了：</strong></span><br />http://lifegoo.pluskid.org/wiki/EmacsCscope.html</div><img src ="http://www.cppblog.com/imishero/aggbug/200261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2013-05-14 17:41 <a href="http://www.cppblog.com/imishero/archive/2013/05/14/200261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oops 定位错误代码行</title><link>http://www.cppblog.com/imishero/archive/2013/04/10/199304.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Wed, 10 Apr 2013 07:16:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2013/04/10/199304.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/199304.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2013/04/10/199304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/199304.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/199304.html</trackback:ping><description><![CDATA[<span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">这几天一直在调试atmel at91sam9x25的串口，用着用着总会导致Oops，Oops内容如下：</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.510000] Unable to handle kernel NULL pointer dereference at virtual address 00000000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] pgd = c0004000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] [00000000] *pgd=00000000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] Internal error: Oops: 17 [#1]</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] last sysfs file: /sys/devices/virtual/misc/at91flash/dev</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] Modules linked in: at91flash at91gpio at91mc323 ds18b20 at91adc</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] CPU: 0&nbsp; &nbsp; Tainted: G&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;W&nbsp; &nbsp; (2.6.39 #35)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" />[ 1023.520000] PC is at atmel_tasklet_func+0x104/0x690<br style="word-wrap: break-word;" />[ 1023.520000] LR is at atmel_tasklet_func+0x10/0x690<br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] pc : [&lt;c01a33ac&gt;]&nbsp; &nbsp; lr : [&lt;c01a32b8&gt;]&nbsp; &nbsp; psr: 20000013</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] sp : c7825f58&nbsp;&nbsp;ip : 60000093&nbsp;&nbsp;fp : 00000000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] r10: 00000006&nbsp;&nbsp;r9 : 00000000&nbsp;&nbsp;r8 : 0000000a</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] r7 : 00000000&nbsp;&nbsp;r6 : c7824000&nbsp;&nbsp;r5 : c78a2484&nbsp;&nbsp;r4 : c03c0cb8</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] r3 : 0000004c&nbsp;&nbsp;r2 : 0000004c&nbsp;&nbsp;r1 : 60000013&nbsp;&nbsp;r0 : 00000001</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] Flags: nzCv&nbsp;&nbsp;IRQs on&nbsp;&nbsp;FIQs on&nbsp;&nbsp;Mode SVC_32&nbsp;&nbsp;ISA ARM&nbsp;&nbsp;Segment kernel</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] Control: 0005317f&nbsp;&nbsp;Table: 27b40000&nbsp;&nbsp;DAC: 00000017</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] Process ksoftirqd/0 (pid: 3, stack limit = 0xc7824270)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] Stack: (0xc7825f58 to 0xc7826000)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] 5f40:&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 00000001 c7824000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] 5f60: 00000100 0000000a 00000000 00000006 c7825f8c 00000000 00000001 c7824000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] 5f80: 00000100 0000000a 00000006 c0045cf8 c03b995c c00461d8 c7aa6ae0 00000000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] 5fa0: 60000093 00000000 c7824000 c0046274 00000013 00000000 00000000 c00462e0</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] 5fc0: 00000000 c7819f70 00000000 c00570e0 00000000 00000000 00000000 00000000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] 5fe0: c7825fe0 c7825fe0 c7819f70 c0057060 c0030b14 c0030b14 ffffffff ffffffff</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] [&lt;c01a33ac&gt;] (atmel_tasklet_func+0x104/0x690) from [&lt;c0045cf8&gt;] (tasklet_action+0x84/0xe</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] [&lt;c0045cf8&gt;] (tasklet_action+0x84/0xe</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">&nbsp;from [&lt;c00461d8&gt;] (__do_softirq+0x88/0x124)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] [&lt;c00461d8&gt;] (__do_softirq+0x88/0x124) from [&lt;c00462e0&gt;] (run_ksoftirqd+0x6c/0x12</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] [&lt;c00462e0&gt;] (run_ksoftirqd+0x6c/0x12</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">&nbsp;from [&lt;c00570e0&gt;] (kthread+0x80/0x8</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] [&lt;c00570e0&gt;] (kthread+0x80/0x8</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">&nbsp;from [&lt;c0030b14&gt;] (kernel_thread_exit+0x0/0x</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.520000] Code: 1a000002 e59f057c e59f157c ebfa3d49 (e5973000)&nbsp;</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.710000] ---[ end trace 786b41cd25d3b661 ]---</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.710000] Kernel panic - not syncing: Fatal exception in interrupt</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.720000] [&lt;c0034b10&gt;] (unwind_backtrace+0x0/0xe0) from [&lt;c02a8af8&gt;] (panic+0x50/0x170)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.720000] [&lt;c02a8af8&gt;] (panic+0x50/0x170) from [&lt;c0032e00&gt;] (die+0x184/0x1c4)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.730000] [&lt;c0032e00&gt;] (die+0x184/0x1c4) from [&lt;c0035aa8&gt;] (__do_kernel_fault+0x64/0x84)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.740000] [&lt;c0035aa8&gt;] (__do_kernel_fault+0x64/0x84) from [&lt;c0035c7c&gt;] (do_page_fault+0x1b4/0x1c</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.750000] [&lt;c0035c7c&gt;] (do_page_fault+0x1b4/0x1c</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">&nbsp;from [&lt;c002a240&gt;] (do_DataAbort+0x30/0x9</span><img src="http://bbs.chinaunix.net/static/image/smiley/default/icon_cool.gif" smilieid="44" border="0" alt="" style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.760000] [&lt;c002a240&gt;] (do_DataAbort+0x30/0x98) from [&lt;c002f86c&gt;] (__dabt_svc+0x4c/0x60)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.770000] Exception stack(0xc7825f10 to 0xc7825f58)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.770000] 5f00:&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 00000001 60000013 0000004c 0000004c</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.780000] 5f20: c03c0cb8 c78a2484 c7824000 00000000 0000000a 00000000 00000006 00000000</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.790000] 5f40: 60000093 c7825f58 c01a32b8 c01a33ac 20000013 ffffffff</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.790000] [&lt;c002f86c&gt;] (__dabt_svc+0x4c/0x60) from [&lt;c01a33ac&gt;] (atmel_tasklet_func+0x104/0x690)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.800000] [&lt;c01a33ac&gt;] (atmel_tasklet_func+0x104/0x690) from [&lt;c0045cf8&gt;] (tasklet_action+0x84/0xe8)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.810000] [&lt;c0045cf8&gt;] (tasklet_action+0x84/0xe8) from [&lt;c00461d8&gt;] (__do_softirq+0x88/0x124)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.820000] [&lt;c00461d8&gt;] (__do_softirq+0x88/0x124) from [&lt;c00462e0&gt;] (run_ksoftirqd+0x6c/0x128)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.830000] [&lt;c00462e0&gt;] (run_ksoftirqd+0x6c/0x128) from [&lt;c00570e0&gt;] (kthread+0x80/0x88)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">[ 1023.840000] [&lt;c00570e0&gt;] (kthread+0x80/0x88) from [&lt;c0030b14&gt;] (kernel_thread_exit+0x0/0x8)</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">注意上述红色的地方。</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">下面就来显示如何定位出出错代码行:</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">1.首先，编译时打开complie with debug info选项，步则如下</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" />make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig<br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><ignore_js_op style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;"><img id="aimg_533246" src="http://cupic.img168.net/bbsfile/forum/201205/16/151240ypsqhwlxehkieizx.jpg" zoomfile="http://cupic.img168.net/bbsfile/forum/201205/16/151240ypsqhwlxehkieizx.jpg" file="http://cupic.img168.net/bbsfile/forum/201205/16/151240ypsqhwlxehkieizx.jpg" width="700" inpost="1" alt="oops1.jpg" title="oops1.jpg" initialized="true" style="word-wrap: break-word; cursor: pointer;" />&nbsp;</ignore_js_op><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">进入 Kernel hacking</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><ignore_js_op style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;"><img id="aimg_533247" src="http://cupic.img168.net/bbsfile/forum/201205/16/15133148u8ot9heu8w6e8b.jpg" zoomfile="http://cupic.img168.net/bbsfile/forum/201205/16/15133148u8ot9heu8w6e8b.jpg" file="http://cupic.img168.net/bbsfile/forum/201205/16/15133148u8ot9heu8w6e8b.jpg" width="700" inpost="1" alt="oops2.jpg" title="oops2.jpg" initialized="true" style="word-wrap: break-word; cursor: pointer;" />&nbsp;</ignore_js_op><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">选择&nbsp;</span>Compile the kernel with debug info<br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">然后，保存，退出。</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">接着&nbsp;</span>make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-<br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">编译， 等编译完成。</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">2.利用arm-none-linux-gnueabi-gdb 调试，如下：</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" />arm-none-linux-gnueabi-gdb vmlinux<br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><ignore_js_op style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;"><img id="aimg_533248" src="http://cupic.img168.net/bbsfile/forum/201205/16/151445j0z66yptveterrtl.jpg" zoomfile="http://cupic.img168.net/bbsfile/forum/201205/16/151445j0z66yptveterrtl.jpg" file="http://cupic.img168.net/bbsfile/forum/201205/16/151445j0z66yptveterrtl.jpg" width="700" inpost="1" alt="oops3.jpg" title="oops3.jpg" initialized="true" style="word-wrap: break-word; cursor: pointer;" />&nbsp;</ignore_js_op><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">对应着Oops 消息里面的这一行</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" />[ 1023.520000] LR is at atmel_tasklet_func+0x10/0x690<br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">在gdb下键入命令 ：</span>&nbsp;l *at atmel_tasklet_func+0x10<br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><ignore_js_op style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;"><img id="aimg_533249" src="http://cupic.img168.net/bbsfile/forum/201205/16/151612wzziaf92xxuxf29w.jpg" zoomfile="http://cupic.img168.net/bbsfile/forum/201205/16/151612wzziaf92xxuxf29w.jpg" file="http://cupic.img168.net/bbsfile/forum/201205/16/151612wzziaf92xxuxf29w.jpg" width="700" inpost="1" alt="oops4.jpg" title="oops4.jpg" initialized="true" style="word-wrap: break-word; cursor: pointer;" />&nbsp;</ignore_js_op><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">这样就找到了出错的代码行。在这里鄙视一下atmel提供的内核，竟然还有bug，fuck it！</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">从这里可以看出是由于串口的dma导致Oops的，于是我去掉了串口的dma传输。方法如下：</span><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><ignore_js_op style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;"><img id="aimg_533250" src="http://cupic.img168.net/bbsfile/forum/201205/16/1516485kd2iposyidy5rts.jpg" zoomfile="http://cupic.img168.net/bbsfile/forum/201205/16/1516485kd2iposyidy5rts.jpg" file="http://cupic.img168.net/bbsfile/forum/201205/16/1516485kd2iposyidy5rts.jpg" width="670" inpost="1" alt="oops5.jpg" title="oops5.jpg" initialized="true" style="word-wrap: break-word; cursor: pointer;" />&nbsp;</ignore_js_op><br style="word-wrap: break-word; font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;" /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">去掉之后还没有发现上述的Oops出现。<br /><br />以上来自：&nbsp;</span>http://bbs.chinaunix.net/thread-3744197-1-1.html<br /><br /><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;">用以上的方法也能解决 Oops，但我发现我的情况是有的串口收发都可以使用 DMA，而有的就不行，于是我一个一个串口的测试，修改源码，将不能使用DMA的串口的DMA功能关闭掉，而不是将所有串口的</span>&nbsp;DMA 功能都关闭。<span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;"><br /></span><span style="font-family: song, Verdana; font-size: 14px; line-height: 22.383333206176758px; background-color: #f0f3fa;"><br /><br /></span><img src ="http://www.cppblog.com/imishero/aggbug/199304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2013-04-10 15:16 <a href="http://www.cppblog.com/imishero/archive/2013/04/10/199304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux 驱动初接触</title><link>http://www.cppblog.com/imishero/archive/2013/04/02/199045.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Tue, 02 Apr 2013 07:36:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2013/04/02/199045.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/199045.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2013/04/02/199045.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/199045.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/199045.html</trackback:ping><description><![CDATA[<strong style="font-size: 14pt; color: #008000;">编译 scull<br /></strong><br />&nbsp; &nbsp;<font size="2">出现以下错误<br /></font><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->&nbsp;Fix&nbsp;it&nbsp;to&nbsp;use&nbsp;ccflags-y.&nbsp;&nbsp;Stop.</div><font size="2">&nbsp; &nbsp;将 Makefile 中的 CFLAGS 改为 ccflags-y， 重新 make，又出现错误<br /></font><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all">main.c:15:26:&nbsp;fatal&nbsp;error:&nbsp;linux/config.h:&nbsp;No&nbsp;such&nbsp;file&nbsp;or&nbsp;directory</div>&nbsp; &nbsp;将 main.c 中的&nbsp;#include &lt;linux/config.h&gt; 删除或注释掉，重新 make，继续编译会遇到如下问题<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->main.c:634:2:&nbsp;error:&nbsp;unknown&nbsp;field 'ioctl' specified&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;initializer</div><font size="2">&nbsp; &nbsp;是因为内核中的&nbsp;</font>file_operations 结构发生了改变，将 main.c 中&nbsp;scull_fops 声明处的 .ioctl 改为&nbsp;.unlocked_ioctl &nbsp;即可，继续编译还会遇到如下问题<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->main.c:652:3:&nbsp;error:&nbsp;<span style="color: #0000FF; ">implicit</span>&nbsp;declaration&nbsp;of&nbsp;function&nbsp;&#8216;init_MUTEX&#8217;&nbsp;[-Werror=<span style="color: #0000FF; ">implicit</span>-function-declaration]</div>&nbsp; &nbsp;可在 main.c 的开始处添加以下代码解决问题<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include&nbsp;&lt;linux/semaphore.h&gt;<br /><span style="color: #0000FF; ">#define</span>&nbsp;init_MUTEX(a)&nbsp;sema_init(a,1)<br /><span style="color: #0000FF; ">#define</span>&nbsp;init_MUTEX_LOCKED(a)&nbsp;sema_init(a,0)</div><font size="2">&nbsp; &nbsp;到这时还没完，我开始有点烦燥了...继续前进时还出现以下错误<br /></font><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all">pipe.c:&nbsp;In&nbsp;function&nbsp;&#8216;scull_p_read&#8217;:<br />pipe.c:131:7:&nbsp;error:&nbsp;&#8216;TASK_INTERRUPTIBLE&#8217;&nbsp;undeclared&nbsp;(first&nbsp;use&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;<span style="color: #0000FF; ">this</span>&nbsp;function)<br />pipe.c:131:7:&nbsp;note:&nbsp;each&nbsp;undeclared&nbsp;identifier&nbsp;<span style="color: #0000FF; ">is</span>&nbsp;reported&nbsp;only&nbsp;once&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;each&nbsp;function&nbsp;it&nbsp;appears&nbsp;<span style="color: #0000FF; ">in</span><br />pipe.c:131:3:&nbsp;error:&nbsp;<span style="color: #0000FF; ">implicit</span>&nbsp;declaration&nbsp;of&nbsp;function&nbsp;&#8216;signal_pending&#8217;&nbsp;[-Werror=<span style="color: #0000FF; ">implicit</span>-function-declaration]<br />pipe.c:131:3:&nbsp;error:&nbsp;<span style="color: #0000FF; ">implicit</span>&nbsp;declaration&nbsp;of&nbsp;function&nbsp;&#8216;schedule&#8217;&nbsp;[-Werror=<span style="color: #0000FF; ">implicit</span>-function-declaration]</div>&nbsp; &nbsp;该问题可向 pipe.c 和 access.c 中添加 <strong>#include &lt;linux/sched.h&gt;</strong>&nbsp;来解决，但后面还会遇到这样的问题<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->access.c:101:34:&nbsp;error:&nbsp;&#8216;SPIN_LOCK_UNLOCKED&#8217;&nbsp;undeclared&nbsp;here&nbsp;(not&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;a&nbsp;function)</div><font size="2">&nbsp; &nbsp;在access.c文件中用&nbsp;</font><span style="font-size: 13px; color: #0000ff;">static</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;DEFINE_SPINLOCK(scull_w_lock);</span><font size="2">&nbsp; 来代替&nbsp;</font><span style="font-size: 13px; color: #0000ff;">static</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;spinlock_t&nbsp;scull_w_lock&nbsp;</span><span style="background-color: #eeeeee; font-size: 13px;">=</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;SPIN_LOCK_UNLOCKED;<br /></span><font size="2">&nbsp; &nbsp;继续进行，遭遇下面问题<br /></font><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->access.c:111:29:&nbsp;error:&nbsp;&#8216;<span style="color: #0000FF; ">struct</span>&nbsp;task_struct&#8217;&nbsp;has&nbsp;no&nbsp;member&nbsp;named&nbsp;&#8216;uid&#8217;<br />access.c:112:29:&nbsp;error:&nbsp;&#8216;<span style="color: #0000FF; ">struct</span>&nbsp;task_struct&#8217;&nbsp;has&nbsp;no&nbsp;member&nbsp;named&nbsp;&#8216;euid&#8217;<br />access.c:119:26:&nbsp;error:&nbsp;&#8216;<span style="color: #0000FF; ">struct</span>&nbsp;task_struct&#8217;&nbsp;has&nbsp;no&nbsp;member&nbsp;named&nbsp;&#8216;uid&#8217;</div>&nbsp; &nbsp;把 access.c 文件中的&nbsp;<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->current-&gt;uid&nbsp;<br />current-&gt;euid</div>&nbsp; &nbsp;全部修对应地改为<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->current-&gt;cred-&gt;uid<br />current-&gt;cred-&gt;euid</div>&nbsp; &nbsp;继续重新 make，终于可以生成 scull.ko 了，OMG......<br /><br />&nbsp; &nbsp;<strong>还要注意的是，上面的错误可能不止发生在一个地方，编译时需要注意看清错误提示，如果有跟上面一样的错误发生，只需参照上面的方法来修改即可。<br />&nbsp; &nbsp;驱动不会在虚拟终端上输出，所以如果在终端上没看到驱动的输出，可以看看是不是输出到日志中了：</strong>/var/log/syslog<strong><br /></strong><font size="2"><br /><br /></font><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#117;&#112;&#112;&#111;&#114;&#116;&#64;&#67;&#117;&#116;&#101;&#83;&#111;&#102;&#116;&#46;&#78;&#101;&#116;">Contact us</a><img src ="http://www.cppblog.com/imishero/aggbug/199045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2013-04-02 15:36 <a href="http://www.cppblog.com/imishero/archive/2013/04/02/199045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL 查询表的外键</title><link>http://www.cppblog.com/imishero/archive/2012/05/01/173357.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Tue, 01 May 2012 08:37:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2012/05/01/173357.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/173357.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2012/05/01/173357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/173357.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/173357.html</trackback:ping><description><![CDATA[<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 24px; color: #383838; font-family: Arial, Helvetica, sans-serif; text-align: left; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: medium; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: large; color: #008000; "><strong>一：查询出所有表的键</strong></span></span></span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 24px; color: #383838; font-family: Arial, Helvetica, sans-serif; text-align: left; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: medium; "></span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">SELECT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #808080; ">*</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">FROM</span><span style="color: #000000; ">&nbsp;INFORMATION_SCHEMA.KEY_COLUMN_USAGE&nbsp;</span><span style="color: #0000FF; ">WHERE</span><span style="color: #000000; ">&nbsp;TABLE_NAME</span><span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">you&nbsp;tableName</span><span style="color: #FF0000; ">'</span></div></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 24px; color: #383838; font-family: Arial, Helvetica, sans-serif; text-align: left; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " /><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: large; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #008000; "><strong>二：查询出所有的外键</strong></span></span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 24px; color: #383838; font-family: Arial, Helvetica, sans-serif; text-align: left; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: large; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " /></span></span><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">select</span><span style="color: #000000; ">&nbsp;</span><span style="color: #808080; ">*</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">from</span><span style="color: #000000; ">&nbsp;<br />(<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">SELECT</span><span style="color: #000000; ">&nbsp;</span><span style="color: #808080; ">*</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">FROM</span><span style="color: #000000; ">&nbsp;INFORMATION_SCHEMA.KEY_COLUMN_USAGE&nbsp;<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">WHERE</span><span style="color: #000000; ">&nbsp;TABLE_NAME</span><span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">Data_Product</span><span style="color: #FF0000; ">'</span><span style="color: #000000; "><br />)&nbsp;tableTemp<br /></span><span style="color: #0000FF; ">where</span><span style="color: #000000; ">&nbsp;&nbsp;CONSTRAINT_NAME&nbsp;</span><span style="color: #808080; ">like</span><span style="color: #000000; ">&nbsp;</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">FK%</span><span style="color: #FF0000; ">'</span></div></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: 24px; color: #383838; font-family: Arial, Helvetica, sans-serif; text-align: left; ">另外表的类型有 &nbsp;'C', 'F', 'PK', 'UQ', 'D' &nbsp;可以按键需要来修改<br />转载自<a href="http://www.diybl.com/course/7_databases/mysql/Mysqljs/20090415/165077.html">http://www.diybl.com/course/7_databases/mysql/Mysqljs/20090415/165077.html</a></p><img src ="http://www.cppblog.com/imishero/aggbug/173357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2012-05-01 16:37 <a href="http://www.cppblog.com/imishero/archive/2012/05/01/173357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MFC cdatetimectrl  初始时间为1970的问题</title><link>http://www.cppblog.com/imishero/archive/2012/04/15/171481.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Sun, 15 Apr 2012 08:32:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2012/04/15/171481.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/171481.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2012/04/15/171481.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/171481.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/171481.html</trackback:ping><description><![CDATA[<div>&nbsp; &nbsp; MFC 的 cdatetimectrl 的控件有时在刚开始的时候显示时间默认为 1970<br />&nbsp; &nbsp; 问题有可能在于给&nbsp;cdatetimectrl 控件关联了一个 CTIME 变量，该变量在构造函数里初始化为 0，就会导致该控件初始显示为 1970 或 08：00：00<br />&nbsp; &nbsp; 解决方法是<span style="color: red; "><strong>将构造函数里的初始化删掉</strong></span>，控件就会显示当前打开的时间</div><img src ="http://www.cppblog.com/imishero/aggbug/171481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2012-04-15 16:32 <a href="http://www.cppblog.com/imishero/archive/2012/04/15/171481.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于 debug assertion failed, file:dlgdata.cpp,line"43 错误解析</title><link>http://www.cppblog.com/imishero/archive/2012/03/09/167500.html</link><dc:creator>墨……</dc:creator><author>墨……</author><pubDate>Fri, 09 Mar 2012 07:58:00 GMT</pubDate><guid>http://www.cppblog.com/imishero/archive/2012/03/09/167500.html</guid><wfw:comment>http://www.cppblog.com/imishero/comments/167500.html</wfw:comment><comments>http://www.cppblog.com/imishero/archive/2012/03/09/167500.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/imishero/comments/commentRss/167500.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/imishero/services/trackbacks/167500.html</trackback:ping><description><![CDATA[<div><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">在一个项目的调试过程中，出现错误</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; "><span style="color: #ff0000; ">debug assertion failed, file:dlgdata.cpp,line"43</span></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">经网上查找，项目查证：</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">问题原因：没有找到这个相应控件类型 ！<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一般有三种情况：<span style="color: #ff0000; ">一是控件ID不存在，二是控件未创建，三是控件的类型不对&nbsp;</span><br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " />看看DoDataExchange函数&nbsp;</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff; ">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 我遇到这种情况原因是控件ID不对。。<br /><br />转载自：<a href="http://www.cnblogs.com/wenbin/archive/2009/05/07/1452188.html" style="font-family: verdana, 'courier new'; line-height: 21px; ">http://www.cnblogs.com/wenbin/archive/2009/05/07/1452188.html</a></p></div><img src ="http://www.cppblog.com/imishero/aggbug/167500.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/imishero/" target="_blank">墨……</a> 2012-03-09 15:58 <a href="http://www.cppblog.com/imishero/archive/2012/03/09/167500.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>