?? 在nt40下建立ecos開發環境.txt
字號:
在NT40下建立GNU開發環境
第一種方法: 下載和安裝, 編譯所有工具.
1. 下載和安裝cygwin
1.1 下載cygwin
cygwin可從 http://sourceware.cygnus.com/cygwin 或它的
mirror站點下載.
(http://programming.ccp14.ac.uk/ftp-mirror/programming/cygwin/pub/cygwin/latest)
要下載的文件: 所有子目錄下的二進制文件. (*.tar.gz)
下載到一個目錄, 如: e:\download\cygwin
1.2 安裝cygwin
cd e:\download\cygwin
> setup
> 輸入安裝目錄, 如 e:\cygnus
OK.
第一次運行cygwin時, 可mount c:, d: e:盤
bash> mount -f c:/ /c
bash> mount -f d:/ /d
bash> mount -f e:/ /e
bash下的 root目錄 是 e:\cygnus.
建議: 把e:\cygnus\bin 加入NT40的系統PATH, 這樣可在DOS環境中
使用gcc. 在DOS環境中運行cygwin.bat就可進入 bash>
編輯 e:\cygnus\bin\cygwin.bat, 把
set PATH=e:\cygnus\bin;e:\cygnus\usr\local\bin;%PATH% 注掉
2. 下載和編譯,安裝GNU系列交叉平臺開發環境.
2.1 下載GNU工具源碼 (用于編譯出支持不同硬件平臺的gcc, gdb,,)
從 ftp://ftp.gnu.org/gnu下載:
binutils/binutils-2.10.tar.gz
gcc/gcc-2.95.2.tar.gz
從 http://soureware.cygnus.com/ecos下載:
insight-5.0.tar.bz2 (GUI gdb)
ecos-gcc-2952.pat (ecos gcc 補丁)
insight-tcl.pat (ecos insight 補丁)
把這幾個文件都拷入 /src 目錄. (e:\cygnus\src)
2.2 解壓GNU工具縮源碼
bash> cd /src
bash> mkdir -p binutils gcc gdb
展開binutils:
bash> cd /src/binutils
bash> gzip -cd ../binutils-2.10.tar.gz | tar xvf -
展開gcc:
bash> cd /src/gcc
bash> gzip -cd ../gcc-2.95.2.tar.gz | tar xvf -
展開gdb:
bash> cd /src/gdb
bash> bunzip2 < ../insight-5.0.tar.bz2 | tar xvf -
2.3 打補丁
bash> cd /src/gcc/gcc-2.95.2
bash> tr -d '\r' < /src/ecos-gcc-2952.pat | patch -p0
bash> cd /src/gdb/insight-5.0
bash> tr -d '\r' < /src/insight-tcl.pat | patch -p0
2.4 Refresh 文件時間
bash> cd /src/gcc/gcc-2.95.2
bash> ./contrib/egcs_update --touch
2.5 配置和編譯ARM平臺的 binutils, gcc, gdb
bash> mkdir -p /tmp/arm/binutils /tmp/arm/gcc /tmp/arm/gdb
配置binutils:
bash> cd /tmp/arm/binutils
bash> /src/binutils/binutils-2.10/configure --target=arm-elf \
--prefix=/tools/arm -v 2>&1 | tee c.out
編譯binutils:
bash> make -w all install 2>&1 | tee m.out
配置gcc: (一定要在編譯完binutils后才能配置和編譯gcc)
bash> PATH=/tools/arm/bin:$PATH
bash> export PATH
bash> cd /tmp/arm/gcc
bash> /src/gcc/gcc-2.95.2/configure --target=arm-elf \
--prefix=/tools/arm --with-gnu-as \
--with-gnu-ld --with-newlib \
-v 2>&1 | tee c.out
編譯gcc:
bash> make -w all-gcc install-gcc LANGUAGES="c c++" 2>&1 | tee m.out
如何編譯時出錯, 可能是配置時重新生成的頭文件是DOS格式,
找到出錯的頭文件, 用dos2unix工具轉成unix格式, 再編譯就
能通過.
配置gdb:
bash> cd /tmp/arm/gdb
bash> /src/gdb/insight-5.0/configure --target=arm-elf \
--prefix=/tools/arm -v 2>&1 | tee c.out
編譯gdb:
bash> make -w all install 2>&1 | tee m.out
2.6 配置和編譯i386平臺的 binutils, gcc, gdb
bash> mkdir -p /tmp/i386/binutils /tmp/i386/gcc /tmp/i386/gdb
配置binutils:
bash> cd /tmp/i386/binutils
bash> /src/binutils/binutils-2.10/configure --target=i386-elf \
--prefix=/tools/i386 -v 2>&1 | tee c.out
編譯binutils:
bash> make -w all install 2>&1 | tee m.out
配置gcc:
bash> PATH=/tools/i386/bin:$PATH
bash> export PATH
bash> cd /tmp/i386/gcc
bash> /src/gcc/gcc-2.95.2/configure --target=i386-elf \
--prefix=/tools/i386 --with-gnu-as \
--with-gnu-ld --with-newlib \
-v 2>&1 | tee c.out
編譯gcc:
bash> make -w all-gcc install-gcc LANGUAGES="c c++" \
2>&1 | tee m.out
如何編譯時出錯, 可能是配置時重新生成的頭文件是DOS格式,
找到出錯的頭文件, 用dos2unix工具轉成unix格式, 再編譯就
能通過.
配置gdb:
bash> cd /tmp/i386/gdb
bash> /src/gdb/insight-5.0/configure --target=i386-elf \
--prefix=/tools/i386 -v 2>&1 | tee c.out
編譯gdb:
bash> make -w all install 2>&1 | tee m.out
3. 下載和安裝eCos
3.1 下載eCos安裝程序 和 eCos文檔.
http://soureware.cygnus.com/ecos
下載 eCos131.exe
ecos-1.3.1-doc.tar.bz2
3.2 安裝eCos:
運行 eCos.exe
第二種方法: 簡便安裝
1. 映射 \\pink\cygnus為 K:
2. 安裝cygwin:
> cd K:\cygwin
> setup
輸入安裝目錄, 如 e:\cygnus
輸入d, 選擇從當前目錄安裝, 而不是從Internet安裝.
3. 直接拷貝已編譯好的 arm, i386 交叉開發工具.
xcopy k:\tools e:\cygnus\tools /s
4. 安裝eCos.
K:\eCos\eCos131.exe, 安裝到e:\ecos目錄下.
5. 安裝eCos TCP/IP包
啟動 開始菜單\程序\Red Hat eCos\Package Administration Tools,
選中e:\eCos\packages\ecos.db
點擊 "Add" 按鈕, 選中k:\ecos\net-1.0b1.epk
ok.
6. 運行SourceSafe, 把\eCos目錄整個get到e:\ecos下.
7. 運行 開始菜單\程序\Red Hat eCos\Configuration Tool
選中Build\Templates菜單, 在彈出的Template對話框中選擇
Hardware: ARM Development board (SNDS100)
Packages: stubs (監控程序)
或 default (ecos庫)
如選中default, 如要加入TCP/IP包, 選中build\packages菜單,
在Avaliable Packages中, 選中三個包:
(1). Networking (TCP/IP包)
(2). Comm ethernet support (上層網卡driver)
(3). SNDS100 ethernet driver (SNDS100 板網卡driver)
8. 修改e:\cygnus\tools\arm\share\gdbtcl\targetselection.itb
第96行, 原來是:
set gdb_target(remote,baud-rates) {9600 19200 38400 57600}
改為:
set gdb_target(remote,baud-rates) {9600 19200 38400 57600 115200}
gdb Remote Serial缺省不支持115200波特率.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -