richliu’s blog

Linux, 工作, 生活.

richliu’s blog header image 4

Entries Tagged as 'Embedded'

[Linux][Kerne][Tips] 在 minicom 下送出 SysRq

September 20th, 2007 · No Comments

除了 Linux kernel 要加上 SysRq 的 Function 以外,
按 ctrl+a f 就是送出 break key.
這要配合 Command Key 使用
No tag for this post.

[Read more →]

Tags: Embedded · Linux

如何用 kermit 傳檔案.

April 26th, 2007 · No Comments

Gentoo 下 minicom 不知道為什麼不能用 kermit 傳檔, 只好用 ckermit 了.這種東西偶爾還是會用到的, 記錄一下好了
進入 kermit 之後(記得 minicom 要關掉), 先設定 kermit
set prefixing allset file type binaryset parity noneset carrier-watch offset line /dev/ttyUSB0set speed 38400
接下來傳送檔案.
send armboot.bin
這樣就可以上傳了.
No tag for this post.

[Read more →]

Tags: Embedded · Linux

Enable Backtrace

April 18th, 2007 · 3 Comments

最近 Linux kernel 2.4 的 Backtrace 不見了, 這樣實在非常不好 Debug, 查了一下才發現, 少加了一些 Flags.
No tag for this post.

[Read more →]

Tags: Embedded · Linux · Programming

[雜談] 行銷真的很重要……

January 30th, 2007 · No Comments

在 Digg 看到 World’s First BitTorrent Microprocessor
點進去一看, 才發現原文章的標題是
IAdea/Star Semi Jointly Develop the First BitTorrent-Optimized Microprocessor

Tags: Embedded, Hardware, Software, 工作

[Read more →]

Tags: Embedded · Hardware · Software · 工作

mmap Sample Code

October 17th, 2006 · 1 Comment

在 Embedded System 的世界內, 常常要讀寫 Memory 做一些測試, 這時侯 mmap 就很好用了
mmap 可以讓 user space access physical memory.
雖然是很簡單的小動作, 但是對 debug 和驗證 hardware 非常的好用.
網路上應該有不少 mmap sample code, 應該寫得更好.
我只是拿來驗證一下我們的 Platform 有沒有問題.
我這一段是設定 Static Memory 以後, 再直接設定 Philip SC16C2552 到 Baud rate 38400
再印出 “This is test string” 這個字串.
當然中間有個 Bug, 不過我懶得修 XD
這時請記得, 這時候 UART 還沒有啟動 FIFO , 所以只能送出一個字, 加個 delay [...]

[Read more →]

Tags: Embedded · Linux

Philips SC16C2552 爛了

October 14th, 2006 · 4 Comments

真的是工作上的鳥事.
因為某個 Project 的的關係, 需要用我們 CPU 上的 Static Memory Interface 連到 Philips SC16C2552 這一顆 Parallel 轉 Serial 的 Dual UART IC .
其實以硬體來說, 如果線都拉好, Static Memory Interface 設好, 應該就能夠正常的讀取.
不過這一顆 IC 卻花了我好多時間.
第一天
這一天做的事情很簡單, 就是設定環境, 將特別寫的一支 Serial Driver 換成 Linux 標準的 Serial Driver .
啟動 Static Memory Interface .
結果 Driver 上上去, 連個鳥都讀不到.
然後在 ARMBoot 下直接對該記憶位置下指令,
結果讀回來的都是 0xFF .
這時候當然就是拿 LA [...]

[Read more →]

Tags: Embedded · 工作

Wireless 的 Aggregation

September 30th, 2006 · 4 Comments

電腦的世界內, 很多概念都是相同的, 有時候看看這些技術, 其實還很好玩的呢~
Aggregation 是一種概念, 我最近接觸到這個名詞是在 PreN 的 driver 上看到的, 主要的技術背景
就是將多個封包合而為一, 一起傳送出去. 主要還是減少大量封包傳輸時, 減少 Control Packet 的 Overhead.
其中主要的實作有以下幾種
Block ACK
Reducing Inter Frame Spacing (RIFS)
Frame Packing At MAC Layer (AMPDU)
Aggregating PPDU (APPDU)
這些都是作用在底層的協定(Layer 2), 在實務上, 你用 Sniffer 並不會看到這些技術出現.
首先來看 Block ACK 的機制, 這個機制就是希望在傳送的過程中, 不要再傳送 ACK
而 Block ACK 又分成 immediate [...]

[Read more →]

Tags: Embedded · Programming · Wireless

Voodoo Programming

September 30th, 2006 · No Comments

Voodoo Programming 中文又稱巫毒編程, 我在一個偶然的機會下看到這個名詞
原意是講, 不知道程式怎麼運作, 結果就下去寫程式, 然後就不會動了, 或是得到一個可以動,
但是不知道為什麼會動的結果… 後來也有引申 compile 第一次不過, compile 第二次就過的意思..
不過我比較喜歡這個解釋
當遇到程式一直跑不出來又找不到原因, 感覺很鬱卒時就隨意改些程式的變數之類, 期望程式可以正常跑.
搞 Embedded Linux 時, 常常碰到一些靈異狀況, 很多莫名奇妙的情形, 看 Code 也不見得能夠了解為什麼,
甚至常常程式改寫之後, 某一個功能就爛了.
這時候就會自己開始亂改程式, 期望他能夠出現我要的結果, 或是前後亂動, 甚至是這種指令都出來了
“# mv .config .. ; make mrproper ; mv ../.config . ; make dep ; make zImage”
我想 Linux 在修改程式後, 期望大家都要 make clean 再重編一次, 有時候或許就是這種 Voodoo Programming 發生功效了吧.
有時碰到看起來程式都對, [...]

[Read more →]

Tags: Embedded · Linux

數款 11n Wireless Device 評比.

June 8th, 2006 · No Comments

Tom’s Networking日前發表了一篇Draft 802.11n Revealed: Part 1 - The Real Story on Throughput vs. Range
其中評比了三家 Wireless Modules , 分別是
Broadcom’s Intensi-fi
Marvell’s TopDog
Airgo
其中 Wireless 大廠
Atheros’ xspaN 鳥掉了, 所以來不及搭上這一班列車…..
以上四家內, Airgo 的 11n 標準和其他家是不一樣的, 所以並不能相容
由這一張圖來看

Airgo 在傳輸距離和效能比, 比 Marvell 和 boardcom 好.
而 0 db 衰減下, 都可以有 100Mbps 上下的表現(其實這個表現差強人意啦, 不過我想各家都應該正在改 Driver 和 Hardware )
文未還是叫大家不要買, 反正現在 11n 貴的要死, 而且不相容(例如: 1Client < -> [...]

[Read more →]

Tags: Embedded · Hardware · Linux

Linux Device Driver Kit

May 27th, 2006 · No Comments

Greg K-H 公佈了 Linux Device Driver Kit
包含了以下的 Document
The Linux Kernel API
Unreliable Guide To Hacking The Linux Kernel
Unreliable Guide To Locking
Bus-Independent Device Accesses
The Linux-USB Host Side API
USB Gadget API for Linux
The Linux Journalling API
libATA Developer’s Guide
Reed-Solomon Library Programming Interface
Linux Security Modules: General Security Hooks for Linux
MCA Driver Programming Interface
MTD NAND Driver Programming Interface
Linux Kernel Procfs Guide
RapidIO [...]

[Read more →]

Tags: Embedded · Linux