2010年5月13日 星期四
2010年4月30日 星期五
Ubuntu裡如何用指令查詢已安裝套件
在 Ubuntu 可以用下列指令找出指定的套件是不是已經安裝過了
dpkg --get-selections | grep 查詢的字串
也可以用這個指令來產生已安裝套件的清單檔
然後在開啟查詢
dpkg --get-selections | grep 查詢的字串
也可以用這個指令來產生已安裝套件的清單檔
dpkg --get-selections > output.txt
2010年4月14日 星期三
VirtualBox 使用USB裝置
之前有介紹過 VirtualBox 分享資料夾使用步驟
為什麼到今天才將 VirtualBox 使用USB裝置 給搞定呢??
經過指點 答案很簡單 我沒重開機 XD
不囉唆 看圖! 步驟其實都大同小異
ps: 主機:Ubuntu 8.04 LTS VirtualBox:XP
為什麼到今天才將 VirtualBox 使用USB裝置 給搞定呢??
經過指點 答案很簡單 我沒重開機 XD
不囉唆 看圖! 步驟其實都大同小異
ps: 主機:Ubuntu 8.04 LTS VirtualBox:XP
設定好記得重開主機
插入USB 看到USB圖示有閃 代表你成功了
XP也有看到該Flash memory
謝謝收看!!
2010年4月8日 星期四
2010年3月19日 星期五
ARM Assembler V.S GNU Assembler
ARM與GNU Assembler差異到底有多大,只能說非常的大!用過就知道,之前就將GNU 可成功Make的程式丟到ADS(他用的是ARM Assembler,自家開發的嘛)上模擬,看看中斷點、暫存器數值、程式流程。
錯誤居然有309個(組合語言部分,C語言倒是沒什麼問題)Google了ADS_Errors_and_Warnings、An Introduction to the GNU Assembler、GNU ARM Assembler Quick Reference以及網路上各方精華才知道,問題出在哪?還一直以為是環境設置的問題(當然環境設置也很重要,弄不好一樣不能跑!)。
ADS顯示的主要錯誤
1. Error : A1163E: Unknown opcode
組譯器擺明就是看不懂
2. Error : C2470E: function prototype formal '__packed__' needs type or class - 'int' assumed
這個__attribute__((__packed__))是GNU才有的用法 ARM Assembler也是看不懂的,記得Mark(註解)起來
其實真正的錯誤是下面這些(是非常多 XD)
ARM -> GNU
INCLUDE 替換成 .INCLUDE
TCLK2 EQU PB25 替換成 .equ TCLK2, PB25
EXPORT 替換成 .global
IMPORT 替換成 .extern
DCD 替換成 .long
IF :DEF: 替換成 .IFDEF
ELSE 替換成 .ELSE
ENDIF 替換成 .ENDIF
:OR: 替換成 |
:SHL: 替換成 <<
END 替換成 .end
TCLK2 EQU PB25 替換成 .equ TCLK2, PB25
EXPORT 替換成 .global
IMPORT 替換成 .extern
DCD 替換成 .long
IF :DEF: 替換成 .IFDEF
ELSE 替換成 .ELSE
ENDIF 替換成 .ENDIF
:OR: 替換成 |
:SHL: 替換成 <<
END 替換成 .end
AREA Word, CODE, READONLY --> .text
AREA Block, DATA, READWRITE --> .data
CODE32 --> .arm
CODE16 --> .thumb
LTORG --> .ltorg
AREA Block, DATA, READWRITE --> .data
CODE32 --> .arm
CODE16 --> .thumb
LTORG --> .ltorg
For ADS environment
__asm{
rsbs dumy, var2, 0
movmi L_var_out, L_var1, lsl var2
movpl L_var_out, L_var1, asr dumy
}
For GNU environment
__asm__ __volatile__(
" rsbs %0, %3, #0;\n\r"
" movmi %1, %2, lsl %3;\n\r"
" movpl %1, %2, asr %0"
:"=r" (dumy), "=r" (L_var_out)
:"r" (L_var1), "r" (var2)
);
or
asm volatile(
" rsbs %0, %3, #0;\n\r"
" movmi %1, %2, lsl %3;\n\r"
" movpl %1, %2, asr %0"
:"=r" (dumy), "=r" (L_var_out)
:"r" (L_var1), "r" (var2)
);
不知道的人,這部分可能弄個一輩子都不知道問題在哪?明明沒有錯看半天,上面只是主要的部分,其實還有很多想不到的,像是少加了個冒號、程式前面沒空白、有的地方必須是小寫,所有令人意想不到的錯誤都出現了。如果你很習慣GNU GDB(GNU DeBugger) 或是你根本就在Windows上開發一開始就是學ARM Assembler語法,那你就沒這個問題了,但如果你要將程式從GNU轉ARM或是倒過來ARM轉GNU記得先看看。
2010年3月9日 星期二
2010年3月8日 星期一
2010年3月3日 星期三
ADS AXD ICE 介紹
ADS (ARM Developer Suite)是ARM公司所開發的IDE (Integrated Development Environment)環境的程式編輯及編譯工具,能夠將程式編譯成為映射執行檔供AXD模擬執行,或是編譯成燒錄檔,燒錄至Flash開機執行。使用者使用ADS進行開發時,需要建立一個專案環境,並在專案環境下進行必要的硬體設定、編譯設定、檔案組態,以進行make、link等工作,結構如同使用armgcc編譯的組態與設定,但ADS已經此類工作在IDE環境下進行,使用者能夠輕鬆進行檔案組態與整理的工作。
ICE (In-Circuit Emulator)可將AXD連結上ARM Soc的JTAG介面的硬體已進行模擬執行及除錯,若是使用支援USB介面的ICE則需安裝USBmice2K.inf與USBmice.sys兩個USB驅動程式,並設定AXD的裝置使連結程序完成即可使用AXD模擬執行及除錯。
AXD (ARM eXtended Debugger)為一套debugger,是ARM公司所開發的IDE環境之模擬軟體,並提供模擬 執行、單步執行、記憶體及變數監控、設定中斷點及追蹤程式等偵錯功能,AXD需要透過ICE連結裝置的JTAG介面後才能執行,若是ICE位偵測到相符的硬體裝置,或是ICE驅動未在執 行狀態,執行AXD時將會出現錯誤。
2010年2月23日 星期二
圓剛還真是間不錯的公司
今天照舊瀏覽了mobile01看到了這篇
圓剛Diamond USB三頻電視棒+SnugTV架設網路電視台試玩分享
重點當然不是新的三頻電視棒而是後面的 SnugTV
圓剛Diamond USB三頻電視棒+SnugTV架設網路電視台試玩分享
重點當然不是新的三頻電視棒而是後面的 SnugTV
去了網站看看想不到也有 三頻電視棒-HX A827
這款A827推出也有段時間了 圓剛還真是用心阿 !
就安裝看看 也不難沒花多少時間
這樣就有 自己的網路電視台了
因為串流 又不想拍照 所以看不到囉!
訂閱:
文章 (Atom)









