www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]作者Email: jinyuhe@163.com 摘要: 本文主要介紹VxWorks系統(tǒng)在MPC860系列處理器的開(kāi)發(fā)中怎么實(shí)現(xiàn)去掉BOOT Flash,直接從Flash引導(dǎo)VxWorks的BootRom。 關(guān)鍵詞:BOOT Flash

作者Email: jinyuhe@163.com 摘要: 本文主要介紹VxWorks系統(tǒng)在MPC860系列處理器的開(kāi)發(fā)中怎么實(shí)現(xiàn)去掉BOOT Flash,直接從Flash引導(dǎo)VxWorks的BootRom。 關(guān)鍵詞:BOOT Flash,F(xiàn)lash,BootRom 引言 美國(guó)WindRiver公司的實(shí)時(shí)嵌入式系統(tǒng)VxWorks和美國(guó)Motorola公司MPC860系列處理器已經(jīng)廣泛的應(yīng)用在通信行業(yè)的通信產(chǎn)品中,在用VxWorks系統(tǒng)進(jìn)行開(kāi)發(fā)時(shí),會(huì)生成兩個(gè)文件,一個(gè)是BootRom文件,此文件類似Windows中的BIOS,是引導(dǎo)文件,完成內(nèi)存初始化,內(nèi)核初始化,基本硬件的初始化并最終引導(dǎo)VxWorks系統(tǒng)啟動(dòng),另外一個(gè)是VxWorks文件,此文件中包括VxWorks系統(tǒng)內(nèi)核及上層應(yīng)用程序,而這兩個(gè)文件在MPC860的開(kāi)發(fā)中一般都存儲(chǔ)在兩片不同的Flash上,及BootRom存儲(chǔ)在BOOT Flash,而VxWorks存儲(chǔ)在Flash上。 產(chǎn)品需要 實(shí)際開(kāi)發(fā)中,生成的沒(méi)有壓縮的BootRom大小一般為512K左右,在VxWorks 5.4中是460K左右,而在VxWorks 5.5中是540K左右,一般存儲(chǔ)BootRom的Flash只需要512K大小,因?yàn)榧词?40K的 BootRom也可以截成512K。 在硬件開(kāi)發(fā)Flash選型時(shí),BOOT Flash芯片一般采用SST公司的28VF040、29VF040等,F(xiàn)lash芯片一般會(huì)采用Intel、AMD公司的,根據(jù)需要可能會(huì)采用容量為 4M、8M、16M、32M大小不等。從節(jié)省成本的角度考慮,是不是可以將BootRom直接裝載到Flash中并引導(dǎo)呢,這樣不是可以省掉一片BOOT Flash嗎? VxWorks系統(tǒng)中,加上上層應(yīng)用程序的生成的VxWorks文件一般為3M左右,所以不管你采用4M、8M或者更大容量的Flash,同時(shí)裝載 BootRom、VxWorks文件也是綽綽有余的。 實(shí)際情況 我和一個(gè)做硬件的朋友曾經(jīng)做過(guò)這樣的測(cè)試,直接從Flash引導(dǎo)BootRom,并引導(dǎo)VxWorks系統(tǒng),實(shí)際上是可行的。要解決此問(wèn)題,實(shí)際上只要將Flash的地址稍做處理就可以的。 我們將Flash地址映射成兩個(gè)地址段,一段用做BootRom,一段用做VxWorks使用,用做BootRom的地址段為 0xFFF00000"0xFFF80000,另外一段用做VxWorks的地址段為0x04080000"0x04800000(假設(shè)此Flash大小為8M大小),在0xFFF00000"0xFFF80000地址段寫(xiě)入BootRom,在0x04080000"0x04800000地址段寫(xiě)入 VxWorks,加電后,PC指針會(huì)跳到0xFFF00100地址執(zhí)行第一條指令,引導(dǎo)BootRom起來(lái)并最終VxWorks系統(tǒng)引導(dǎo)成功。 實(shí)現(xiàn)過(guò)程 1、 片選在romInit.s文件中要做如下的片選操作,片選0為BOOT Flash的地址片選,片選1為Flash的地址片選,其中ROM_BASE_ADRS為0xFFF00000 /* ------------------------------------------------------------------------ */ /* Initialize Chip Select 0 for Bootrom */ /* ------------------------------------------------------------------------ */ lis r5, HIADJ( ROM_BASE_ADRS | BR_PS_8 | BR_WP | BR_V) addi r5, r5, LO( ROM_BASE_ADRS | BR_PS_8 | BR_WP | BR_V) stw r5, BR0(0)(r4) lis r5, HIADJ( 0xFFF80000 | 0x00000100 | 0x00000080) addi r5, r5, LO( 0xFFF80000 | 0x00000100 | 0x00000080) stw r5, OR0(0)(r4) /* ------------------------------------------------------------------------ */ /* Initialize Chip Select 1 for FLASH */ /* ------------------------------------------------------------------------ */ lis r5, HIADJ( 0x04000000 | BR_PS_16 | 0x00000001) addi r5, r5, LO( 0x04000000 | BR_PS_16 | 0x00000001) stw r5, BR1(0)(r4) lis r5, HIADJ(0xff800000 | 0x00000100 | 0x00000080) addi r5, r5, LO(0xff800000 | 0x00000100 | 0x00000080) stw r5, OR1(0)(r4) 2、 地址映射在sysLib.c文件中有一sysPhysMemDesc的地址映射數(shù)組的聲明,對(duì)BOOT Flash和Flash的地址按照如下的地址映射后,VxWorks系統(tǒng)才會(huì)讓你對(duì)此地址進(jìn)行相應(yīng)的讀寫(xiě)操作。 { (void *) 0x04000000, (void *) 0x04000000, 0x00800000, /* 8 m - Flash window 1 */ VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE, VM_STATE_VALID | VM_STATE_WRITABLE }, { (void *) ROM_BASE_ADRS, (void *) ROM_BASE_ADRS, ROM_SIZE, /* Flash memory */ VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE , VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT } 3、 文件燒錄還存在一個(gè)問(wèn)題,因?yàn)锽OOT Flash是可以在燒錄器上燒錄的,而Flash芯片是直接焊接在MPC860的主板上,只能通過(guò)相應(yīng)的Flash驅(qū)動(dòng)才能進(jìn)行讀寫(xiě)的,是不可能通過(guò)燒錄器燒錄,要解決此問(wèn)題那只能按照如下辦法解決。在主板上要保留有BootRom Flash座,要有一片從BOOT Flash引導(dǎo)的BOOT Flash芯片,此芯片中要有已經(jīng)燒錄好的可以正常運(yùn)行的BootRom程序,先將此芯片加到BootRom Flash座上,加電將系統(tǒng)引導(dǎo)起來(lái),然后用事先寫(xiě)好的將BootRom及VxWorks寫(xiě)入Flash的函數(shù)將BootRom及VxWorks文件寫(xiě)入 Flash相應(yīng)的地址段,注意寫(xiě)入地址要正確,即BootRom的第一條指令必須寫(xiě)在0xFFF00100地址,關(guān)電后將BOOT Flash從座中取出來(lái),加電后系統(tǒng)就從Flash中引導(dǎo)起來(lái)了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