久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團(tuán)論壇VxWorks專(zhuān)區(qū)VxWorks技術(shù)討論區(qū) → 基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計(jì)


  共有7128人關(guān)注過(guò)本帖樹(shù)形打印

主題:基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計(jì)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計(jì)  發(fā)帖心情 Post By:2010-11-17 9:14:06

摘要:該文主要介紹了SAMSUNG公司的基于ARM7TDMI核S3C4510B微處理器,并詳細(xì)介紹了利用該處理器所設(shè)計(jì)嵌入式系統(tǒng)以及VxWorks操作系統(tǒng)下BSP(Board Supported Package)的開(kāi)發(fā)

    關(guān)鍵詞:ARM7TDMI S3C4510B VxWorks BSP  

1 介紹  

S3C4510B是三星公司推出的針對(duì)嵌入式應(yīng)用的16/32 位嵌入式處理器,該微控制器專(zhuān)為以太網(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)核/IO電壓3.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,F(xiàn)lash等  

● 具有擴(kuò)展外部總線  

● JTAG接口,支持軟件開(kāi)發(fā) ,硬件調(diào)試  

S3C4510B支持目前常用的嵌入式操作系統(tǒng),如VxWorks、pSoS、ucLinux等,本文將主要介紹VxWorks操作系統(tǒng)下的軟件開(kāi)發(fā)。  

ARM7TDMI是ARM家族通用的一款32位微處理器,它主要為用戶提供了高性能、低價(jià)格解決方案。  

ARM7TDMI具有三級(jí)流水線的32位RISC處理器,處理器結(jié)構(gòu)為馮·諾依曼Load/Store。該CPU具有兩種指令集,即ARM和Thumb指令集。ARM指令集是32位,它可以利用CPU最大性能;而Thumb指令集則是16位指令集。  

ARM7TDMI內(nèi)核方塊圖如圖1所示。



圖片點(diǎn)擊可在新窗口打開(kāi)查看





2 系統(tǒng)硬件圖  

該系統(tǒng)主要以S3C4510B為核心,外圍集成了以太網(wǎng)卡、SDRAM、FLASH、UART以及HDLC等。圖2是以S3C4510B為核心的最小系統(tǒng)設(shè)計(jì)圖。



圖片點(diǎn)擊可在新窗口打開(kāi)查看



    SDRAM選用HY57V653220(8Mbyte)、兩片F(xiàn)LASH分別為AM29F040(存放bootrom)和T28F160BT(作為文件系統(tǒng)用)。  

3 VxWorks操作系統(tǒng)下BSP構(gòu)建  

在完成板上基本硬件的測(cè)試后,下面我就開(kāi)始對(duì)vxWorks操作系統(tǒng)下BSP進(jìn)行開(kāi)發(fā),開(kāi)發(fā)前需要做一些準(zhǔn)備工作,如準(zhǔn)備開(kāi)發(fā)工具等。  

① 開(kāi)發(fā)工具用的是Tornado2.2 for ARM;  

② 參考資料有BSP Kit、S3C4510B DataSheet;  

③ 參考Tornado2.2 for ARM下自帶的wrSBCArm7 BSP;  

④ 燒寫(xiě)程序采用編程器。  

通常在開(kāi)發(fā)BSP的時(shí)候,我們需要在Tornado原帶BSP目錄下找一個(gè)與我們所用的處理器相同或相近。與BSP相關(guān)的文件有:romInit.s、sysAlib.s、bootInit.c、bootConfig.c、sysLib.c、config.h、configNet.h、makefile以及與我們硬件相關(guān)的,如串口sysSerial.c等。由于篇幅所限,具體的文件作用在此就不說(shuō)了。下面主要根據(jù)S3C4510B來(lái)闡述一下BSP開(kāi)發(fā)步驟。  

(1)拷貝BSP  

將wrSBCArm7 BSP拷貝一份并命名為4510BSP,接下來(lái)的工作就是修改該目錄下的文件,從而得到自己的BSP。  

(2)修改MakeFile文件  

修改4510BSP目錄下的makefile文件,修改如下幾行:  

TARGET_DIR = 4510BSP # changed by caiyang  

VENDOR = CAI # changed by caiyang  

BOARD = MyArmBoard # changed by caiyang  

ROM_TEXT_ADRS = 01000000 # ROM entry address  

ROM_WARM_ADRS = 01000004 # ROM warm entry address  

ROM_SIZE = 00080000 # number of bytes of ROM space  

RAM_LOW_ADRS = 00006000 # RAM text/data address (bootrom)  

RAM_HIGH_ADRS = 00486000 # RAM text/data address (bootrom)  

MACH_EXTRA =  

注解:ROM_TEXT_ADRS:BOOT ROM的入口地址。對(duì)大多數(shù)板來(lái)說(shuō),這就是ROM地址區(qū)的首地址,然而也有的硬件配置使用ROM起始的一部分地址區(qū)作為復(fù)位向量,因此需要根據(jù)此設(shè)置偏移量作為它的地址。這個(gè)偏移量因CPU結(jié)構(gòu)而定。  

ROM_WARM_ADRS:BOOT ROM熱啟動(dòng)入口地址。它通常位于固定的ROM_TEXT_ADRS+4的地方。當(dāng)需要熱啟動(dòng)時(shí),sysLib.c文件中sysToMonitor( )函數(shù)代碼明確的跳轉(zhuǎn)到ROM_WARM_ADRS地址處開(kāi)始執(zhí)行。  

ROM_SIZE:ROM實(shí)際大小。  

RAM_LOW_ADRS:裝載Vxworks的地址。  

RAM_HIGH_ADRS:將Boot Rom Image拷貝到RAM的目的地址。  

注意:RAM_LOW_ADRS 和 RAM_HIGH_ADRS 都是絕對(duì)地址,通常位于DRAM起始地址的偏移量處,該偏移量取決于CPU結(jié)構(gòu),這需要參考VxWorks內(nèi)存分布。對(duì)于ARM的內(nèi)存分布請(qǐng)看圖3,從圖3可以看出RAM_LOW_ADRS在DRAM+0x1000處。這些地址對(duì)于S3C4510B來(lái)說(shuō)都應(yīng)該是重映射后的地址。  

(3)修改config.h文件  

主要是修改ROM_BASE_ADRS、ROM_TEXT_ADRS、ROM_SIZE、RAM_LOW_ADRS、RAM_HIGH_ADRS和undef掉不需要的部分。注意這些應(yīng)該和makefile文件中設(shè)置的一致。  

(4)修改romInit.s文件  

CPU一上電就開(kāi)始執(zhí)行romInit( )函數(shù),因此在romInit.s代碼段中它必須是第一個(gè)函數(shù)。對(duì)于熱啟動(dòng),處理器將會(huì)執(zhí)行romInit( )加上4后的代碼(具體參考sysLib.c中的sysToMonitor( )函數(shù))。更多的硬件初始化在sysLib.c中sysHwInit( )函數(shù)中,romInit( )的工作就是做較少的初始化并把控制權(quán)交給romStart( )(在bootInit.c文件)。  

在S3C4510B處理器中,romInit.s文件主要做了以下幾個(gè)工作:  

① 禁止CPU中斷并切換到SVC32模式;  

② 禁止中斷控制器;  

③ 初始化SYSCFG、EXTDBWTH、ROMCON0、ROMCON1、DRAMCON0等寄存器,同時(shí)初始化了FLASH、SDRAM、DM9008等外圍設(shè)備;  

④ 將FLASH的內(nèi)容拷貝到SDRAM中;  

⑤ 改變FLASH和SDRAM的基地址,將SDRAM基地址改為0;  

⑥ 初始化堆棧指針;  

⑦ 跳轉(zhuǎn)到C程序romStart( )函數(shù)中。  

在這里,只需要修改SYSCFG、EXTDBWTH、ROMCON0、ROMCON1、DRAMCON0等寄存器來(lái)設(shè)置FLASH、SDRAM、DM9008的基地址和大小即可。這需要根據(jù)板上的配置來(lái)修改,修改的內(nèi)容在wrSbcArm7.h文件中。  

BSP基本部分就已經(jīng)修改完成,至于bootInit.c和bootConfig.c文件,我們一般不需要修改它,只是在調(diào)試過(guò)程中為了方便調(diào)試,可以將他們拷貝到BSP目錄下,然后修改makefile文件,在makefile文件中添加如下兩句。  

BOOTCONFIG = bootConfig.c  

BOOTINIT = bootInit.c  

(5)利用tsfs(target server file system)下載  

要利用tsfs下載VxWorks,首先需要配置以下內(nèi)容:  

① 在config.h文件中添加如下內(nèi)容  

/* Serial port configuration */  

#define INCLUDE_SERIAL  

#undef NUM_TTY  

#define NUM_TTY N_SIO_CHANNELS  

#undef CONSOLE_TTY  

#define CONSOLE_TTY 0  

#undef CONSOLE_BAUD_RATE  

