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


曙海教育集團論壇VxWorks專區VxWorks技術討論區 → 基于ARM7核處理器VxWorks系統BSP設計


  共有7135人關注過本帖樹形打印

主題:基于ARM7核處理器VxWorks系統BSP設計

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


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

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

    關鍵詞:ARM7TDMI S3C4510B VxWorks BSP  

1 介紹  

S3C4510B是三星公司推出的針對嵌入式應用的16/32 位嵌入式處理器,該微控制器專為以太網通信系統的集線器和路由器而設計,具有低成本和高性能的特點, S3C4510B中內置了

ARM公司

設計的16/32位ARM7TDMI處理器, 可以執行32位的ARM指令,也可執行16位的THUMB指令, 并集成了多種外圍部件,主要有:  

● 時鐘頻率50MHz  

內核/IO電壓3.3V  

● 8KB的Cache/SRAM  

● 一個10/100Mbps 以太網控制器,MII接口  

● 兩個HDLC通道,每個通道可支持10Mbps  

● 兩個UART通道  

● 兩個DMA通道  

● 兩個32位定時/計數器  

● 18個可編程I/O口  

● 中斷控制器,支持21個中斷源,包括4個外部中斷  

● 支持SDRAM,EDO DRAM,SRAM,Flash等  

● 具有擴展外部總線  

● JTAG接口,支持軟件開發 ,硬件調試  

S3C4510B支持目前常用的嵌入式操作系統,如VxWorks、pSoS、ucLinux等,本文將主要介紹VxWorks操作系統下的軟件開發。  

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

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

ARM7TDMI內核方塊圖如圖1所示。



圖片點擊可在新窗口打開查看





2 系統硬件圖  

該系統主要以S3C4510B為核心,外圍集成了以太網卡、SDRAM、FLASH、UART以及HDLC等。圖2是以S3C4510B為核心的最小系統設計圖。



圖片點擊可在新窗口打開查看



    SDRAM選用HY57V653220(8Mbyte)、兩片FLASH分別為AM29F040(存放bootrom)和T28F160BT(作為文件系統用)。  

3 VxWorks操作系統下BSP構建  

在完成板上基本硬件的測試后,下面我就開始對vxWorks操作系統下BSP進行開發,開發前需要做一些準備工作,如準備開發工具等。  

① 開發工具用的是Tornado2.2 for ARM;  

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

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

④ 燒寫程序采用編程器。  

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

(1)拷貝BSP  

將wrSBCArm7 BSP拷貝一份并命名為4510BSP,接下來的工作就是修改該目錄下的文件,從而得到自己的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的入口地址。對大多數板來說,這就是ROM地址區的首地址,然而也有的硬件配置使用ROM起始的一部分地址區作為復位向量,因此需要根據此設置偏移量作為它的地址。這個偏移量因CPU結構而定。  

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

ROM_SIZE:ROM實際大小。  

RAM_LOW_ADRS:裝載Vxworks的地址。  

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

注意:RAM_LOW_ADRS 和 RAM_HIGH_ADRS 都是絕對地址,通常位于DRAM起始地址的偏移量處,該偏移量取決于CPU結構,這需要參考VxWorks內存分布。對于ARM的內存分布請看圖3,從圖3可以看出RAM_LOW_ADRS在DRAM+0x1000處。這些地址對于S3C4510B來說都應該是重映射后的地址。  

(3)修改config.h文件  

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

(4)修改romInit.s文件  

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

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

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

② 禁止中斷控制器;  

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

④ 將FLASH的內容拷貝到SDRAM中;  

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

⑥ 初始化堆棧指針;  

⑦ 跳轉到C程序romStart( )函數中。  

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

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

BOOTCONFIG = bootConfig.c  

BOOTINIT = bootInit.c  

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

要利用tsfs下載VxWorks,首先需要配置以下內容:  

① 在config.h文件中添加如下內容  

/* 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  

并修改引導行為  

#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用來顯示引導信息,相當于PC機中的顯示器,串口2用來下載VxWorks和調試。同時串口2波特率不能太高,經測試115200好像不行。  

② 配置target server  

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





圖片點擊可在新窗口打開查看

  

一般情況下,我們首先調試好BSP,然后在調試網卡。所以在調試網卡前,我們需要用串口來下載VxWorks映像。  

至此,我們的BSP就開發完成。  

4 結論  

在沒有調試BSP的硬件工具如仿真器的時候,我們只能通過點燈或者串口輸出來定位程序執行的正確性。這大大增加了調試難度和進程。對于BSP開發,一般需要從一個模板來修改。BSP開發的正確性直接影響到VxWorks系統運行的穩定性。

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

返回版面帖子列表

基于ARM7核處理器VxWorks系統BSP設計








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产原创一区二区| 午夜精品视频一区| 91麻豆精品国产91久久久更新时间| 在线看无码的免费网站| 亚洲欧洲精品一区二区三区波多野1战4| 欧美国产视频在线观看| 欧美日韩精品免费观看视一区二区| 好看的日韩精品| 欧美精品v日韩精品v国产精品| 日本在线观看一区二区| 色综合久久88色综合天天提莫| 一级做a爰片久久| 欧美在线短视频| 91麻豆精品国产91久久久使用方法 | 不卡视频一区二区三区| 国产麻豆乱码精品一区二区三区| 久久人人爽爽人人爽人人片av| 日本一区二区三区四区高清视频| 在线精品日韩| 777a∨成人精品桃花网| 国产亚洲精品资源在线26u| 国产大陆a不卡| 精品在线一区二区三区| 91麻豆国产福利精品| 欧美在线一二三区| 亚洲欧洲精品天堂一级| 欧美色图一区二区三区| 欧美一区二区三区四区视频| 欧美精品一区二区三区视频| 综合欧美亚洲日本| 天天综合色天天综合色h| 国产成人av电影在线播放| 国产精品美女诱惑| 色吊一区二区三区| 久久综合色8888| 一区二区三区电影在线播| 美女视频黄a大片欧美| 69堂成人精品视频免费| 日韩av不卡在线播放| 91麻豆精品国产综合久久久久久 | 国产99久久久国产精品潘金网站| 999热视频在线观看| 亚洲国产成人av| 成人国产精品免费| 亚洲砖区区免费| 久久蜜桃av一区精品变态类天堂 | 国产无一区二区| 天天色 色综合| av在线不卡一区| 在线精品视频一区二区三四| 欧美经典三级视频一区二区三区| 男女男精品视频| 国产精品视频500部| 欧美精品久久一区| 亚洲一区二区三区四区在线免费观看 | 亚洲高清免费观看高清完整版在线观看| 国产一区二区三区| 午夜午夜精品一区二区三区文| 精品国产乱码久久久久久免费 | 国产呦萝稀缺另类资源| 欧美一进一出视频| 久久久久久久久久久黄色| 青娱乐精品在线视频| 精品国产一区二区三区免费 | 91精品国产麻豆| 青青草原综合久久大伊人精品优势| 97久久天天综合色天天综合色hd | 欧美—级在线免费片| 福利一区福利二区| 在线精品国精品国产尤物884a| 亚洲欧美一区二区三区极速播放| 国产91高潮流白浆在线麻豆 | 3751色影院一区二区三区| 亚洲成人免费视频| 久久精品国产99精品国产亚洲性色| 制服丝袜亚洲网站| 久久国产三级精品| 亚洲综合第一| 亚洲综合色成人| 久久香蕉综合色| 国产精品久久久久久久蜜臀| 91精品国产综合久久精品性色| 日本午夜精品视频在线观看 | 国产精品久久久久久户外露出| 大陆成人av片| 欧美一卡二卡在线| 激情综合网av| 欧美熟乱第一页| 老汉av免费一区二区三区| 伊人久久大香线蕉av一区| 亚洲黄色尤物视频| 欧美日韩国产高清视频| 亚洲丝袜精品丝袜在线| 精品国产乱码久久久久久丨区2区| 国产欧美一区视频| 国产成人亚洲欧美| 国产精品初高中害羞小美女文| 岛国一区二区三区高清视频| 国产视频911| 国产欧美综合精品一区二区| 中文字幕第一页久久| 国产高清一区二区三区| 国产精品美女久久久久久久久| 91情侣在线视频| 国产精品视频在线看| 精品国产综合| 夜夜爽夜夜爽精品视频| 亚洲最新在线| 美女高潮久久久| 欧美精品一卡二卡| 成人国产精品免费网站| 国产午夜精品福利| 就去色蜜桃综合| 亚洲成人777| 欧美三级电影精品| av一二三不卡影片| 中文字幕中文乱码欧美一区二区| 蜜桃视频在线观看91| 亚洲成国产人片在线观看| 欧洲中文字幕精品| 粉嫩av一区二区三区粉嫩| 日本一二三四高清不卡| 欧美日韩精品一区| 另类中文字幕网| 欧美xxxxxxxx| 久久综合婷婷综合| 精品一区二区在线看| 久久色中文字幕| 免费精品视频一区| 捆绑调教一区二区三区| 久久网站最新地址| 欧美日韩在线一二三| 美美哒免费高清在线观看视频一区二区| 在线成人午夜影院| 国产精品乱子乱xxxx| 婷婷一区二区三区| 波多野结衣91| 亚洲午夜私人影院| 91精品国产综合久久久蜜臀粉嫩 | av一区二区三区黑人| 亚洲猫色日本管| 欧美无砖专区一中文字| av色综合久久天堂av综合| 亚洲精品中文在线| 欧美乱熟臀69xxxxxx| 国产精品大全| 日本在线不卡视频| 国产欧美久久久精品影院| 日韩欧美亚洲v片| 粗大黑人巨茎大战欧美成人| 亚洲精品v日韩精品| 欧美一级欧美三级| 欧美重口乱码一区二区| 国产一区二区成人久久免费影院| 国产精品私人自拍| 欧美日韩亚州综合| 久久精品国产综合精品| 国产精品综合一区二区三区| 亚洲乱码国产乱码精品精可以看| 69成人精品免费视频| 欧洲精品久久| 99在线热播精品免费| 五月天网站亚洲| 中文一区二区完整视频在线观看| 欧美在线三级电影| 裸体丰满少妇做受久久99精品| 国产麻豆成人精品| 亚洲成av人影院| 中文av一区二区| 欧美一区二区在线免费播放| 亚洲精品不卡| 国产精品国模大尺度私拍| 国产伦精一区二区三区| 亚洲一区视频在线观看视频| 亚洲国产岛国毛片在线| 91精品国产日韩91久久久久久| 亚洲韩国在线| 女女同性女同一区二区三区91| 成人精品gif动图一区| 日韩电影网1区2区| 一级中文字幕一区二区| 国产精品女主播在线观看| 欧美一区二区三区视频免费 | 偷拍亚洲欧洲综合| 亚洲美女一区二区三区| 2020国产成人综合网| 欧美三级电影网| 一本色道久久加勒比精品| 蜜桃91精品入口| 成人av免费在线看| hitomi一区二区三区精品| 国产一区 二区| 久久成人羞羞网站| 五月婷婷综合激情| 一卡二卡欧美日韩| 一区二区三区四区乱视频| 精品在线不卡| 国产精品一区二| 国产精品一区免费观看| 91九色对白|