OpenRocket 是GNU GPL許可下的一個 Open Source 的 火箭設計模擬軟體
可以經由設定火箭各項參數(整流罩、彈體、尾翼或發動機…等參數)
模擬出發射後的狀態,如:加速度/速度變化、高度變化…
2013年10月28日
2013年10月9日
進階版 Debug Message
寫程式往往會 print 一堆變數或是訊息用來 Debug
而 Release Code 時,又不希望這些 Debug Message 鋪天蓋地的出現
或是, 印了一堆訊息,卻不知道某個訊息是
哪個檔案的哪個 function 的哪一行所印出來印出來的訊息?
由於上述問題,於是長久以來
我都會用 define 寫一個專門印 debug message 之用的巨集
並利用 #define _DEBUG_ 開啟
當 Release Code 時 , 將這行註解掉,所有的 message 就會統統消失
而 Release Code 時,又不希望這些 Debug Message 鋪天蓋地的出現
或是, 印了一堆訊息,卻不知道某個訊息是
哪個檔案的哪個 function 的哪一行所印出來印出來的訊息?
由於上述問題,於是長久以來
我都會用 define 寫一個專門印 debug message 之用的巨集
並利用 #define _DEBUG_ 開啟
當 Release Code 時 , 將這行註解掉,所有的 message 就會統統消失
印出訊息包含程式檔案名稱、message 所在的行號及 function name 資訊
除了可以直接印一行字串之外
也可以印出多個變數並可以定自訂 format
#ifdef _DEBUG_
#define Dbg(f,m...) printf( "%s(line:%d)|%s()| "#m": "f"\n" \
,__FILE__, __LINE__, __FUNCTION__ ,##m)
#else
#define Dbg(m)
#endif2013年10月3日
Serial Port Teminal
嵌入式系統不見得都有螢幕可以顯示資訊,
更常見是透過 UART 將資料傳輸到 PC 上顯示
不同的作業系統,往往需要找對應平台的終端機軟體跟板子連接
是否有各平台皆可執行的終端機呢?
藉由 JAVA 可跨平台特性開發了這個終端機程式,
即使在不同作業系統上只要裝好 JAVA 的 JRE
即可執行這個終端機程式
最終,打算整進一個完整開發工具中
如同瑞士刀中的一個刀片…
OS: Linux / Windows
JRE: http://www.java.com/zh_TW/download/
Serial Port Teminal : Download
2013年9月28日
電路模擬軟體 Qucs
電路模擬軟體 Qucs
一個 Open Source 的電路模擬軟體(類似 HSPICE )
作業系統: Linux(本範例) / Windows
ScreenShots
Download
範例:
RLC 共振模擬
一個 Open Source 的電路模擬軟體(類似 HSPICE )
作業系統: Linux(本範例) / Windows
ScreenShots
Download
範例:
RLC 共振模擬
2012年4月12日
Android 4.0 Holo Theme
Android 4.0 中 內建的 Theme 看起來很有質感
僅須於 AndroidManifest.xml 中的 activity 中加入
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light"
>
即可套用該Theme
白色系: Theme.Holo.Light
黑色系: Theme.Holo
2012年3月5日
Eclipse GDB
關於 Eclipse GDB 界面,放幾張畫面圖片應該可以對於他的使用方法略知一二…
先說說之後會寫些 plugin ,作為協助對於處理器不熟悉的user 可以快速上手的初始化設定。
像是clk、gpio、uart …等的設定,皆有圖形化設定界面,可以勾勾選選即可完成設定,
並產生初始化程式。
目標是能利用 Eclipse 已有的 plugin , 加上自己想要的功能組成一套 ARM 的開發環境
(雖有,Keil-C / DS-5 等好用的開發工具,但「制人而非受制於人」的無聊心態作祟
還是想做一套自己的開發環境,順便學學Eclipse Plugin…)
類似下圖方式(目前完成度仍低,就不拿出來獻醜了…XD)
這是程式編輯環境(裝上CDT 即可)
GDB Server 連線設定(這是透過網路連線方式)
先說說之後會寫些 plugin ,作為協助對於處理器不熟悉的user 可以快速上手的初始化設定。
像是clk、gpio、uart …等的設定,皆有圖形化設定界面,可以勾勾選選即可完成設定,
並產生初始化程式。
目標是能利用 Eclipse 已有的 plugin , 加上自己想要的功能組成一套 ARM 的開發環境
(雖有,Keil-C / DS-5 等好用的開發工具,但「制人而非受制於人」的無聊心態作祟
還是想做一套自己的開發環境,順便學學Eclipse Plugin…)
類似下圖方式(目前完成度仍低,就不拿出來獻醜了…XD)
-------------------------------------
回到 Eclispe GDB …
以前不管開發什麼都習慣用 vim + gdb
直到去年,試著用 Eclipse 寫一個小小的 os …發現Eclipse的確有他好用的地方
搭配 openocd + openjtag 在 s3c2440 上開心的寫程式
而去年開始玩 cortex-m3 / m0 也是繼續用這方式開發
(openocd 似乎對swd 有些問題,後來改用 Jlink …)
之後…寫 Android App / Plugin / Verilog .... 都在Eclipse上了…XD
這是程式編輯環境(裝上CDT 即可)
GDB Server 連線設定(這是透過網路連線方式)
連上 GDB Server後,可以對chip預先作一些動作
ex: load image、設定某些 register …
進入 GDB 界面
左邊是目前執行的 c code , 中間是 disassemble ,右邊是register
下方是 mem dump、上方是變數、break point等資訊
訂閱:
文章 (Atom)













