<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > VxWorks移植到AT91RM9200的BSP定制過(guò)程

          VxWorks移植到AT91RM9200的BSP定制過(guò)程

          作者: 時(shí)間:2010-12-14 來(lái)源:網(wǎng)絡(luò) 收藏


          的缺省配置由configAll.h來(lái)確定。一般來(lái)說(shuō),缺省配置的設(shè)置與自行開(kāi)發(fā)的硬件系統(tǒng)的配置不同,用戶可通過(guò)Cotlfig.h來(lái)改變?nèi)笔∨渲?。用戶須查看configAll.h,并在Config.h中將不需要的軟硬件配置和初始化去掉。例如,缺省配置中一般包含浮點(diǎn)處理器,而AT9lRM9200中沒(méi)有浮點(diǎn)寄存器,因此就要?jiǎng)h掉相關(guān)配置。

          3.2.3 修改integrator920t.c

          該文件中設(shè)置所有非可選的、與芯片相關(guān)的信息,如各硬件相關(guān)寄存器的地址定義,設(shè)備寄存器中對(duì)應(yīng)位的定義,各硬件中斷矢量和中斷優(yōu)先級(jí)的定義,DBUG和USART的控制,網(wǎng)口的定義,系統(tǒng)時(shí)鐘和輔助時(shí)鐘參數(shù)設(shè)置等。所要使用的目標(biāo)板包含設(shè)備的驅(qū)動(dòng)程序頭文什應(yīng)當(dāng)包含在該文件的開(kāi)始。該文件中的各項(xiàng)宏定義均是基于芯片的,并根據(jù)具體要求定義。例如,電源管理控制器中用到兩個(gè)鎖相環(huán)PLLA和PLLB,對(duì)它們的部分參數(shù)設(shè)定代碼如下:

          3 2.4 修改rornlnit.s

          該文件包含引導(dǎo)ROM和基于ROM的映像的入口初始化匯編代碼。入口點(diǎn)為romInit()函數(shù),是系統(tǒng)加電啟動(dòng)后首先執(zhí)行的代碼。主要功能是:保存啟動(dòng)類型,使處理器復(fù)位;初始化Flash和SDRAM;設(shè)置MMU到已知狀態(tài);指令Cache使能;初始化MMU控制寄存器(指令32位、數(shù)據(jù)32位、寫緩沖使能);開(kāi)漏寫緩沖,并且使指令和數(shù)據(jù)Cache都兀效;通過(guò)設(shè)置CPSR的IRQ禁止位、FIR禁止位和先進(jìn)中斷控制器AIC中的中斷禁止寄存器來(lái)屏蔽中斷,跳轉(zhuǎn)到bootInit.c中的rom-Start(),同時(shí)傳遞啟動(dòng)類型。其中,中斷屏蔽代碼如下:


          在調(diào)試這段代碼時(shí),由于串口和網(wǎng)口都沒(méi)有啟動(dòng),因此只能通過(guò)點(diǎn)燈程序來(lái)跟蹤程序的執(zhí)行情況,設(shè)置不同的LED亮來(lái)顯示程序執(zhí)行到哪一步。例如,如果要并行輸入/輸出口C的32位中的第15位亮,則可以編程為;


          在編寫本文件時(shí),需要注意的地方是:不要在該文件里進(jìn)行過(guò)多的初始化操作,大部分硬件初始化操作在sysLib.c文件中的sysHwInit()函數(shù)中進(jìn)行。


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();