999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式處理器基于SPI引導的RAM自檢探討

2015-10-19 10:02:53高傳發孫振華任華鋒許繼電氣有限公司技術中心河南許昌461000
網絡安全與數據管理 2015年22期
關鍵詞:嵌入式程序

高傳發,孫振華,任華鋒(許繼電氣有限公司 技術中心,河南 許昌 461000)

嵌入式處理器基于SPI引導的RAM自檢探討

高傳發,孫振華,任華鋒
(許繼電氣有限公司 技術中心,河南 許昌 461000)

介紹了嵌入式處理器在使用基于SPI引導方式時,如何檢查DDR內存,以提高系統的可靠性。對系統的引導過程,包括片內ROM運行、片內RAM運行、DDR內存運行,進行了詳細的介紹。對各階段引導程序數據格式的處理進行細致的分析,并對生產實用化進行了實例驗證。

SPI引導;內存自檢;系統可靠性;引導過程

0 引言

隨著全球網絡進一步擴展到新終端設備和以前未連接的行業中,網絡安全對消費者、企業和其他機構變得越來越重要。人們越來越需要性能安全、價格便宜的裝置設備。為了降低成本,往往需要簡化電路設計。例如,采用SPI方式引導硬件,使用 SPI Flash作為存儲媒介,減少總線的布線,是簡化硬件電路的較好的方法[1]。但采用SPI方式引導硬件,需要將程序引導到DDR內存中,同時又需要對DDR內存進行檢查,這就出現了矛盾[2]。

1 基于SPI的硬件引導

本文以一個實例,對嵌入式處理器基于SPI引導硬件時如何進行RAM檢查進行詳細的介紹。圖1是嵌入式處理器使用SPI引導的硬件框圖。在圖1中,硬件引導程序和系統程序放在 SPI Flash中,在上電引導后,系統程序會被搬移到DDR空間,在DDR空間運行起來。

圖1 使用SPI引導的硬件框圖

現在以U-Boot硬件引導程序為例,介紹以SPI引導模式引導系統硬件的情況。U-Boot是德國DENX小組的開發用于多種嵌入式CPU的 Bootloader程序,可以支持多種嵌入操作系統和多種處理器[3]。

編譯的U-Boot程序,往往是運行在NOR Flash或DDR中的。但在基于SPI引導時,需要先從SPI Flash往片內RAM里運行一段程序,將DDR內存檢查一遍,然后再將U-Boot引導到DDR內存中去運行,如圖2所示。

2 SPI引導采用的數據格式

在TI公司的DSP及ARM處理器,飛思卡爾公司POWERPC及 ARM處理器,都支持基于 SPI的引導模式。在這些處理器的片內ROM都包含基本的SPI引導驅動程序。本文以飛思卡爾公司的QorIQ P1010處理器為例介紹其引導過程。P1010片內的SPI驅動程序能夠把SPI接口Flash中的程序拷貝到DDR內存或片內RAM中。不過,在拷貝之前,需要先對DDR控制器或片內RAM進行配置。這就需要定義一個特定的數據結構,完成引導程序所需要的環境配置。對于不同的處理器,生產廠家定義的引導數據結構是不同的。

圖2 SPI引導硬件程序框圖

在P1010處理器完成復位序列后,通過選擇使用處理器片內ROM的SPI引導配置程序,而后處理器內核開始運行該片內ROM程序,配置SPI控制器,并與外部的SPI Flash通信,將程序拷貝出來并跳到指定的位置運行[4]。SPI引導采用的數據格式如表 1所示。

表1 SPI引導模式的數據結構

在表 1中,配置字(Control Words)由配置 32 bit地址/數據對組成,主要用在配置就地訪問窗口(LAW)和目標內存控制器的寄存器。配置地址域有兩種模式,當最低位為0時,配置地址域高30 bit代表的是地址,此時配置數據寫入此地址。當最低位為1時,配置地址域高30 bit代表的是指令,此時配置數據寫入此地址。這樣的結構讓用戶可以方便地配置4 B對齊的內存,完成控制指令操作,或定義程序配置階段的結束[5]。配置地址域的數據格式如表2所示。

表2 配置地址域的數據格式

在表 2中,當 CNT(最低位)=0時,則高 30 bit用作要寫入數據的地址,配置數據包含要寫入的數據。

當CNT=1時,則高30 bit用作控制指令。

當EC=1時,代表配置階段結束指令。

