csc.nmu.edu
Git Repository - Computer Science Community
http://csc.nmu.edu/wiki/Git
From Computer Science Community. Git is a free and open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do. Notable projects using Git include:. Downloading other people's code. Updating your clone's codebase. Running t...
kernelnewbies.org
KernelBuild - Linux Kernel Newbies
https://kernelnewbies.org/KernelBuild
Guide to building the Linux kernel. Where do I find the kernel? The latest source code for the Linux kernel is kept on kernel.org. You can either download the full source code as a tar ball (not recommended and will take forever to download), or you can check out the code from the read-only git repositories. What tools do I need? On Ubuntu, you can get these tools by running:. Sudo apt-get install libncurses5-dev gcc make git exuberant-ctags bc libssl-dev. Which kernel to build? If you want to test to se...
n2i.blogspot.com
小熊不拉格: GCC Inline Assembler for ARM
http://n2i.blogspot.com/2009/07/gcc-inline-assembler-for-arm.html
星期三, 7月 22, 2009. GCC Inline Assembler for ARM. 某些時候,即便我們寫的是 C,但是可能會需要直接去透過 assembly 去對硬體(SoC)做一些控制,而這樣混合 C 及 assembly 的寫法其實是比較直觀,更容易懂的。例如整個函式主要是用 C 實作,方便我們可以了解程式實作的邏輯,但是在 critical 或是 C 沒有支援的部份,像關閉 IRQ 或 FIQ 則是透過 assembly 完成。 Define OS ENTER CRITICAL(). Disable both IRQ and FIQ. Mrs %0, cpsr n t". Orr r8, %1, #0xC0 n t". Msr cpsr c, r8 n t". Define OS EXIT CRITICAL(). Restore the cpsr(IRQ and FIQ). Msr cpsr c, %0 n t". Mov r0, r0 n t". Mrs %0, cpsr n t". Orr r8, %0, #0xC0 n t". Msr cpsr c, r8 n t". 你可以把想...
n2i.blogspot.com
小熊不拉格: 金面山
http://n2i.blogspot.com/2009/06/blog-post_24.html
星期三, 6月 24, 2009. 金面山,登山口在內湖環山路上,我知道的有三個登山口,我習慣從環山路一段136巷爬起。清朝時台北城的城牆石頭就是由此地開採,再透過鄰近的基隆河載運石塊,現在還留有採石場遺蹟。也因為如此,有些路段不像爬山,倒像是在攀岩,得拉著繩索,手腳並用和石塊奮鬥。 如果不是因為愛,我不會連三拉三,連續三個週末攀爬,踏著輕快的腳步,在山林裡行走,最後抵達三角點,在石頭上休息吹風,眺遠。我在這裡看到了可愛的五色鳥,還有剛被選為台灣國鳥的台灣藍鵲,看見松鼠穿越在樹林間,我真的很開心。 上個週末,變換路線,先到竹月寺,再轉往論劍亭,就是這條路線讓我鐵腿到昨天,大約三百到五百公尺長的距離,整面山璧角度超過50度,加上我又好傻好天真的揹了一本很厚的 device driver 想說攻頂時可以拿出來當枕頭睡(誤.). 總之,我最後累攤了,書也沒拿出來過,也沒爬到剪刀石,回來還被 olv 笑,所以這週我要再帶著 olv 一起去.科科 ;). 訂閱: 張貼留言 (Atom).
n2i.blogspot.com
小熊不拉格: 2009/2/1 - 2009/3/1
http://n2i.blogspot.com/2009_02_01_archive.html
星期四, 2月 19, 2009. 在使用 stm / ldm 實作 Stack 時,發現先前追程式碼時,太過輕率而忽略掉一些細節,假設大家都了解 stmia / stmib / stmda / stmdb 及 ldmdb / ldmda / ldmib / ldmia 指令的語法與實際意義。 在執行完 ldmda 後,我認為暫存器 (r1,r2,r3) 的值分別是 (7,8,9),也就是會 Reverse,這樣既符合 Stack 的精神(FILO)也符合該指令的定義,但實際的結果是 (r1,r2,r3) = (9,8,7). 12300;Remember that registers are always stored lowest at lowest address」翻成白話文的意思為「編號較小的暫存器會存到較低的記憶體位址」或「較低的記憶體位址內容會載入到編號較小的暫存器」. 再看一個例子,按照前面的原則思考,注意記憶體位址及暫存器編號的關係。 訂閱: 文章 (Atom).
n2i.blogspot.com
小熊不拉格: Probationary period
http://n2i.blogspot.com/2009/12/probationary-period.html
星期五, 12月 11, 2009. 不知不覺中就度過三個月的試用期了,邁向第六個月,雖然剛進公司的第一個星期我就想離職了 ,補上從公司看 101 的夕陽照。 從一開始遠在美國的印度主管和同事們,部門在台灣只有我一個工程師,到現在陸陸續續已經有四個同事加入,繼續觀察下去囉,呵。 訂閱: 張貼留言 (Atom).
n2i.blogspot.com
小熊不拉格: Marley & Me
http://n2i.blogspot.com/2009/05/marley-me.html
星期日, 5月 17, 2009. 12300;一條沒有規矩的狗和一對新婚夫妻的生活,最後男主角死了,兩個配角也生了三個小孩,The End!」. 訂閱: 張貼留言 (Atom).
n2i.blogspot.com
小熊不拉格: 2009/6/1 - 2009/7/1
http://n2i.blogspot.com/2009_06_01_archive.html
星期二, 6月 30, 2009. 第一份工作在今天結束,將近五年(2004.08 - 2009.06)的歲月裡,感謝在我身邊來來去去的同事和長官們 ;). 星期五, 6月 26, 2009. Porting MicroC/OS-II onto Samsung S3C2440 by GNU toolchain. 因為 MicroC/OS-II 看起來很不協調,之後將一律使用 ucosii 代替。原始程式碼可以直接到 micrium. 的網站下載,我以目前可下載的版本 2.86. 65292;再搭配書上 Ch8 Porting uC/OS-II 把移植時需要的函式補齊。 另外還有 critical section 的保護,保護 critical section 最簡單的方法就是透過 Disable Interrupt 的方式,而 interrupt 的控制也是和 arch 相關,對 ARM arch 我們可以透過修改 register CPSR 的 I、F bit ,而 Ch8 講的也就是將上述的兩件事補齊。 幾個 dummy function 的例子. 其中 OS STK 是 stack 的單位A...
n2i.blogspot.com
小熊不拉格: 2009/7/1 - 2009/8/1
http://n2i.blogspot.com/2009_07_01_archive.html
星期三, 7月 22, 2009. GCC Inline Assembler for ARM. 某些時候,即便我們寫的是 C,但是可能會需要直接去透過 assembly 去對硬體(SoC)做一些控制,而這樣混合 C 及 assembly 的寫法其實是比較直觀,更容易懂的。例如整個函式主要是用 C 實作,方便我們可以了解程式實作的邏輯,但是在 critical 或是 C 沒有支援的部份,像關閉 IRQ 或 FIQ 則是透過 assembly 完成。 Define OS ENTER CRITICAL(). Disable both IRQ and FIQ. Mrs %0, cpsr n t". Orr r8, %1, #0xC0 n t". Msr cpsr c, r8 n t". Define OS EXIT CRITICAL(). Restore the cpsr(IRQ and FIQ). Msr cpsr c, %0 n t". Mov r0, r0 n t". Mrs %0, cpsr n t". Orr r8, %0, #0xC0 n t". Msr cpsr c, r8 n t". 你可以把想...