build-in module 的init function會加上__init這個字樣,這是指當kernel做完這個module_init function後,即可釋放其resource,因為到下一次開機之前都不會再執行到了。其定義在include/linux/init.h:

#define __init        __section(.init.text) __cold notrace

這是讓gcc知道當compile時,把這個fucntion放到text section。當initialize完成後即可釋放memory。開機完成後,看到的Freeing unused kernel memory: xxx k就是釋放的結果。

同樣的,在module_exit的前面也要加上__exit。

__init和__exit對loadable的module就沒有意義了。

kezeodsnx 發表在 痞客邦 留言(1) 人氣()

系統整合時,常常會跟driver有關,不管是port driver還是拿廠商build好的driver。開發環境不同時,很可能會有driver跟 kernel版號不同的情況,而產生類似"-1 Invalid module format" 這樣的錯誤訊息。如果kernel 版本差別不大,是有機會可以modprobe成功,看看結果如何。而不用卡在版號不同,插不進去的loop裡。

在kernel裡,先disable modules version:

modversion

 

接下來修改include/linux/vermagic.h

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

  • Oct 13 Wed 2010 14:25
  • 密碼文章

  • 這是一篇加密文章,請輸入密碼
  • 密碼提示:0800
  • 請輸入密碼:

前陣子有報導,有兩個人沒有讓座而被拍下後po上網。

看到這則新聞,聽聽他報導的內容,實在是很難苟同。

不是讓座的問題,而是報導的方式 ==> 台灣人這麼需要剌激嗎?非腥膻色不看嗎?

沒有聽到前因後果,只看到部分事實==>他們坐著,而孕婦站著。結果==>被公幹,人肉搜索。

有多少人會想真正的事實是怎樣?是他們真的不讓,還是沒注意,還是本身也有需要?

kezeodsnx 發表在 痞客邦 留言(1) 人氣()

最近對工作內容又有點膩了  原因無他==>做類似的事情

對於這種鑽研鵰蟲小技的工作總是覺得不夠solid

不是說沒有難度  只是無法專精吧

發現了sd卡不能讀  就找patch上 ==> fix

發現X跑不起來  google xorg.conf ==> fix

kezeodsnx 發表在 痞客邦 留言(3) 人氣()

AuthorTitan.Song

 

Suumary:

       简单介绍了一下SD卡的历史和发展,同时结合MX31 ADS上的WINCE SDHC驱动更深入的了解该硬件的一些行为特点。

 

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

來源: Ramax 喵董

目前進行中的項目是在 DaVinci 平台上開發 SPI 控制器驅動程式,不過由於手邊缺乏硬體平台可供測試的關係,現在仍然進度緩慢。不過這期間也研究了一下 Linux SPI 子系統,稍微有一些心得,來和各位分享一下。

SPI 是 Serial Peripheral Interface 的縮寫,它是一種串列式的 IO 介面,時脈約 1~ 70MHz,詳細資料可見 [1]。 DaVinci DM6446 上配備了一個 SPI 控制器,支援二個 chip select,時脈可達 33MHz。

kezeodsnx 發表在 痞客邦 留言(1) 人氣()

  • Sep 01 Wed 2010 18:03
  • 密碼文章 看見

  • 這是一篇加密文章,請輸入密碼
  • 密碼提示:personal
  • 請輸入密碼: