<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>基于ARM7核處理器VxWorks系統BSP設計

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

      時間:2023-02-20 22:36:47 電子通信論文 我要投稿
      • 相關推薦

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

        摘要:該文主要介紹了SAMSUNG公司的基于ARM7TDMI核S3C4510B微處理器,并詳細介紹了利用該處理器所設計的嵌入式系統以及VxWorks操作系統下BSP(BoardSupportedPackage)的開發。
        關鍵詞:ARM7TDMIS3C4510BVxWorksBSP
        
        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,EDODRAM,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(作為文件系統用)。
        
        3VxWorks操作系統下BSP構建
        
        在完成板上基本硬件的測試后,下面我就開始對vxWorks操作系統下BSP進行開發,開發前需要做一些準備工作,如準備開發工具等。
        
        ①開發工具用的是Tornado2.2forARM;
        
        ②參考資料有BSPKit、S3C4510BDataSheet;
        
        ③參考Tornado2.2forARM下自帶的wrSBCArm7BSP;
        
        ④燒寫程序采用編程器。
        
        通常在開發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
        
        將wrSBCArm7BSP拷貝一份并命名為4510BSP,接下來的工作就是修改該目錄下的文件,從而得到自己的BSP。
        
        (2)修改MakeFile文件
        
        修改4510BSP目錄下的makefile文件,修改如下幾行:
        
        TARGET_DIR=4510BSP#changedbycaiyang
        
        VENDOR=CAI#changedbycaiyang
        
        BOARD=MyArmBoard#changedbycaiyang
        
        ROM_TEXT_ADRS=01000000#ROMentryaddress
        
        ROM_WARM_ADRS=01000004#ROMwarmentryaddress
        
        ROM_SIZE=00080000#numberofbytesofROMspace
        
        RAM_LOW_ADRS=00006000#RAMtext/dataaddress(bootrom)
        
        RAM_HIGH_ADRS=00486000#RAMtext/dataaddress(bootrom)
        
        MACH_EXTRA=
        
        注解:ROM_TEXT_ADRS:BOOTROM的入口地址。對大多數板來說,這就是ROM地址區的首地址,然而也有的硬件配置使用ROM起始的一部分地址區作為復位向量,因此需要根據此設置偏移量作為它的地址。這個偏移量因CPU結構而定。
        
        ROM_WARM_ADRS:BOOTROM熱啟動入口地址。它通常位于固定的ROM_TEXT_ADRS+4的地方。當需要熱啟動時,sysLib.c文件中sysToMonitor()函數代碼明確的跳轉到ROM_WARM_ADRS地址處開始執行。
        
        ROM_SIZE:ROM實際大小。
        
        RAM_LOW_ADRS:裝載Vxworks的地址。
        
        RAM_HIGH_ADRS:將BootRomImage拷貝到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(targetserverfilesystem)下載
        
        要利用tsfs下載VxWorks,首先需要配置以下內容:
        
        ①在config.h文件中添加如下內容
        
        /*Serialportconfiguration*/
        
        #defineINCLUDE_SERIAL
        
        #undefNUM_TTY
        
        #defineNUM_TTYN_SIO_CHANNELS
        
        #undefCONSOLE_TTY
        
        #defineCONSOLE_TTY0
        
        #undefCONSOLE_BAUD_RATE
        
        #defineCONSOLE_BAUD_RATE38400
        
        /***WDB***/
        
        #ifdefSERIAL_DEBUG
        
        #defineWDB_NO_BAUD_AUTO_CONFIG
        
        #undefWDB_COMM_TYPE
        
        #undefWDB_TTY_BAUD
        
        #undefWDB_TTY_CHANNEL
        
        #undefWDB_TTY_DEV_NAME
        
        #defineWDB_COMM_TYPEWDB_COMM_SERIAL/*WDBinSerialmode*/
        
        #defineWDB_TTY_BAUD38400/*BaudrateforWDBConnection*/
        
        #defineWDB_TTY_CHANNEL1/*COMPORT#2*/
        
        #defineWDB_TTY_DEV_NAME"/tyCo/1"/*defaultTYCODRV_5_2devicename*/
        
        #endif/*SERIAL_DEBUG*/
        
        /*tsfsaddedbycaiyang*/
        
        #defineINCLUDE_TSFS_BOOT
        
        并修改引導行為
        
        #defineDEFAULT_BOOT_LINE\par"tsfs(0,0)host:vxWorksf=8h=169.254.72.67e=169.254.72.68u=caiyangpw=caiyang"
        
        注:串口1用來顯示引導信息,相當于PC機中的顯示器,串口2用來下載VxWorks和調試。同時串口2波特率不能太高,經測試115200好像不行。
        
        ②配置targetserver
        
        啟動Tornado開發環境,選擇Tool->targetserver菜單。在下拉菜單中選“targetserverfilesystem”并選中EnableFileSystem,然后目錄指向Vxworks所在的地方。同時注意要把TornadoRegistry打開,這樣配置完后點擊Launch按鈕即可連接成功,此后就可以通過串口2下載VxWorks和調試。
        
        
        
        一般情況下,我們首先調試好BSP,然后在調試網卡。所以在調試網卡前,我們需要用串口來下載VxWorks映像。
        
        至此,我們的BSP就開發完成。
        
        4結論
        
        在沒有調試BSP的硬件工具如仿真器的時候,我們只能通過點燈或者串口輸出來定位程序執行的正確性。這大大增加了調試
        
        
        
        難度和進程。對于BSP開發,一般需要從一個模板來修改。BSP開發的正確性直接影響到VxWorks系統運行的穩定性。
        
        

      【基于ARM7核處理器VxWorks系統BSP設計】相關文章:

      基于VxWorks的多DSP系統的多任務程序設計08-06

      基于ARM體系的嵌入式系統BSP的程序設計08-06

      基于Vxworks實時操作系統的串口通信程序設計與實現08-19

      基于MicroBlaze軟核的FPGA片上系統設計08-06

      基于Rhapsody和VxWorks的自動取款機系統08-06

      基于雙處理器的點焊控制系統的硬件設計08-06

      基于Nios軟核的嵌入式Internet系統設計08-06

      基于PSOS的TM1300應用系統中的BSP研究08-06

      基于VxWorks的嵌入式系統復合通信模式08-06

      主站蜘蛛池模板: 国产三级精品三级| 精品国产一区二区三区国产区| 国产精品精品一区二区三| 白嫩少妇无套内谢视频| 又粗又大又黄又硬又爽免费看| 亚在线观看免费视频入口| 最新中文字幕国产精品| 久久99国产精品久久99小说| 久久精品亚洲精品国产区| 亚洲人成网站77777在线观看| 人妻无码av中文系列久| 国产一区二区三区在线看| 无码日韩精品一区二区三区免费| 91国在线啪精品一区| 日韩av毛片福利国产福利| 久久精品久久电影免费理论片| 精品无码久久久久久久久久| 国产精品一码二码三码四码| 中文国产不卡一区二区| 色欲AV无码一区二区人妻| 久久精品99国产精品亚洲| 免费看欧美全黄成人片| 久久国产精品波多野结衣| 亚洲精品色哟哟一区二区| 欧美国产日产一区二区| 开心五月激情五月俺亚洲| 在线播放深夜精品三级| 久久这里都是精品一区| 中文字幕日韩有码av| 中文字幕亚洲综合第一页| 亚洲国产精品午夜福利| 久久久一本精品99久久精品88| 日韩深夜福利视频在线观看| 国产成人精彩在线视频| 少妇人妻精品无码专区视频| 国产精品日日摸夜夜添夜夜添无码| 国产香蕉九九久久精品免费| 欧美人与动zozo| 玩弄放荡人妻少妇系列| 亚洲国产成人午夜在线一区 | 国产不卡一区二区在线视频|