瀏覽模式: 普通 | 列表
02
04

Android on QT2410-自己搞自己

Android已經推出一段時間了,我本來猜測這個東西應該在2410系列的平台應該有數不清的resource和成品供我測試,結果發現google到的教學很多,但system image卻很少,就算有,也不能運行在2410上,不然就是運行到一半就crash,我本想抱著淺嘗則止的心情去試android,結果後來欲罷不能,把kernel和android rootfs的source全抓下來自己編,整整玩(or 被玩)了一個星期才搞到android在qt2410上可以動,image可以在這邊下載,包含kernel及android rootfs

[閱讀全文]

標籤: linux
08
25

ttysnoop-沒有螺絲起子的日子

上個月去VA出差,因為離開辦公室的時候太匆忙,就忘了帶一樣一定會用到的工具-六角螺絲起子,本來以為一定不會慘到要拆盒子看console的下場,沒想到還是這麼好運, 因為拆不開盒子,而且惟一能做的只有telnet, ,所以console log根本看不到,不過還好有ttysnoop的幫忙,讓我渡過debug的難關

[閱讀全文]

標籤: embedded
05
12

fw_printenv-control u-boot enviroment variables under linux

u-boot可以設定的環境變數,例如tftp server ip, eth ip…等,如果要在進入linux後還能隨意操縱這些enviroment variable,就必需藉由fw_printenv這個小程式,這支小程式能顯示和設定u-boot的環境變數

因為小弟的板子是nand flash,所以我下載目前最新的u-boot,並試著用make env指令把fw_printenv編出來(最新板的fw_printenv可以自動切換nand與nor flash的操作方式)

[閱讀全文]

標籤: embedded
04
09

rpcapd與netcat-測試嵌入式系統的好工具

最近在改一個SPI driver,發現硬體的通訊界面好像都差不多,不是direct就是indirect, command與data也是一來一回,不同的硬體通訊界面只有速度快慢的問題,感覺SPI似乎比IIC要快很多

[閱讀全文]

標籤: embedded
01
12

Framebuffer兩三事-Test On QT2410

Framebuffer是個很好玩的驅動程式,它 allocate一塊自己的kernel memory,並藉由user space file open/read/write方式,把圖形寫入已allocate的空間,而這個已被allocate的kernel memory會對映LCD的pixel,framebuffer依靠此對應把圖形打到LCD上(2009.1.16修正),通常屬於framebuffer的device都被命名為/dev/fbx(x=any number),你可以做個實驗,假設你螢幕的driver是framebuffer,而且它在/dev資料夾下是/dev/fb0,你可以用下面指令補捉螢幕畫面

dd if=/dev/fb0 of=fbdata bs=1024 count=768(假設解析度為1024*768)

也可以用下面指令把fbdata顯示在螢幕上
dd if=fbdata of=/dev/fb0 bs=1024 count=768
所以透過open,read,write /dev/fb0我們可以直接對video card memory讀寫

我先寫一個小的簡單的framebuffer driver範例,並試著解釋一些數據的原理,因為小弟並不是攻這方面的人,所以有錯誤或缺失的地方煩請先進指正

[閱讀全文]

標籤: embedded
12
15

UIO-Linux user space I/O driver

有一陣子沒寫部落格了,最近都在研究RTP的CODEC,真佩服那些電機電子的人,可以想到那麼多的好點子壓縮語音和資料,而且壓縮率還非常驚人,以G729A為例,160 byte的語音資料經過壓縮居然只剩10byte…天阿,寫程式也沒這麼精簡

回到主題,UIO這個東西是雖然是今年四月份的時候merge到kernel trunk,但其實在linux界很早就有相關的應用,因為它的技術很簡單,就是直接把kernel memory一對一映射到user space memory,藉由這樣mapping的方式,讓user program直接在user space存取hardware I/O

[閱讀全文]

標籤: embedded
10
15

GDB-刺入bug心臟的寶劍

寫這篇文章時突然想起一位很久不見的朋友,他是我工作第一年的夥伴,這位好友令我印象最深刻的是他使用GDB的技巧,那時是我第一次看到process可以被attach,signal可以被攔截...等諸如此類的特技表演,我那位朋友對gdb的熟練度可能比吃飯還高,也多虧他的幫忙,讓我瞭解除了printf以外的其它debug好招

這篇文章主要是示範如何進行遠端除錯,所以請先下載最新版的GDB package version 6.8,我的實驗板是QT2410,toolchain為ELDK(ELDK有內建gdbtui),下載解壓縮完後,請執行下面的shell script,讓編出來的gdb可以support ARM架構,--enable-tui是讓GDB編出圖形化UI debug界面

  1. #! /bin/sh 
  2. ./configure --target=arm-linux \
  3. --prefix=/usr/local/eldk/armgdb \
  4. --exec-prefix=/usr/local/eldk/armgdb \
  5. --enable-tui

[閱讀全文]

標籤: embedded
10
03

Telnet daemon-RS232以外的選擇

最近電腦常常會發生RS232轉USB的裝置被無故佔用的問題,所以都用telnet的方式debug我的embedded system,建立embedded telent daemon最常用的套件就是busybox的telnetd,原因很簡單,因為busybox的telnetd不需依靠inetd就可以運作了,而且busybox選單有詳細的說明使用步驟,所以我下面列那些東西都是從busybox內的說明照抄的

 

[閱讀全文]

標籤: embedded