當DLY=1時,代表延時一定時間指令。

當CF=1時,代表更改SPI頻率的指令。

CNT表示地址模式與指令模式的切換。

當處理器內核開始拷貝程序時,先判斷0X40位置的標志是否正確,如果正確,先根據配置的地址/數據對的個數N來配置一些外圍寄存器,然后從0X50處指示的Flash地址搬移用戶代碼數據到0X58指示的地址。搬移完成后,從0X60指示的地址開始運行。將片內運行的這一段程序叫TPL程序。

3 片內RAM運行的TPL程序

P1010包含 256 KB的 L2CACHE,也可以當片內RAM使用。要檢查DDR內存,要先在片內RAM里運行一小段TPL程序。這一段程序是對基于DDR引導程序U-Boot的一個裁剪,主要完成內核的配置,初始化串口終端,初始化 DDR內存控制器,然后檢查 DDR內存[6]。在這里不需要設置U-Boot的環境變量,不需要配置以太網等其他的外圍器件。編譯后的TPL目標文件為uboot-tpl.bin。

TPL程序的編譯按RAM引導的方式處理。程序的開始地址設為:0xc0030000~0xc0038800。現在需要對編譯后的uboot-tpl.bin進行格式處理,在其前面加上 SPI引導的可以識別的數據表頭,如表3所示。

表3是按照表1(SPI引導模式的數據結構)和表 2(配置地址域的數據格式)完成的一個SPI引導配置實例。在這個實例中,將L2CACHE設為片內RAM,開始地址設為0xc0000000。這一部分空間在處理器內核引導時已經通過TLB映射,可以直接使用。

對TPL進行數據格式化存放,要用到一個工具,即boot_format,它可以將基于HEX的文件和基于 BIN格式的文件合并到一起。這是一個飛思卡爾BSP里帶的數據格式化工具。采用以下命令:

合并后的文件為uboot_tpl_spi.bin。

表3 cfg_sram_p1010.dat數據格式

在 cfg_sram_p1010.dat文件里,TPL程序存放在 SPI Flash的0X400開始的地址。處理器先對片內RAM進行配置初始化,然后將TPL程序從0X400引導到0xc0030000開始的地址,并從0xc0030000開始運行。這時,處理器對DDR控制器進行配置,并對DDR空間進行自檢。

4 DDR的自檢及U-BOOT的運行

DDR RAM的自檢可以采用寫入特定數據(例如0x55,0xAA),然后回讀比較來檢查的方式;也可以通過檢查行列地址數據線來檢查。相關文檔很多,這里就不介紹了。

當檢查完DDR內存后,就可以引導并運行U-Boot程序了。U-Boot程序按RAM引導的方式編譯。程序起始地址設為0X11000000。編譯后的文件為uboot.bin。但在實際中需要將兩個單獨的BIN文件合并成一個文件,以方便生產和產品實用化。當uboot.bin與uboot_tpl_spi.bin合為的一個文件 uboot_spi.bin時,uboot_tpl_spi.bin放在前面,uboot.bin程序放在后面,如表4所示。

表4 產品實用化的文件數據格式

在表 4中,處理器在運行 TPL時,將 U-Boot從 SPI Flash的 0X10000地址引導到 DDR3的 0X11000000開始的地址(代碼數據總長度0x40000),而后跳運行入口地址(0X1103f000),運行 U-Boot程序。這時,整個硬件系統引導起來了。操作系統可以通過U-Boot運行起來。

5 結論

嵌入式處理器在使用SPI引導硬件時,先通過片內RAM運行一段程序,對DDR內存進行自檢,而后再將U-Boot程序及環境變量引導到 DDR空間[7],把硬件系統引導起來。通過實例化的應用,證明這在高性價比的嵌入式應用中是一個不錯的選擇,不僅能提高系統的可靠性,而且簡單易行。

[1]張偉棟,趙紅.基于 PowerPC8640處理器的通用處理模塊設計[J].微型機與應用,2015,34(6):32-34.

[2]李相國,楊樹元.基于PowerPC處理器SMP系統的UBoot移植[J].微計算機應用,2008,29(9):95-99.

[3]王齊.Linux PowerPC詳解:核心篇[M].北京:機械工業出版社,2007.

[4]李宗海,陳蜀宇,李海偉.嵌入式 Linux系統在 ARM平臺上的構建[J].計算機系統應用,2010,19(10):153-157.

