public marks

PUBLIC MARKS from YukuanBlog with tag embedded

2008

Commands of the NAND

相信處理過 NAND flash 的 firmware 人員,在啃讀 datasheet 的過程,難免得謹慎地交叉比對,好好推敲那也佔了不少篇幅的時序圖,以免自己還是不夠小心,誤解文意……

NAND Flash 簡介

撬開一張 SD 卡,裡面最引人注目的,當然就是那大大一顆的 NAND flash ,我們餵給 SD 卡的資料都儲存在裡面。在這顆 NAND flash 的旁邊,我們還可看到一顆小一號的 IC ,那就是 NAND flash 的 controller 。 SD 卡儲存的資料要安全可靠,有九成的責任都要算在這顆 controller 。

The Floating Gate

浮動閘(floating gate)一詞會讓我銘記於心,是因為閱讀了《矽眼》,該書提到以浮動閘紀錄類神經元突觸加權值,這是「類比」儲存的一個應用。然而,對多數內嵌系統設計人員來說,浮動閘是用在「數位」儲存的,諸如 EPROM, EEPROM, NOR flash, NAND flash 等。

The Analog Clock

……秒針急急忙忙的去撥動每一根短棒,使它們產生意義。然後分針慢吞吞的做同樣的事,使那些短棒產生另一種意義。三種針的位置和關係不斷變更,在錶面上切割出許多角來,夾住那不可捉摸的時間。……(摘自作文七巧:P86)

The Fraction from a Decimal

定點數運算常用於 embedded systems 中,因為大部分低階的 MCU (例如: 8051, PIC, AVR 等)開發環境雖提供浮點運算,卻是軟體模擬的,除了慢,還明顯佔用原本就少得可憐的記憶體空間。 C/C 語言雖無定點數運算專用語法,程式員卻可通過手動調整,有效以整數運算完成相同效果。

Fingering of Keys

按鍵是很普遍的人機介面,也常用於內嵌系統(Embedded Systems)。既然大家那麼愛用按鍵,很自然地, Embedded Systems 軔體開發人員就常常得處理按鍵的偵測、編碼等議題。此外,為了按鍵操作流暢,我們還必須為按鍵設計適當的指法(fingering)及明確、統一的功能定義(function definition)。

2006

Motor-controlling PWMs

一個脈寬調變(Pulse-width Modulation, PWM)訊號可控制一顆 DC motor 轉速,或決定一具 servo motor 的方向、位置或轉速。在複雜的機器人身上,常用上好幾顆馬達,因而能以一顆微控制器(microcontroller, uC)產生多組 PWM 訊號是非常實用的。

Software Anti-interference

為了維持機器正常運作,除了硬體設計上要把雜訊干擾納入考量外,軟體也不可以坐以待斃,以下整理一些簡單、低階的軟體抗雜訊手段:

Console I/O Without OS

在沒有 preemptive multitasking OS 支援下,很容易因 print out 的訊息太多,使系統 delay 過久。這在許多場合是無法接受的。一個常見的例子是同時處理另一個網路連線下,許多 protocol 都嚴格限制裝置回應時間

A Big Buying

既然要再回到象牙塔蹲一陣子,趁機大拜書一下是一定要的啦 :) 除了到各圖書館抱些書過過癮外,買書勢必是免不了的!

An Array Implementation of Queue

Embedded System 程式開發, queue 是很常用的資料結構: UART 在接收及傳輸資料時,通常各需要一個 character queue;在處理 keypad 的按鍵輸入時需要一個 key queue ;task 間的溝通,也可能要用到某種 event queue 。

Enjoy the Fine Code

由〈初等概念〉文末附的 links,我尋線逛到 Dan Saks 在 Embedded.com 發表的專欄,並發現許多精緻優雅的 C 程式片段,堪稱為程式中的小品文,值得好好駐足欣賞:

Embedded System Design

對一些小型的應用而言,把 OS 納入系統中,不但多耗用硬體資源,還可能使系統的複雜度增加了許多。 「甚麼情況下才需要把 OS 安置到 embedded system 內?」--這是一個好的思考點。

Debugging Embedded Systems

Embedded System 的除錯,概念上跟 PC 上 Software 的除錯是相通的,那就是要運用科學方法,科學方法的步驟如下:

A Unit Testing Toy

Unit Testing 的 framework,最早是由 Kent Beck 在 Simple Smalltalk Testing 中提出的。隨著 Java 的流行,及其和 Smailltalk 的相似性,Kent Beck 又完成了在 Java 下的 Unit Testing framework -- JUnit 。隨著 Extreme Programming 的熱門,以及 test-driven development 在實務上的成功,現在幾乎各種程式語言都有它們的 Unit Testing Framework ,大家都來 Unit 一下,被通稱為 XUnit。

2005

我對資訊家電的淺見 -- MIT活氧計劃[譯]

讓人們以更少的工作量來達成更多的成果。   促使大量的運算和通訊如同空氣般地滲透到我們的生活環境。

久違了 XTinux

前陣子到 Study Area 閒逛時,發現了之前為公司弄的一些 PDA 軟體,同事把它 Screen Shot 起來,在那展示著:

YukuanBlog's TAGS related to tag embedded

book +   bookstore +   brain +   c +   complexity +   debug +   design +   EEPROM +   flash +   framework +   fsm +   graphics +   ia +   linux +   math +   mit +   neuron +   notation +   nvram +   os +   programming +   project +   PWM +   python +   queue +   robot +   software +   storage +   UART +   ui +   unit test +   weightless +