999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁(yè)
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺(jué)
在Vortex86主板上如何使用CMOS RAM自由空間
深圳昭營(yíng)科技有限公司
收藏本文     查看收藏
<BR> 在VORTEX86上可供使用的CMOS RAM的預(yù)留空間為48字節(jié),用戶可用匯編或C語(yǔ)言編程來(lái)<BR> 使用這些空間。端口地址為70H~71H。<BR> 在VORTEX86中,因端口70H的第7位為NMI的屏蔽位,所以最大的定址范圍為7FH (128 bytes)。<BR> 另一個(gè)128bytes,我們可通過(guò)PCI BIOS的功能來(lái)使用位于RTC SRAM高端的128 bytes,以下演示<BR> 程式介紹如何打開(kāi)、關(guān)閉高端的128 bytes。<BR> 使能高端的128 bytes<BR> 在使用RTC SRAM高端的128 bytes時(shí),我們需要設(shè)置RTC控制暫存器第7位的LPC橋控制暫存<BR> 器。LPC橋控制暫存器的端口號(hào)是1039H,驅(qū)動(dòng)位址為0008H,RTC控制暫存器的端口為48H。<BR> ReadCMOS()/WriteCMOS()<BR> 我們提供兩個(gè)函數(shù)ReadCMOS()/WriteCMOS(),方便用戶讀寫(xiě)CMOS RAM。在VORTEX86<BR> 的CMOS RAM中還剩余48 bytes,地址從0~47,可供用戶編程自由讀寫(xiě)。<BR> C 語(yǔ)言源代碼<BR> #include <stdio.h><BR> #include <conio.h><BR> #define PCI_BIOS_INTERRUPT 0x1A<BR> #define PCI_BIOS_FUNCTION_ID 0xB1<BR> #define PCI_BIOS_PRESENT 0x01<BR> #define PCI_BIOS_FIND_DEVICE 0x02<BR> #define PCI_BIOS_READ_CONFIG_BYTE 0x08<BR> #define PCI_BIOS_READ_CONFIG_WORD 0x09<BR> #define PCI_BIOS_WRITE_CONFIG_BYTE 0x0B<BR> #define PCI_BIOS_WRITE_CONFIG_WORD 0x0C<BR> unsigned char _cBusNum;<BR> unsigned char _cDeviceNum;<BR> char IsPciBiosPresent();<BR> char PciBios_FindDevice(unsigned nVenderID, unsigned nDeviceID, int nIndex,<BR> unsigned char *pcBusNum, unsigned char *pcDeviceNum);<BR> unsigned int PciBios_ReadWord (char cBusNum, char cDeviceNum, int nOffset);<BR> unsigned char PciBios_ReadByte (char cBusNum, char cDeviceNum, int nOffset);<BR> char PciBios_WriteByte(char cBusNum, char cDeviceNum, int nOffset,<BR> unsigned char cvalue);<BR> /*<BR> 可供使用的VORTEX86 CMOS RAM的預(yù)留空間為48 bytes<BR> 用ReadCmos() 和 WriteCmos()函數(shù)來(lái)操作48 bytes,地址從(00h-2fh)<BR> 使用函數(shù)將幫助你讀寫(xiě)CMOS RAM,共48 bytes .<BR> */<BR> unsigned char ReadCMOS(unsigned char cIdx)<BR> {<BR> unsigned char c;<BR> if(cIdx>=0x2f)<BR> return 0;<BR> /* 設(shè)置RTC控制暫存器,使能RTC SRAM高端的128 bytes */<BR> PciBios_WriteByte(_cBusNum,_cDeviceNum,0x48,PciBios_ReadByte(_cBusNum,_cDeviceNum,0x4<BR> 8)|0x80);<BR> outp(0x70,0x50+cIdx);<BR> c = inp(0x71);<BR> /*清除RTC控制暫存器的第7位,關(guān)閉RTC SRAM 高端的128 bytes */<BR> PciBios_WriteByte(_cBusNum,_cDeviceNum,0x48,PciBios_ReadByte(_cBusNum,_cDeviceNum,0x4<BR> 8)&0x7f);<BR> return c;<BR> }<BR> void WriteCMOS(unsigned char cIdx,unsigned char cvalue)<BR> {<BR> if(cIdx>=0x2f)<BR> return;<BR> /*設(shè)置RTC控制暫存器的第7位,使能RTC SRAM 高端的128 bytes */<BR> PciBios_WriteByte(_cBusNum,_cDeviceNum,0x48,PciBios_ReadByte(_cBusNum,_cDeviceNum,0x4<BR> 8)|0x80);<BR> outp(0x70,0x50+cIdx);<BR> outp(0x71,cvalue);<BR> /* Clear bit 7 of RTC control register to disable upper 128 bytes RTC SRAM */<BR> PciBios_WriteByte(_cBusNum,_cDeviceNum,0x48,PciBios_ReadByte(_cBusNum,_cDeviceNum,0x4<BR> 8)&0x7f);<BR> }<BR> void main()<BR> {<BR> int i;<BR> unsigned char cBusNum, cDeviceNum;<BR> /* 檢測(cè) PCI BIOS */<BR> if(!IsPciBiosPresent())<BR> {<BR> printf("Unable to find PCI BIOS.\n");<BR> return;<BR> }<BR> /*找端口號(hào)和驅(qū)動(dòng)器地址 */<BR> PciBios_FindDevice(0x1039,0x0008,0,&cBusNum,&cDeviceNum);<BR> /* 測(cè)試函數(shù)*/<BR> WriteCMOS(13,0x55);<BR> printf("Read the value we wrote: %x\n",ReadCMOS(13));<BR> }<BR> char IsPciBiosPresent()<BR> {<BR> char cRet;<BR> asm {<BR> mov ah, PCI_BIOS_FUNCTION_ID<BR> mov al, PCI_BIOS_PRESENT<BR> int PCI_BIOS_INTERRUPT<BR> mov cRet, ah<BR> }<BR> return !cRet;<BR> }<BR> char PciBios_FindDevice(unsigned nVenderID, unsigned nDeviceID, int nIndex,<BR> unsigned char *pcBusNum, unsigned char *pcDeviceNum)<BR> {<BR> unsigned char cRet, cBus, cDevice;<BR> asm {<BR> mov ah, PCI_BIOS_FUNCTION_ID<BR> mov al, PCI_BIOS_FIND_DEVICE<BR> mov cx, nDeviceID<BR> mov dx, nVenderID<BR> mov si, nIndex<BR> int PCI_BIOS_INTERRUPT<BR> mov cRet, ah<BR> mov cBus, bh<BR> mov cDevice, bl<BR> }<BR> *pcBusNum = cBus;<BR> *pcDeviceNum = cDevice;<BR> return !cRet;<BR> }<BR> unsigned int PciBios_ReadWord(char cBusNum, char cDeviceNum, int nOffset)<BR> {<BR> unsigned char cRet;<BR> unsigned int nData;<BR> nOffset &= 0xFFFE;<BR> asm {<BR> mov ah, PCI_BIOS_FUNCTION_ID<BR> mov al, PCI_BIOS_READ_CONFIG_WORD<BR> mov bh, cBusNum<BR> mov bl, cDeviceNum<BR> mov di, nOffset<BR> int PCI_BIOS_INTERRUPT<BR> mov cRet, ah<BR> mov nData, cx<BR> }<BR> if(cRet)<BR> return -1;<BR> return nData;<BR> }<BR> unsigned char PciBios_ReadByte(char cBusNum, char cDeviceNum, int nOffset)<BR> {<BR> unsigned char data, cRet;<BR> asm{<BR> mov ah, PCI_BIOS_FUNCTION_ID<BR> mov al, PCI_BIOS_READ_CONFIG_BYTE<BR> mov bh, cBusNum<BR> mov bl, cDeviceNum<BR> mov di, nOffset<BR> int PCI_BIOS_INTERRUPT<BR> mov cRet, ah<BR> mov data, cl<BR> }<BR> if(cRet)<BR> return -1;<BR> return data;<BR> }<BR> char PciBios_WriteByte(char cBusNum, char cDeviceNum, int nOffset, unsigned char cvalue)<BR> {<BR> unsigned char cRet;<BR> asm {<BR> mov ah, PCI_BIOS_FUNCTION_ID<BR> mov al, PCI_BIOS_WRITE_CONFIG_BYTE<BR> mov bh, cBusNum<BR> mov bl, cDeviceNum<BR> mov di, nOffset<BR> mov cl, cvalue<BR> int PCI_BIOS_INTERRUPT<BR> mov cRet, ah<BR> }<BR> return !cRet;<BR> }<BR> 技術(shù)支持<BR> 如果你想獲得更多的技術(shù)支持,請(qǐng)登陸我們的網(wǎng)站:<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.dmp.com.cn>http://www.dmp.com.cn<;/a>。<BR> 或給我們發(fā)郵件:mailto:tech@dmp.com.cn。</P><P> 詳情點(diǎn)擊;<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://www.icop.com.cn/tech/dmp-hw/bios/Use_Free_Space_in_AMI_BIOS_on_M6117D.pdf>http://www.icop.com.cn/tech/dmp-hw/bios/Use_Free_Space_in_AMI_BIOS_on_M6117D.pdf<;/a>
 

狀 態(tài): 離線

公司簡(jiǎn)介
產(chǎn)品目錄

公司名稱: 深圳昭營(yíng)科技有限公司
聯(lián) 系 人: 李鳳娟
電  話: 0769-8233-5777
傳  真: 0769-8776-4777
地  址: 深圳市南山區(qū)科技園中區(qū)科發(fā)路2號(hào)9棟3樓
郵  編: 518057
主  頁(yè):
 
該廠商相關(guān)技術(shù)文摘:
讀取CMOS時(shí)間注意事項(xiàng)
在M6117D主板上如何使用CMOS RAM自由空間
在Vortex86主板上如何使用CMOS RAM自由空間
如何在M6117D平臺(tái)上使用AMI BIOS的空閑空間?
M6117D BIOS 自檢碼
Vortex86 POST 自檢碼
如何在M-System DOC上安裝XDOS操作系統(tǒng)?
如何在M6117D平臺(tái)上使用GPIO ?
如何在M6117D平臺(tái)上使用看門(mén)狗? ((DOS下C 源代碼))
如何偵測(cè)M6117D CPU ?
降低M6117D功耗
更多文摘...
立即發(fā)送詢問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved