如何建立基本的嵌入式開發工作環境

?1.宿主機架構及開發平臺選擇

a.? MAC OS

b.? x86架構下的Windows并使用軟件Cygwin在Windows 上模擬Linux 的命令行 開發環境。

c. x86架構下安裝Linux操作系統,并直接在系統自帶命令行環境下開發。

?2.目標機架構及操作系統

a.? ARM架構的開發板(三星的s3c 系列,ATMEL 的AT91系列等) 運行uClinux.? uC/OS-II . RTOS.等操作系統。

?3.交叉編譯環境

arm-linux-gcc 或arm-elf-gcc

注:該工具的安裝路徑需要添加到/etc/profile中的PATH環境變量里

?4.虛擬目標開發板

a.? SkyEye

安裝步驟:

$tar jxvf skyeye.1.2.6_rcl.tar.bz2

$cd? skyeye.1.2.6_rcl

$./configure

$make

$su

#make install

b.? QEMU

5.完整開發過程演示

以?將測試程序test.c 編譯連接后加載到模擬開發板上運行的基本步驟:

a. 編譯

$ arm-elf-gcc -o2 -c test.c

//優化等級2,生成test.o 目標文件

b. 鏈接

$ arm-elf-ld? -e test -Ttest 0x0 test.o -o test

//參數e后接的文件名代表運行時入口程序(默認為main函數);

-Ttest 0x0代表將文件鏈接至內存0地址處;

-o 后接鏈接后生成的可執行文件test

當然,也可以使用自定義的鏈接腳本文件

$ arm-elf-ld -T test.lds? test.o -o test

$ vim test.lds

****************************************

ENTRY(test)

SECTIONS

{

. = 0x00000000;

.text : {

*(.text )

}

. = ALIGN(32);

.data? : {

*(.data )

}

. = ALIGN(32);

.bbs? : {

*(.bbs? )

}

}

****************************************

c. 轉化

//將test文件轉化成目標機器可識別(可加載到開發板上直接運行)的純二進制文件

$ arm-elf-objcopy -O binary test test.bin

d. 編寫模擬開發板軟件skyeye 的配置文件。

將skyeye.conf 及test.bin放到同一目錄中,然后在命令行直接運行'skyeye '命令即可。

$ vim skyeye.conf

****************************************

?cpu: arm920t

?mach: s3c2410x

?#physical memory 注釋行

?mem_bank: map=M, type=RW, addr=0x00000000, size=0x00800000, file=./test.bin

?#all peripherals I/O mapping areas

?mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000

****************************************

?$ vim skyeye

圖片發自簡書App


?


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容