基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計(jì)_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于arm7核處理器vxworks系統(tǒng)bsp設(shè)計(jì)該文主要介紹了samsung公司的基于7tdmi核s3c4510b微處理器,并具體介紹了利用該處理器所設(shè)計(jì)的系統(tǒng)以及操作系統(tǒng)下bsp(board supported package)的開發(fā)。1 介紹s3c4510b是三星公司推出的針對(duì)嵌入式應(yīng)用的16/32 位嵌入式處理器,該微控制器專為以太網(wǎng)通信系統(tǒng)的集線器和路由器而設(shè)計(jì),具有低成本和高性能的特點(diǎn), s3c4510b中內(nèi)置了arm公司設(shè)計(jì)的16/32位arm7tdmi處理器, 可以執(zhí)行32位的arm命令,也可執(zhí)行16位的thumb命令, 并集成了多種外圍部件,主要有: 時(shí)鐘頻率50mhz 內(nèi)核/

2、io3.3v 8kb的cache/sram 一個(gè)10/100mbps 以太網(wǎng)控制器,mii接口 兩個(gè)hdlc通道,每個(gè)通道可支持10mbps 兩個(gè)uart通道 兩個(gè)dma通道 兩個(gè)32位定時(shí)/計(jì)數(shù)器 18個(gè)可編程i/o口 中斷控制器,支持21個(gè)中斷源,包括4個(gè)外部中斷 支持sdram,edo dram,sram,flash等 具有擴(kuò)展外部 jtag接口,支持軟件開發(fā) ,硬件調(diào)試s3c4510b支持目前常用的嵌入式操作系統(tǒng),如vxworks、psos、uc等,本文將主要介紹vxworks操作系統(tǒng)下的軟件開發(fā)。arm7tdmi是arm家族通用的一款32位微處理器,它主要為用戶提供了高性能、低價(jià)格解

3、決計(jì)劃。arm7tdmi具有三級(jí)流水線的32位risc處理器,處理器結(jié)構(gòu)為馮%26;183;諾依曼load/store。該cpu具有兩種命令集,即arm和thumb命令集。arm命令集是32位,它可以利用cpu最大性能;而thumb命令集則是16位命令集。arm7tdmi內(nèi)核方塊圖1所示。2 系統(tǒng)硬件圖該系統(tǒng)主要以s3c4510b為核心,外圍集成了以太網(wǎng)卡、sdram、flash、uart以及hdlc等。圖2是以s3c4510b為核心的最小系統(tǒng)設(shè)計(jì)圖。sdram選用hy57v653220(8mbyte)、兩片flash分離為am29f040(存放bootrom)和t28f160bt(作為文件系

4、統(tǒng)用)。3 vxworks操作系統(tǒng)下bsp構(gòu)建在完成板上基本硬件的測(cè)試后,下面我就開頭對(duì)vxworks操作系統(tǒng)下bsp舉行開發(fā),開發(fā)前需要做一些預(yù)備工作,如預(yù)備開發(fā)工具等。 開發(fā)工具用的是tornado2.2 for arm; 參考資料有bsp kit、s3c4510b datasheet; 參考tornado2.2 for arm下自帶的wrsbcarm7 bsp; 燒寫程序采納編程器。通常在開發(fā)bsp的時(shí)候,我們需要在tornado原帶bsp名目下找一個(gè)與我們所用的處理器相同或相近。與bsp相關(guān)的文件有:rominit.s、sysalib.s、bootinit.c、bootconfig.c

5、、syslib.c、config.h、confignet.h、makefile以及與我們硬件相關(guān)的,如串口sysserial.c等。因?yàn)槠?,詳?xì)的文件作用在此就不說了。下面主要按照s3c4510b來闡述一下bsp開發(fā)步驟。(1)拷貝bsp將wrsbcarm7 bsp拷貝一份并命名為4510bsp,接下來的工作就是修改該名目下的文件,從而得到自己的bsp。(2)修改makefile文件修改4510bsp名目下的makefile文件,修改如下幾行:target_dir = 4510bsp changed by caiyangvendor = cai changed by caiyangboa

6、rd = myarmboard changed by caiyangrom_text_adrs = 01000000 rom entry addressrom_warm_adrs = 01000004 rom warm entry addressrom_size = 00080000 number of bytes of rom spaceram_low_adrs = 00006000 ram text/data address (bootrom)ram_high_adrs = 00486000 ram text/data address (bootrom)mach_extra =注解:rom

