S3C2440的定時器設定

Linux中宏定義linux/arch/arm/plat-samsung/include/plat/regs-timer.h  92#define S3C2410_TCNTB(tmr) S3C_TIMERREG2(tmr, 0x00) 93#define S3C2410_TCMPB(tmr) S3C_TIMERREG2(tmr, 0x04) 94#define S3C2410_TCNTO(tmr) S3C_TIMERREG2(tmr, (((tmr) == 4) ?

PC—我錯過了好幾年

最近準備裝配一台台式機,盯上了intel H55 chipset。發現現在的主板不再有南北橋之分,一個CPU+H55 chipset就完畢了,整合度越來越高了!南北橋改名為platform controller hub,這個還真不知該怎麼翻譯,最後搜尋了一下,發現一些網站已經開始使用“平台控制單元”這個名字了,我想這個名字未來會越來越響亮的。看了一下H55的技術文檔,發現H55 PCI bus不再內建相容考慮的ISA bus。IDE也開始消失,取而代之的是SATA host

有效利用清晨時間

有效利用清晨時間作者:warfalcon早起已經堅持快一年了,前段時間做下回顧,跟大家分享一些早起的心得:睡前要做的二件事:準備一杯涼開水放在床頭,剛起床的時候喝掉,對你的健康有好處。臨睡前做好準備和規劃,準備好第二天早起要做的事情,一起床就可以去做。剛起床時,可以通過做些簡單的運動讓自己精神起來:1、可以在床上轉動腳腕,順時針10下,逆時針10下,然後會讓大腦變得清醒起來。2、直接冷水洗臉,能增強身體的抵抗力,對皮膚也有好處。3、交替壓腿,一個腿30-60下。做完需要2-3分鐘,把自己的身體活

微軟引起的while不歸路

如果你是windows mobile的驅動程式開發人員,又恰好寫了類似的這樣一句話。while(dev->devState!=5);說明一下,dev是個結構體指標。你希望等待它的成員變數變成5,繼續執行。同時有可能你在中斷服務程式中改變這個成員變數的值。哈哈!我幸運的告訴你你已經進入了“死迴圈”,永遠跳不出去啦。這是個編譯器最佳化產生的問題,看看編譯器產生的彙編片段。|$L39064|cmp r3, #5bne |$L39064|它將dev->devState最佳化為了一個寄存器r3

關於firmware的思考

    

ARM切換到THUMB模式

ARM切換到THUMB模式,根據ARM的文檔說是用一個跳轉完成,並且跳轉地址要儲存在general register裡,地址中最低位為1。我一向喜歡眼見為實。最簡單就是看看編譯後變成什麼樣子,下面是一個叫ab的函數,開thumb編譯的,結果就變成了下面這樣:E28FC001 $Ven$AT$I$$ab: add r12,pc,#0x1E12FFF1C bx r12B510 ab: push {r4,r14}

U-Boot Stage2

