2007年6月5日 星期二

GNUARM命令行工具基本使用入門

GNUARM命令行工具基本使用入門
調用格式:
arm-elf-gcc [stage-opt] [other-opts] -mcpu=arm7tdmi in-file -o out-file
常見用法:
將C代碼編譯為二進制目標文件:
arm-elf-gcc -c -O2 -g -mcpu=arm7tdmi filename.c -o filename.o
將多個二進制目標文件合并為一個可執行文件:
arm-elf-ld filename1.o filename2.o … -o filename.elf
將C代碼直接編譯生成可執行文件:
arm-elf-gcc -O2 -g -mcpu=arm7tdmi filename.c -o filename.elf
將C代碼編譯生成匯編代碼:
arm-elf-gcc -S -fverbose-asm -mcpu=arm7tdmi filename.c -o filename.s
arm-elf-objdump option filename | more
例如:arm-elf-objdump -S a2.o
使用readelf查看elf文件的内容,例如:arm-elf-readelf -a a2.elf
arm-elf-objcopy有一個很重要的作用是把代碼從elf文件中抽取出來,形成可執行的機器碼:
例如:arm-elf-objcopy -O binary -R .comment -R .note -S a2.elf a2.bin
形成的結果文件a2.bin可以焼到flash或下載到内存中去.
arm-elf-nm用來列出elf文件中使用到的symbol,例如:arm-elf-nm a1.o

http://www.micetek.com.cn/technic/gcc.pdf

一個小故事讓我們明白資金流通的意義

“又是炎熱小鎮慵懶的一天。太陽高掛,街道無人,每個人都債台高築,靠信用度日。這時,從外地來了一位有錢的旅客,他進了一家旅館,拿出一張1000 元鈔票放在櫃檯,說想先看看房間,挑一間合適的過夜,就在此人上樓的時候---- 店主抓了這張1000 元鈔,跑到隔壁屠戶那裡支付了他欠的肉錢...