#define CONSOLE_BAUD_RATE 38400  

/*** WDB ***/  

#ifdef SERIAL_DEBUG  

#define WDB_NO_BAUD_AUTO_CONFIG  

#undef WDB_COMM_TYPE  

#undef WDB_TTY_BAUD  

#undef WDB_TTY_CHANNEL  

#undef WDB_TTY_DEV_NAME  

#define WDB_COMM_TYPE WDB_COMM_SERIAL /* WDB in Serial mode */  

#define 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,0)host:vxWorks f=8 h=169.254.72.67 e=169.254.72.68 u=caiyang pw=caiyang"  

注:串口1用來(lái)顯示引導(dǎo)信息,相當(dāng)于PC機(jī)中的顯示器,串口2用來(lái)下載VxWorks和調(diào)試。同時(shí)串口2波特率不能太高,經(jīng)測(cè)試115200好像不行。  

② 配置target server  

啟動(dòng)Tornado開(kāi)發(fā)環(huán)境,選擇Tool->target server菜單。在下拉菜單中選“target server file system”并選中Enable File System,然后目錄指向Vxworks所在的地方。同時(shí)注意要把Tornado Registry打開(kāi),這樣配置完后點(diǎn)擊Launch按鈕即可連接成功,此后就可以通過(guò)串口2下載VxWorks和調(diào)試。





圖片點(diǎn)擊可在新窗口打開(kāi)查看

  

一般情況下,我們首先調(diào)試好BSP,然后在調(diào)試網(wǎng)卡。所以在調(diào)試網(wǎng)卡前,我們需要用串口來(lái)下載VxWorks映像。  

至此,我們的BSP就開(kāi)發(fā)完成。  

4 結(jié)論  

在沒(méi)有調(diào)試BSP的硬件工具如仿真器的時(shí)候,我們只能通過(guò)點(diǎn)燈或者串口輸出來(lái)定位程序執(zhí)行的正確性。這大大增加了調(diào)試難度和進(jìn)程。對(duì)于BSP開(kāi)發(fā),一般需要從一個(gè)模板來(lái)修改。BSP開(kāi)發(fā)的正確性直接影響到VxWorks系統(tǒng)運(yùn)行的穩(wěn)定性。

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

