Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/z2007b,請勿未經本人許可用於商業用途。著作權歸無為和尚所有。 LINUX核心大講堂系列(序論) 其實我也是過來人,深知沒有接觸過核心開發的同志在無人指導的情況下獨自學習LINUX裝置驅動的感受。都是買書,看BLOG,自已調個小程式,很難有同志能夠堅持下去,市面上的書籍也不是說寫的不好,只是大家的基礎都不一樣,另外我感覺有一點就是那些書籍在看了之後始終感覺有一層捅不破的紙,看書的時候感覺啥都會,書一關,好像又啥都不懂了。其實我進書店看
Time of Update: 2018-12-05
作者:混沌 八月 24th, 2008 原文出處:http://www.huihoo.com/forum/viewthread.php?tid=5654作者:餘濤(yut616_at_sohu.com) 由於安裝說明檔案“ACE- INSTALL.html”中提及的linux安裝過程極少,其主要針對Unix、Windows,手動設定較多,加上本人安裝後感覺“ACE-
Time of Update: 2018-12-05
成為一名精通 Linux 程式設計的進階程式員一直是不少朋友孜孜以求的目標。根據中華英才網統計資料,北京地區 Linux 程式員月薪平均為 Windows 程式員的 1.8 倍、Java 程式員的 2.6 倍, Linux 程式員年終獎金平均為 Windows 程式員的 2.9 倍。同時資料顯示,隨著工作經驗的增長, Linux 程式員與 Windows 程式員的收入差距還有擴大的趨勢。Denis 認為,要學好 Linux 環境下的編程,關鍵是要看對、選對、學會正確的書籍。可以說,如果你選對了
Time of Update: 2018-12-05
可能把驅動模型放在第一章講會會有點難度,但是只要能跨過這道坎,後面就會輕鬆很多,驅動模型是整個linux裝置驅動的基石。大部分人把驅動模型叫做裝置模型,但是我查了linux的協助文檔,就是在下載源碼路徑下的Documentation目錄中找到driver-model這個目錄,裡麵包含的檔案就是我在本章中所要講述的東西,也就是我所說的驅動模型。因此本文都會用驅動模型這個術語(如果各位覺得這種叫法是錯誤的,請在評論中指出,並給出理由,本人非常誠懇的接受各位善意的批評與指正)。驅動模型的核心結構就是我
Time of Update: 2018-12-05
先說一下linux重新導向:0、1和2分別表示標準輸入、標準輸出和標準錯誤資訊輸出,可以用來指定需要重新導向的標準輸入或輸出。在一般使用時,預設的是標準輸出,既1.當我們需要特殊用途時,可以使用其他標號。例如,將某個程式的錯誤資訊輸出到log檔案中:./program
Time of Update: 2018-12-05
首先,要有一個穩定版本的核心源碼,我開始用的一個RC版的,結果總出錯。。。cd 到核心代碼目錄下,/usr/src/linux-x.x.x好像不行,我是用自己下的linux-2.6.33.3然後執行 make mandocs大約半小時後產生好執行 sudo make installmandocs 安裝好這樣就可以用man查看核心功能了。 注意要實現安裝xmlto軟體包核心還擁有大量從代碼自動產生的文檔。它包含核心內部API的全面介紹以及如何妥善處理加鎖的規則。產生的文檔會放在
Time of Update: 2018-12-05
1.在應用程式菜單中建立起動器:我們拿openoffice3做示範。 應用程式->附件->開啟終端 在命令列中輸入如下命令: sudo gedit /usr/share/applications/openoffice3.desktop #sudo是以超級使用者權限執行後面命令 #gedit是開啟文字編輯器,後面的路徑標識要編輯的檔案
Time of Update: 2018-12-05
http://19831028.blog.51cto.com/1333653/301419http://blog.csdn.net/androidbluetooth/article/details/6573588安裝好了,但是沒有編譯出庫檔案 ,好像不能開發應用程式調用APIsqlite3
Time of Update: 2018-12-05
Linux核心中的的原子變數分析Linux核心中有幾個東西是比較常見的,原子變數就是其中之一。其實之前我也沒有專門去折騰過這些東西,畢竟就那麼幾行代碼,只要知道這個意思就行了。也就僅限於知道有一條彙編指令叫lock。用這個可以保證資料操作的原子性。但前幾天因為某些原因翻了一下RCU的代碼,RCU的代碼在指標賦值的時候並未lock。所以有些奇怪。經過一翻折騰,終於有了一些答案。現寫出來與大家一起分享,高手就不用看了,屬於小菜級的文章。首先我們從一小段代碼入手:2 int
Time of Update: 2018-12-05
1. 下載開發包解壓。分別下載jrtplib-3.7.1.tar.gz和jthread-1.2.1.tar.gz。為:http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.7.1.tar.gz和http://research.edm.uhasselt.be/jori/jthread/jthread-1.2.1.tar.gz2. 將源檔案放到如下任意目錄中,這裡假設放到主目錄下:/home/jrtplib/。分別解壓#
Time of Update: 2018-12-05
Linux核心大講堂 (二) 傳說中的字元裝置(1)就當我還在學校的時候,我就曾在一個裝機群裡聽一位裝機聖手說,驅動程式的安裝沒你想的那麼簡單,分類型的,分為字元裝置驅動和塊裝置驅動。我當時就納悶了,我說我裝機的時候好像沒看到啊,我就把光碟片放過去然後就一直點下一步,然後重啟就好了啊。後面我在群裡被幾位高手圍攻,敗下陣來,時過境遷,哥現在也算是道上混的兄弟了,再也沒那麼容易被蒙了。就算你DIY再牛,你也不要和我說裝驅動要分類。否則我就和你講核心,講暈你再說。看誰更能吹,哈哈。我得意的笑。我發現學
Time of Update: 2018-12-05
Linux核心大講堂 (三)督脈之虛擬檔案系統(1)在上一節<<Linux核心大講堂
Time of Update: 2018-12-05
(參考了這篇文章,沒太明白大意,不過還是謝謝,個人感覺最好還是參考一下OLDLINUX論壇上的指南)http://blog.chinaunix.net/u1/37292/showart_421699.html 在Redhat中搭建linux-0.11運行環境 在運行當中, BOCHS出現一個問題, 直接被PANIC了, Event type: PANIC Device: [MEM0 ] Message: ROM: System BIOS must end at
Time of Update: 2018-12-05
這些技巧都是平時我自已在閱讀的時候總結的,想到哪就說到哪了,其實我總結的技巧遠不止這些,但是先說這些吧。後面想到了再補充,只有在拿到代碼做分析的時候遇到實際的問題時,才能見招拆招,想些辦法。其實linux核心源碼還是比較難跟蹤的,我剛開始閱讀核心源碼的時候,感覺很多東西經常找著找著就失去頭緒了,很鬱悶。通過一些閱讀後發現核心也就那麼幾招用的比較多,摸清楚其脾氣後,剩下的就是耐心了。1.我曾經用過一陣VI,裝了一堆外掛程式後折騰了一陣,發現還是無法感受其推崇者所說的那一堆好處,還是喜歡用sourc
Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/z2007b,請勿未經本人許可用於商業用途。著作權歸無為和尚所有。上節我們分析到int kset_register(struct kset *k)函數中的kobject_add_internal(&k->kobj),我們接著分析,先喚起來一下大家的記憶,給出kset_register的函數定義:int kset_register(struct kset *k){ int err; if (!k) return
Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/z2007b,請勿未經本人許可用於商業用途。著作權歸無為和尚所有。 實在是讓大家久等了,因為最近離職,所以繁鎖的事情很多,今天終於把離職手續給辦完了,不過還有一堆事情沒有做,如果更新的慢的話,請大家多多包涵。言歸正傳。俗話說的好:光說不練假把式。很明顯本帥哥不是假把式。為了讓大家一起對驅動模型有直觀的認識,小弟花了一點點時間寫了幾個小例子(目前只有一個)。就是為了讓大家領會最神秘的驅動模型,有了這些小例子,結合我前面兩篇源碼分析的文章,哥
Time of Update: 2018-12-05
先給出函數原型:struct platform_device *platform_device_alloc(const char *name, int id){ struct platform_object *pa; pa = kzalloc(sizeof(struct platform_object) + strlen(name), GFP_KERNEL); if (pa) { strcpy(pa->name, name); pa->pdev.name =
Time of Update: 2018-12-05
這兩天在板子上載入模組的時候,遇到了各種問題,與我第一次載入模組時碰到的問題大同小異,故記錄在部落格,僅供查閱。 1.PC機和目標板核心版本不一致 問題提示:version magic '2.6.32.2 mod_unload modversions ARMv4 ' should be '2.6.32.2-FriendlyARM mod_unload ARMv4 '
Time of Update: 2018-12-05
好書推薦:《鳥哥的Linux私房菜 基礎學習篇》(第三版) 鳥哥 著 王世江 改編 人民郵電出版社 我在2、3個月前開始學習linux,剛開始四齣找書,上網找資料,像《深入理解Linux核心》、《Linux裝置驅動程式》、《...情景分析》之類的經典書籍,熱心的網友介紹不少,好評如潮。但當我在圖書館找了這幾本傳說中的扛鼎之作時,內心不由自主地產生恐懼吖!
Time of Update: 2018-12-05
本想自己寫一篇記錄exec函數族的小文章,但是在我學習相關知識的時候,發現網上一篇文章已經對其介紹得比較周詳。故採用他山之石啦。以下將摘錄出自http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part3/index.html其中關於exec函數族部分。 1.10