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". 你可以把想...
n2i.blogspot.com
小熊不拉格: 2009/1/1 - 2009/2/1
http://n2i.blogspot.com/2009_01_01_archive.html
星期二, 1月 27, 2009. 12300;李力想,幸好自己沒有去塞北,而是在長安城陪著若英」. 12300;匈奴」一書裡的男女情沒有撒狗血的情節,就只是很淡,很真實,卻很觸動人心,是整個故事的起點,李力初遇若英時的青澀,現實的衝擊,抉擇時內心的交戰. 12300;若英,我要走了,去北方投軍。」. 12300;你怎麼突然想要去投軍?」. 12300;我喜歡你。」. 成長!李力的生活雖然說不上是渾噩,卻也是有一天過一天,許多問題是李力未曾思考過,他也從未真正地替自己下過決定,直到遇上若英,直到蘇總管的點醒, 才意識到「他一出身即是劣民的身份」的事實,現實總是殘酷的。這是命,沒得選擇;這是事實,無可避免。 邊塞投軍,封侯拜將是李力唯一想到的路,為了他娘,為了自己,更是為了若英,此為大破大立,在那一刻,看似不相干的問答,卻是表達了李力心中一切所想:. 奴僕 從軍 良民 封侯拜將 若英 -. 12300;投軍兩年,他仍然什麼也沒有,又要如何面對若英呢」. 12300;你回來為什麼不找我?」. 12300;很快,我很快就會回來」. 星期五, 1月 23, 2009. 懂得做人,打點好關係A...
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
小熊不拉格: 2007/11/1 - 2007/12/1
http://n2i.blogspot.com/2007_11_01_archive.html
星期二, 11月 27, 2007. 65292;短毛臘腸,單身處男,愛吃不忌口,看到球會有瘋狂的行為,年齡 10,很胖. 有時候因為牠的過度肥胖及年紀大了,早餐不會讓牠吃,牠會自己到牠的狗籠裡把牠的碗咬出來,開始玩,把氣出在碗上面??發出很吵的聲音,引起你的注意,讓你知道牠想吃東西,當然這招對我是有用的,每次這樣,我就會拿著牠的碗裝狗飼料,回來時,牠百分百一定是在狗籠裡用很賽的表情看著你,等著食物,不過這一次牠竟然連續使用三次大絕。 9583;- -)╯ ═╩════╩═. 65292;他就會衝回籠子裡用很賽的表情坐著等你餵牠。最近又到了季節轉換,身上的皮膚病又發作了(poor.),右眼因為他自己撞到籠子,把雙眼毛的肉括掉了,所以現在一直流眼淚(poor.)。 訂閱: 文章 (Atom).
SOCIAL ENGAGEMENT