• 1 
瀏覽模式: 普通 | 列表
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
13

PJSIP-SIP stack的明日之星

最近假日真多,連續破了好幾個遊戲,如”鬼屋魔影5”,”末日之戰-彈頭”…等,不過發現近視度數好像加深了,看東西都糊糊的,不過這樣也好,年紀大時老花眼不會這麼快來

話說這一陣子都在玩SIP的東東,也成功的把PJSIP porting在有DSP的板子上運作(板子上的DSP可以直接編解碼RTP,所以我修改PJSIP以便攔截RTP),而藉著PJSIP強大的函式庫,我的程式除了硬體控制的部份外,其它SIP控制的部份零零總總加起來可能連100行都不到,由此可見PJSIP封裝的能力,但難能可貴的是以下幾點
1.它實在很好移植-好像有網友已經把PJSIP擺在PSP上了
2.明確的程式架構-PJSIP的架構讓讀它的人很爽
3.詳細的說明文件-就是這點贏過oSIP,Sofia SIP…等

[閱讀全文]

標籤: linux
10
03

Telnet daemon-RS232以外的選擇

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

 

[閱讀全文]

標籤: embedded
10
01

在嵌入式系統切換file system-以squashfs和jffs2為例

因為有網友問到這個問題,所以我把它拿出來討論,熟讀LDD3(Linux Device Driver3)的朋友應該都知道Linux檔案系統和block driver之間的關係,在Linux kernel stack中,block driver負責驅動裝置上的硬體,而file system就是對block drvier下讀取和寫入的指令,所以只要能正確驅動平台上儲存裝置的block drvier,那你可以在此block driver上操作任何一種file system

[閱讀全文]

標籤: embedded
  • 1