[5]Freescale Semiconductor,Inc.Booting from On-Chip ROM(eSDHC or eSPI)[EB/OL].(2012-6-1)[2014-4-18].http://cache.freescale.com/files/32bit/doc/app_note/AN3659.pdf.

[6]鄧國榮,劉厚欽.基于 NOR Flash的 OMAPL138雙核系統自舉引導啟動實現[J].電子技術應用,2014,40(2):19-26.

[7]鄒洋,李琳皓,梁峰.Nucleus操作系統在 ARM11上的移植研究與實現[J].電子技術應用,2014,40(9):10-13.

RAM selfcheck about embedded processor based on SPI Boot

Gao Chuanfa,Sun Zhenhua,Ren Huafeng
(Tec.Center,XJEC,Xuchang 461000,China)

This paper introduces the embedded processor based on SPI Boot how to complete the RAM selfcheck,to improve the system reliability.All the system Boot process stages,including ROM-onchip running,RAM-onchip running and DDR memory running,are introduced im detail.The data format processing of all the Boot stages is analyzed in detail,and the practical utility of production is verified by instances.

SPI Boot;RAM selfcheck;system reliability;Boot process

TP307

A

1674-7720(2015)22-0083-03

高傳發,孫振華,任華鋒.嵌入式處理器基于SPI引導的RAM自檢探討[J].微型機與應用,2015,34(22):83-85.

2015-06-23)

高傳發(1972-),男,本科,高級工程師,主要研究方向:繼電保護及自動裝置產品研發。

孫振華(1983-),男,碩士,工程師,主要研究方向:變電站自動化研發。

任華鋒(1976-),男,本科,高級工程師,主要研究方向:變電站自動化研發。

猜你喜歡
嵌入式程序
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 全部毛片免费看| 高潮爽到爆的喷水女主播视频 | 欧美日韩亚洲综合在线观看| 青青草原国产| 国产精品夜夜嗨视频免费视频| av在线5g无码天天| 少妇被粗大的猛烈进出免费视频| 亚洲欧洲日韩综合色天使| 精品亚洲国产成人AV| 中文字幕自拍偷拍| 亚洲国产综合精品一区| 亚洲福利网址| 亚洲欧洲日韩综合色天使| 国产91精品久久| 青草午夜精品视频在线观看| 成人国产小视频| 国产精品无码翘臀在线看纯欲| 国产国拍精品视频免费看| 国产精品无码久久久久久| 国产99精品久久| 午夜国产精品视频| 久久96热在精品国产高清| 国产午夜精品鲁丝片| 欧美日韩另类在线| 国产免费a级片| 国产精品免费久久久久影院无码| 成人在线观看一区| 国产精品部在线观看| 久久一色本道亚洲| 国产aⅴ无码专区亚洲av综合网| 免费高清自慰一区二区三区| 免费jizz在线播放| 亚洲有码在线播放| 97视频免费在线观看| 国产精品19p| 久久无码免费束人妻| 欧美午夜网| 亚洲人在线| 国产在线观看精品| 最新国产麻豆aⅴ精品无| 粉嫩国产白浆在线观看| 欧美国产精品不卡在线观看| 久久一本精品久久久ー99| 国产成人高清精品免费软件| 日本伊人色综合网| 日韩在线影院| 国产成人喷潮在线观看| 啪啪免费视频一区二区| 国产成人在线无码免费视频| 广东一级毛片| 国产免费好大好硬视频| 亚洲首页在线观看| 亚洲大学生视频在线播放| 三区在线视频| 国产农村妇女精品一二区| 国产午夜精品一区二区三| 亚洲人成人伊人成综合网无码| 亚洲无码高清视频在线观看| 国产永久无码观看在线| 麻豆精品在线播放| 综合人妻久久一区二区精品| 亚洲成人精品| 亚洲中文久久精品无玛| 国产18在线播放| 人人爱天天做夜夜爽| 伊人国产无码高清视频| 波多野结衣视频网站| 午夜日韩久久影院| 国产大全韩国亚洲一区二区三区| 啪啪啪亚洲无码| 狠狠五月天中文字幕| 一本大道香蕉高清久久| 波多野结衣中文字幕久久| 无码国内精品人妻少妇蜜桃视频| 色综合手机在线| 国产中文一区a级毛片视频| 欧美精品亚洲精品日韩专区| 日韩A∨精品日韩精品无码| 九一九色国产| 毛片网站观看| 国产在线八区| 国产一级毛片在线|