start_armboot函數在lib_arm/board.c中定義,是U-Boot第二階段代碼的入口。U-Boot啟動第二階段流程如下:   U-Boot第二階段執行流程1)gd_t結構體U-Boot使用了一個結構體gd_t來儲存全域資料區的資料,這個結構體在include/asm-arm/global_data.h中定義如下:typedef struct global_data {bd_t *bd;unsigned long flags;unsigned long

WinCE5讀核筆記(二) 系統調用

KernelInit是MMU啟用以後,一段軟體結構的初始化函數。它負責system call函數表的建立,和NK.exe這個進程的構建,當然也包括NK.exe的第一次以進程的身份調度運行。就此一個類似於《駭客帝國》的虛擬環境就被建立起來了。或者說由單一線程啟動的環境,轉為一個多線程並發執行的環境。不過KernelInit只是完成建立這個環境,真的虛擬環境開始不是這個函數的內容。這個函數最值得看的地方是system

framebuffer顯示原理、映像RGB資料處理

Framebuffer是把記憶體中視頻資料輸出的裝置驅動程式,Linux的framebuffer是獨立的硬體抽象層,它可以把顯示裝置抽象為框架緩衝區,並把自己當作顯示記憶體的一個映像,開發人員可以通過這個映像映射到進程地址空間,直接進行讀寫操作。簡單的說它把硬體抽象化後,可使上層不再關心硬體是如何操作,只是完成映像的顯示功能,該驅動的裝置檔案一般是/dev/fb0、/dev/fb1,framebuffer最多支援32個裝置。說明了Framebuffer在Linux系統的位置,它高於一般的驅動程式

怎麼有效利用片段時間的?

合理的利用零散時間不單是技巧的結合,而是一種生活習慣,平時就準備好,遇到空閑時間直接就用不用考慮直接就行動:1、隨身帶本書,定期更換2、身上帶著平板或Kindle,充好電,裝滿書和視頻,比如TED、公開課3、準備個Mp3,裝滿英語或有聲書4、隨身帶筆記本和筆,有空的時候,記些想法,列一些待辦事項清單5、準備個電話清單,都是要打電話的人。比如公司客戶、家人、朋友,空閑時打個電話交流下感情7、利用幾分鐘的時間,做個擴充運動,鍛煉下身體。8、觀察周圍的人,看看著裝、表情、姿態和口氣,如果你觀察時間長一

Google memchek 記憶體檢測

最近在看了一下記憶體檢測,在http://code.google.com/p/memcheck/可以找到,文章有源碼和test,簡單的幾句介紹,剛開始沒怎麼看懂,自己根據使用說明用了下立馬就能上手,顯示結果最好用cmd調用產生的exe,能清楚列印mem leaking的情況。主要代碼:bool mc_checkmem(){bool memLeaked=false;for(int i=0;i<MC_HASHTABLESIZE;++i){mc_block_node_t* ptr=pTable[

頁表結構

     分頁單元的作用是從線性地址到物理地址轉換,為了效率起見,線性地址被分成以固定長度為單位的組,又被稱為頁,頁內連續的線性地址被映射到連續的物理地址中。而把線性地址映射到物理地址的資料結構叫做頁表(page

schedule()函數(重點)

好了,前面的準備工作都做完了,我們就進入進程調度的主體程式——schedule()函數。函數schedule()實現發送器。它的任務是從運行隊列的鏈表rq中找到一個進程,並隨後將CPU分配給這個進程。schedule()可以由幾個核心控制路徑調用,可以採取直接調用或延遲調用(可延遲的)的方式。下面,我們就來詳細介紹。1

由自旋鎖引起的思考

     

initrd vs.initramfs

真是太不關注Linux Kernel發展,今天一大早抽了時間把initrd和initramfs的概念區分了一下,終於有點眉目,不敢獨享。都知道Linux有個Ram Disk的概念,很早就有了,至少2.4的時候就有,再早我也不瞭解。那麼initrd,就如他的名字,initial ram disk,很好理解,就是為了root fs。initramfs無非也如他的名字,initial ram file

我閱讀電子書的方法

我在地鐵裡、公交車上、甚至路邊,隨時都可以看到有人盯著手機或者ipad螢幕,忘我的閱讀著電子書。現在的人節奏都已經被調的很快,就算是身體可以閑下來了,但節奏不停的告訴他:“hi~別閑著,要做點什麼!”,所以我們的片段時間就被填滿了其實我倒是建議既然都那麼累了,能休息的時候還是徹底休息為好~回到主題,不管怎麼樣,現在越來越多的人選擇閱讀電子書,在美國42%的人在電腦上閱讀,其中20%的人閱讀過電子書我自己也蠻喜歡閱讀電子書的,今天和大家分享一下我閱讀電子書的方法(流程):電子書全部放在快盤我的電子

處理序間通訊比較

Linux 傳統的處理序間通訊有很多,如各類管道、訊息佇列、記憶體共用、訊號量等等。但它們都無法介於核心態與使用者態使用,原因如表通訊方法無法介於核心態與使用者態的原因管道(不包括具名管道)局限於父子進程間的通訊。訊息佇列在硬、非強制中斷中無法無阻塞地接收資料。訊號量無法介於核心態和使用者態使用。記憶體共用需要訊號量同步輔助,而訊號量又無法使用。訊號又稱非強制中斷,只有訊號是非同步其餘都是同步訊號處理流程

揭秘Romimage產生的.nb0.bin檔案(絕對原創,禁止轉載)

   如果你想用微軟的romimage工具產生image,那麼你一定要在你的exe檔案中定義下面這個全域變數:ROMHDR * volatile const pTOC = (ROMHDR

Boatloader簡介

   

U-Boot Stage1

u-boot 的stage1代碼通常放在start.S檔案中,他用組合語言寫成,其主要代碼部分如下:(1)定義入口。由於一個可執行檔Image必須有一個進入點,並且只能有一個全域入口,通常這個入口放在ROM(Flash)的0x0地址,因此,必須通知編譯器以使其知道這個入口,該工作可通過修改連接器指令碼來完成。(2)設定異常向量(ExceptionVector)。(3)設定CPU 的速度、時鐘頻率及終端控制寄存器。(4)初始化記憶體控制器。(5)將ROM 中的程式複製到RAM

總頁數: 61357 1 .... 24352 24353 24354 24355 24356 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.