基于ARM7核處理器VxWorks系統(tǒng)BSP設(shè)計(jì)








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
色先锋资源久久综合| 成人禁用看黄a在线| 久久综合av免费| 欧美区视频在线观看| 亚洲欧美日韩另类精品一区二区三区| 超碰97在线播放| 亚洲国产精品一区二区第四页av | 精品国产麻豆免费人成网站| aaa欧美色吧激情视频| 亚洲伦在线观看| 欧美一区二区三区免费大片| 韩国精品一区二区三区六区色诱| 老汉av免费一区二区三区| 国产精品女主播在线观看| 欧美性感一区二区三区| 国产伦精品一区二区三区视频免费 | 国产欧美一区二区精品性| 久久久久久久综合日本| 欧美一级久久久| 精品综合在线| 国产区欧美区日韩区| 国产欧美日韩一区| 日韩视频专区| 欧美日韩综合一区| 日韩欧美一区二区久久婷婷| 欧美精品一区二区三区蜜桃视频| www国产成人免费观看视频 深夜成人网| 国产激情一区二区三区在线观看 | 精品美女在线播放| 神马影院午夜我不卡影院| 亚洲男同性恋视频| 国产日韩欧美一区二区三区乱码| 日韩欧美在线电影| 青青草原成人| 欧美极品美女视频| 国产视频911| 亚洲制服中文| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲视频小说图片| 丝袜诱惑制服诱惑色一区在线观看| 日韩不卡一区二区三区| 国产精品一二二区| 91视频免费观看| 神马影院一区二区| 制服.丝袜.亚洲.中文.综合| 国产欧美一区二区三区网站 | 国产精品一国产精品最新章节| 日本午夜精品一区二区| 在线日韩av片| 欧美日韩精品福利| 中文字幕乱码亚洲精品一区| 午夜成人免费视频| 国产69精品久久99不卡| 免费精品视频一区| 欧美高清hd18日本| 亚洲欧美激情视频在线观看一区二区三区| 亚洲综合视频在线观看| 国产在线一区二区| 精品视频第一区| 欧美日本一区二区| 一区二区三区资源| 国产xxx精品视频大全| 欧美日韩国产免费一区二区三区| 亚洲精品菠萝久久久久久久| 久久久国产午夜精品| 一区二区高清免费观看影视大全 | 精品一区日韩成人| 色先锋久久av资源部| 欧美本精品男人aⅴ天堂| 亚洲成人黄色小说| 成av人片一区二区| 欧美色涩在线第一页| 日本伊人色综合网| 五月婷婷综合色| 国产精品视频yy9299一区| 国产乱码精品一区二区三区日韩精品| 日韩一区国产在线观看| 最近日韩中文字幕| 一区二区视频在线看| av不卡在线观看| 欧美一级电影网站| 国产伦理一区二区三区| 国产美女一区二区| 天天综合狠狠精品| 国产日产精品一区| 91色九色蝌蚪| 久久精品一区蜜桃臀影院| 成人免费va视频| 日韩欧美一二三区| 国产精品99久久久久| 7777精品伊人久久久大香线蕉完整版| 日韩av网站在线观看| 色婷婷久久一区二区三区麻豆| 亚洲综合在线第一页| 欧美日韩精品一区| 亚洲第一在线综合网站| 亚洲福利av| 亚洲第一搞黄网站| 色老汉av一区二区三区| 视频一区国产视频| 综合网五月天| 亚洲高清免费一级二级三级| 久久久99爱| 婷婷综合久久一区二区三区| 在线视频精品一区| 激情六月婷婷久久| 日韩欧美国产1| 俄罗斯精品一区二区| 国产精品日产欧美久久久久| 日韩国产美国| 日本网站在线观看一区二区三区| 在线影视一区二区三区| 美美哒免费高清在线观看视频一区二区| 欧美视频在线一区| 丁香网亚洲国际| 国产亚洲一区二区三区四区| 快播亚洲色图| 午夜激情综合网| 欧美私人免费视频| 国产成人精品亚洲777人妖 | 日韩欧美国产成人一区二区| 成人精品视频一区| 亚洲人xxxx| 中文字幕日韩一区二区三区| 蜜桃av一区二区| 日韩亚洲欧美高清| 久久久av水蜜桃| 久久成人免费电影| 国产女主播在线一区二区| 视频一区不卡| 成人黄色小视频在线观看| 中文字幕在线免费不卡| 在线天堂一区av电影| 顶级嫩模精品视频在线看| 18涩涩午夜精品.www| 欧美无砖砖区免费| 国产精品免费一区二区三区观看 | 岛国视频一区免费观看| 亚洲成人av一区二区三区| 91精品国产乱码久久蜜臀| 久久精品中文字幕一区二区三区| 美女网站一区二区| 欧美激情综合五月色丁香小说| 深田咏美在线x99av| 成人一道本在线| 亚洲最大成人综合| 日韩欧美精品三级| 亚洲高清不卡一区| 2020国产精品久久精品不卡| 香蕉影视欧美成人| 久久精品免视看| 欧美性做爰猛烈叫床潮| 狠狠爱一区二区三区| 狠狠狠色丁香婷婷综合激情| 综合久久综合久久| 日韩欧美精品三级| 色噜噜久久综合| 精品国产一区二区三区四区vr| 国产麻豆视频精品| 午夜欧美一区二区三区在线播放| 久久久久综合网| 精品国产3级a| 色综合久久中文综合久久97| 成人丝袜18视频在线观看| 伊人夜夜躁av伊人久久| 日韩女优视频免费观看| 色99中文字幕| 97久久夜色精品国产九色 | 国产精品亲子伦对白| 欧美久久婷婷综合色| 欧美日韩精品免费在线观看视频| 不卡大黄网站免费看| 琪琪久久久久日韩精品| 国产精品传媒在线| 久久久亚洲精华液精华液精华液| 欧美日韩你懂得| 色欧美日韩亚洲| 人偷久久久久久久偷女厕| 91欧美激情一区二区三区成人| 国产麻豆精品久久一二三| 丝袜诱惑亚洲看片| 亚洲免费观看高清完整版在线观看熊 | 久久久久久久精| 欧美高清www午色夜在线视频| 水蜜桃亚洲精品| 国产日韩在线一区二区三区| 91亚洲永久精品| 粉嫩高潮美女一区二区三区| 极品少妇xxxx精品少妇| 日韩av电影天堂| 婷婷开心激情综合| 亚洲国产一区二区a毛片| 国产精品国产成人国产三级| 精品国产免费视频| 欧美变态tickling挠脚心| 欧美一区二区三区日韩| 91麻豆精品国产91久久久使用方法 | 亚洲美女在线一区| 中文字幕一区二区三区av| 国产亲近乱来精品视频|