科學研究員指出,人們要在某個領域出類拔萃,無論是腦部手術或是銷售電腦,至少得花上10年的時間。
前提是,如果你在這10年當中投入1萬小時認真練習的話。簡單計算一下,10年跟1萬小時約等同於1年1,000小時(1星期19小時),或是1天要花2.7小時認真練習,才能夠贏過別人。
只要你每天投入3小時,而你所做的這份努力,也許是你為了達成目標所採取的行動當中成效最好的一個。
科學研究員指出,人們要在某個領域出類拔萃,無論是腦部手術或是銷售電腦,至少得花上10年的時間。
前提是,如果你在這10年當中投入1萬小時認真練習的話。簡單計算一下,10年跟1萬小時約等同於1年1,000小時(1星期19小時),或是1天要花2.7小時認真練習,才能夠贏過別人。
只要你每天投入3小時,而你所做的這份努力,也許是你為了達成目標所採取的行動當中成效最好的一個。
= =...做這個移植一開始因為粗心沒注意到害我浪費了一些時間。
這篇文章是我本人在網路上找的相關資料並且有實際做過才發出來的文章,絕對不是巴樂文,以下是我所做的內容。
一、核心修改
1-1、下載核心
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.1.tar.bz2
Linux Device Drivers ─
使用/proc檔案系統
/proc是核心模擬出來的軟體檔案系統,它是核心對於外界的資訊窗口。在/proc下的每一個檔案,各自連繫到核心裡的專屬函式,當user-process讀取/proc下的檔案時,對應的函式便會即時(real-time)產生檔案的“內容”。以/proc/modules為例,它總是會告訴你核心當已載入哪些模組。
Linux Device Drivers ─
節制printk訊息產生速率
一般而言,正常運作狀態下不應該產生任何訊息,只有在發生了須要注意的異常狀態時,才可使用printk()。
但是printk()也是有被包含在無窮回圈裡的可能而導致嚴重的後果。對於需要偶爾輸出提醒訊息的情況,最好的解法是設立一個有調節作用的工具函式。
Linux Device Drivers ─
Debug 訊息開關
在研發驅動程式的初期,printk()是輔助測試、偵錯新程式碼的好工具。到了正式釋出驅動程式的階段,就該拿掉這些無謂的printk()敘述或至少讓它們失效。
以下的範例提供一個簡便的方式,讓你可以一口氣拿掉所有偵測用途的printk()。
ARM架構為(Advanced RISC machine),採用的是RISC(精簡指令集)運算架構,運用層面廣泛,從可攜式的手機、PDA,至硬碟控制器、汽車、甚至飛彈控制器等,均有採用該 架構的處理器,因智慧型手機、平板電腦掀起風潮,ARM架構成為PC業新寵兒。
相較於英特爾採用的x86架構,為CISC(複雜指令集)運算架構,再不斷加入指令集後,功能龐大;ARM架構讓處理器卻強調簡化,低功耗、小體積為其特色,也讓ARM架構在行動通訊產品市佔率居高不下,在平板電腦後,ARM架構也將進軍NB領域。
ARM 於1991年成立,該公司前身為Acorn Computer,出售IP(技術知識產權),授權廠家依照其IP,設計製造處理器,到1993年,TI、Cirrus Logic等知名業者採用該技術後,ARM在市場建立起知名度,受惠於手機應用,該公司ARM9核心已擁有超過200家的授權業者、ARM7也有150多 家的公司採用。
Linux Device Drivers ─
Register Character Device
要讓核心能提調你的驅動程式提供的作業方法,你必須配置並註冊一或多個struct cdev。用於配置struct cdev的函式是cdev_alloc(),你可再執行其配置一個獨立的cdev結構,然後將其ops欄位指向你的file_operations結構:
Struct cdev *my_cdev = cdev_alloc();
My_cdev->ops = &my_fops;
Linux Device Drivers ─
Device Number
裝置的存取,是透過它們在檔案系統裡的名稱;這些名稱可成為特殊檔(special file)、裝置檔(device file)或檔案系統是的節點(node),但不管哪些說法意義都一樣。裝置檔一般來說都集中在/dev/目錄下。字元裝置會出現c字樣而區塊裝置則被標示為b。
在日期欄位之前兩個以逗號隔開的數值,由左而右,依序是裝置檔的(major number)和(minor number)。
這幾天有位朋友問我,為什麼在智慧型手機中要使用到NAND FLASH?
我對智慧型手機的硬體實際做法或許不是很全面了解,但我可以以嵌入式系統的角度來說明。
一塊開發版需要幾個必備的要素,
1. CPU(ARM、MIPS...等)
2. RAM