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加入嵌入式視覺聯盟
主站蜘蛛池模板: 在线播放国产99re| 又黄又湿又爽的视频| 美女内射视频WWW网站午夜| 免费久久一级欧美特大黄| 99热最新在线| 国产成a人片在线播放| 午夜福利视频一区| 99精品国产自在现线观看| 丁香婷婷激情网| 国产三级a| 91po国产在线精品免费观看| 亚洲一区二区三区麻豆| 一级一毛片a级毛片| 高清无码一本到东京热| 中文字幕在线观| 99er这里只有精品| 国产美女免费| 亚洲婷婷在线视频| 国产精品短篇二区| 91人人妻人人做人人爽男同| 911亚洲精品| 久久久无码人妻精品无码| 色噜噜久久| 国产成人一区在线播放| 8090午夜无码专区| 久久香蕉国产线看观| 在线观看国产精美视频| 婷婷综合亚洲| 老司国产精品视频| 91口爆吞精国产对白第三集| 日日拍夜夜操| 亚州AV秘 一区二区三区| 伊人网址在线| 日韩在线播放欧美字幕| 色爽网免费视频| 一级片一区| 国产免费精彩视频| 韩国v欧美v亚洲v日本v| 欧美激情视频在线观看一区| 女人18毛片久久| 一本二本三本不卡无码| 欧美成人第一页| 国产成人综合久久| 国产女人18毛片水真多1| 老司机午夜精品视频你懂的| 人妻熟妇日韩AV在线播放| 亚洲精品777| 亚洲免费黄色网| 国产亚卅精品无码| 无码网站免费观看| 欧美三级不卡在线观看视频| 成人韩免费网站| 色噜噜久久| 国产精品久久久免费视频| 国产精品亚洲专区一区| 乱码国产乱码精品精在线播放| 孕妇高潮太爽了在线观看免费| 国产高清在线观看91精品| 亚洲最新在线| 国产丰满大乳无码免费播放| 国产微拍一区| 婷婷丁香色| 日韩美一区二区| 伊人激情综合网| 伊人色综合久久天天| 亚洲精品在线观看91| 最新国产精品鲁鲁免费视频| 99视频精品全国免费品| 波多野结衣国产精品| 怡红院美国分院一区二区| 成人午夜久久| 国产成人综合久久精品下载| 亚洲国产成人在线| 欧美a在线视频| 国产毛片高清一级国语| 全午夜免费一级毛片| 999国产精品永久免费视频精品久久 | 国产丝袜无码一区二区视频| 国产AV无码专区亚洲精品网站| 在线精品视频成人网| 一区二区偷拍美女撒尿视频| 国产综合另类小说色区色噜噜 |