7、_text_adrs:boot rom的入口地址。對(duì)大多數(shù)板來說,這就是rom地址區(qū)的首地址,然而也有的硬件配置用法rom起始的一部分地址區(qū)作為復(fù)位向量,因此需要按照此設(shè)置偏移量作為它的地址。這個(gè)偏移量因cpu結(jié)構(gòu)而定。rom_warm_adrs:boot rom熱啟動(dòng)入口地址。它通常位于固定的rom_text_adrs4的地方。當(dāng)需要熱啟動(dòng)時(shí),syslib.c文件中systomonitor( )函數(shù)代碼明確的跳轉(zhuǎn)到rom_warm_adrs地址處開頭執(zhí)行。rom_size:rom實(shí)際大小。ram_low_adrs:裝載vxworks的地址。ram_high_adrs:將boot rom im

8、age拷貝到ram的目的地址。注重:ram_low_adrs 和 ram_high_adrs 都是肯定地址,通常位于dram起始地址的偏移量處,該偏移量取決于cpu結(jié)構(gòu),這需要參考vxworks內(nèi)存分布。對(duì)于arm的內(nèi)存分布請(qǐng)看圖3,從圖3可以看出ram_low_adrs在dram0x1000處。這些地址對(duì)于s3c4510b來說都應(yīng)當(dāng)是重映射后的地址。(3)修改config.h文件主要是修改rom_base_adrs、rom_text_adrs、rom_size、ram_low_adrs、ram_high_adrs和undef掉不需要的部分。注重這些應(yīng)當(dāng)和makefile文件中設(shè)置的全都。(4

9、)修改rominit.s文件cpu一上電就開頭執(zhí)行rominit( )函數(shù),因此在rominit.s代碼段中它必需是第一個(gè)函數(shù)。對(duì)于熱啟動(dòng),處理器將會(huì)執(zhí)行rominit( )加上4后的代碼(詳細(xì)參考syslib.c中的systomonitor( )函數(shù))。更多的硬件初始化在syslib.c中syshwinit( )函數(shù)中,rominit( )的工作就是做較少的初始化并把控制權(quán)交給romstart( )(在bootinit.c文件)。在s3c4510b處理器中,rominit.s文件主要做了以下幾個(gè)工作: 禁止cpu中斷并切換到svc32模式; 禁止中斷控制器; 初始化syscfg、extdbw

10、th、romcon0、romcon1、dramcon0等寄存器,同時(shí)初始化了flash、sdram、dm9008等外圍設(shè)備; 將flash的內(nèi)容拷貝到sdram中; 轉(zhuǎn)變flash和sdram的基地址,將sdram基地址改為0; 初始化堆棧指針; 跳轉(zhuǎn)到c程序romstart( )函數(shù)中。在這里,只需要修改syscfg、extdbwth、romcon0、romcon1、dramcon0等寄存器來設(shè)置flash、sdram、dm9008的基地址和大小即可。這需要按照板上的配置來修改,修改的內(nèi)容在wrsbcarm7.h文件中。bsp基本部分就已經(jīng)修改完成,至于bootinit.c和bootconf

11、ig.c文件,我們普通不需要修改它,只是在調(diào)試過程中為了便利調(diào)試,可以將他們拷貝到bsp名目下,然后修改makefile文件,在makefile文件中添加如下兩句。bootconfig = bootconfig.cbootinit = bootinit.c(5)利用tsfs(target server file system)下載要利用tsfs下載vxworks,首先需要配置以下內(nèi)容: 在config.h文件中添加如下內(nèi)容/* serial port configuration */define include_serialundef num_ttydefine num_tty n_sio_c

12、hannelsundef console_ttydefine console_tty 0undef console_baud_ratedefine console_baud_rate 38400/* wdb */ifdef serial_debugdefine wdb_no_baud_auto_configundef wdb_comm_typeundef wdb_tty_baudundef wdb_tty_channelundef wdb_tty_dev_namedefine wdb_comm_type wdb_comm_serial /* wdb in serial mode */defin

13、e wdb_tty_baud 38400 /* baud rate for wdb connection */define wdb_tty_channel 1 /* com port 2 */define wdb_tty_dev_name "/tyco/1" /* default tycodrv_5_2 device name */endif /* serial_debug */* tsfs added by caiyang */define include_tsfs_boot并修改引導(dǎo)行為define default_boot_line par "tsfs(0,

14、0)host:vxworks f=8 h=169.254.72.67 e=169.254.72.68 u=caiyang pw=caiyang"注:串口1用來顯示引導(dǎo)信息,相當(dāng)于pc機(jī)中的,串口2用來下載vxworks和調(diào)試。同時(shí)串口2波特率不能太高,經(jīng)測(cè)試115200好似不可。 配置target server啟動(dòng)tornado開發(fā)環(huán)境,挑選tool>target server菜單。在下拉菜單中選“target server file system”并選中enable file system,然后名目指向vxworks所在的地方。同時(shí)注重要把tornado registry打開,這樣配置完后點(diǎn)擊launch按鈕即可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論