国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PDC系統(tǒng)的Bootloader設(shè)計(jì)與實(shí)現(xiàn)

2015-05-30 01:51:00黎愛瓊
中國(guó)新通信 2015年6期
關(guān)鍵詞:嵌入式系統(tǒng)

黎愛瓊

【摘要】 數(shù)據(jù)保護(hù)容器(Protective Data Capsule)簡(jiǎn)稱PDC,是船載航行數(shù)據(jù)記錄儀最終記錄存放的介質(zhì),本設(shè)計(jì)主要介紹的是PDC系統(tǒng)引導(dǎo)程序的啟動(dòng)過程,以及實(shí)現(xiàn)引導(dǎo)程序移植的環(huán)境配置及燒寫過程,以便實(shí)現(xiàn)PDC系統(tǒng)的正常啟動(dòng)。

【關(guān)鍵詞】 數(shù)據(jù)保護(hù)容器 PDC 嵌入式系統(tǒng) Bootloader

一、嵌入式系統(tǒng)中Bootloder的基本工作原理

Bootloader是嵌入式軟件開發(fā)的第一個(gè)環(huán)節(jié),它把嵌入式系統(tǒng)的軟件和硬件緊密銜接在一起。是系統(tǒng)加電啟動(dòng)運(yùn)行的第一段軟件代碼,類似于PC機(jī)的BIOS系統(tǒng)。

二、Bootloader啟動(dòng)過程分析

在嵌入式系統(tǒng)中,Bootloader是嚴(yán)重地依賴于硬件而實(shí)現(xiàn)的。而在嵌入式系統(tǒng)中很難建立一個(gè)通用的Bootloader。但是,Bootloader的實(shí)現(xiàn)還是可以總結(jié)出一般規(guī)律。通過分析比較,引導(dǎo)程序則選用了韓國(guó)Mizi公司開發(fā)的Bootloader,即vivi。

vivi是利用串口通信為用戶提供接口的,只需要將PC宿主機(jī)通過一根串口電纜線與目標(biāo)板相連即可。

vivi的運(yùn)行分為 stage1 和 stage2兩個(gè)階段。

第一階段:

1.關(guān)閉WATCH DOG:上電后,WATCH DOG默認(rèn)是開著的。

2.禁止所有中斷:vivi中沒用到中斷。

3.初始化系統(tǒng)時(shí)鐘:?jiǎn)?dòng)MPLL,F(xiàn)CLK=200MHz,HCLK=100MHz,PCLK=50MHz,“CPU bus mode”改為“Asynchronous bus mode”。

4.初始化內(nèi)存控制寄存器。

5.檢查是否從掉電模式喚醒,若是,則調(diào)用WakeupStart函數(shù)進(jìn)行處理——這是一段沒用上的代碼,vivi不可能進(jìn)入掉電模式。

6.點(diǎn)亮所有LED 。

7.初始化UART0。

8.將vivi所有代碼從NAND Flash復(fù)制到SDRAM中。

第2階段:

1.執(zhí)行reset_handler(),用于將內(nèi)存清零。

2.執(zhí)行board_init(),調(diào)用init_time()和set_gpios()來初始化定時(shí)器和設(shè)置GPIO引腳功能。

3.執(zhí)行mem_map_init()和mmu_init(),建立頁表,并啟動(dòng)MMU。

4.執(zhí)行heap_init(),該函數(shù)在SDRAM中指定了一塊1M大小的內(nèi)存作為堆heap。

5.執(zhí)行mtd_dev_init(),初始化MTD設(shè)備,執(zhí)行本函數(shù)后,得到一個(gè)mtd_info結(jié)構(gòu)的全局變量,以后直接通過mymtd提供的接口對(duì)NAND Flash進(jìn)行操作。

6.執(zhí)行init_priv_data(),此函數(shù)將啟動(dòng)內(nèi)核的命令參數(shù)取出,并存放在特定的位置中。

7.執(zhí)行misc()和init_builtin_cmds(),這兩個(gè)函數(shù)都是通過調(diào)用add_command函數(shù),給一些命令增加相應(yīng)的處理函數(shù)。

8.執(zhí)行boot_or_vivi(),該函數(shù)根據(jù)實(shí)際情況判斷,是啟動(dòng)vivi_shell進(jìn)入與用戶交互的界面中,還是直接啟動(dòng)Linux內(nèi)核。

三、vivi移植

vivi直接提供了對(duì)S3C2410X處理器的板級(jí)支持。其相關(guān)配置文件存放入s3c2410目錄中。在宿主機(jī)的終端中,進(jìn)入vivi的根目錄下,輸入如下命令進(jìn)入vivi的配置界面:

當(dāng)配置完vivi后,保存配置并退出配置菜單界面,回到終端中輸入命令編譯vivi:

[root@kision vivi]#make

如果編譯成功,將在當(dāng)前目錄下生成vivi二進(jìn)制鏡像文件,編譯生成vivi二進(jìn)制鏡像文件后,有兩種途徑將vivi燒寫到目標(biāo)板中:JTAG下載方式和串口下載方式。首先要配置好串口。

在PC宿主機(jī)的Linux操作系統(tǒng)開發(fā)環(huán)境下,在終端中輸入命令minicom:

[root@kision root]#minicom -s

此時(shí)界面會(huì)進(jìn)入串口終端配置界面中,選擇正確的PC串口通道號(hào),并配置串口參數(shù)為115200,8N1,且無軟、硬流控制。最后,應(yīng)該將該項(xiàng)設(shè)置保存為缺省值,以免每次打開minicom都需要重新配置。然后輸入minicom,按住鍵盤的空格鍵的同時(shí)啟動(dòng)目標(biāo)板,這時(shí)會(huì)進(jìn)入vivi的加載啟動(dòng)模式,輸入如下命令下載vivi:vivi>load flash vivi x 選擇xmodem協(xié)議傳輸vivi鏡像文件。輸入命令:vivi>load flash vivi x即完成了移植任務(wù)。

四、結(jié)論

經(jīng)過測(cè)試,在各指定的工作環(huán)境下,PDC系統(tǒng)基本都能正常工作。

參 考 文 獻(xiàn)

[1] 李少春.基于嵌入式Linux的視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn). 西南交通大學(xué)碩士論文 .2007/05

[2] 陳艷.引導(dǎo)加載程序vivi的分析和移植研究.電子設(shè)計(jì)應(yīng)用.2006.11.15

猜你喜歡
嵌入式系統(tǒng)
Teaching Research on IoT and—Embedded System of Software Engineering
基于Xilinx口袋實(shí)驗(yàn)室的組合邏輯電路設(shè)計(jì)實(shí)驗(yàn)
面向應(yīng)用的智能專業(yè)嵌入式系統(tǒng)教學(xué)
基于物聯(lián)網(wǎng)的遠(yuǎn)程紅外控制器
嵌入式系統(tǒng)軟件開發(fā)技術(shù)探析
基于AVR單片機(jī)的SPI接口設(shè)計(jì)與實(shí)現(xiàn)
辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)
嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
格尔木市| 资溪县| 阿拉善右旗| 陇南市| 越西县| 宁波市| 温宿县| 通化市| 托里县| 偃师市| 北京市| 北海市| 涞水县| 福安市| 鹿邑县| 安丘市| 舞钢市| 北海市| 封开县| 桂平市| 凤台县| 大化| 怀远县| 彰化市| 邯郸市| 东莞市| 化德县| 永宁县| 桦川县| 万盛区| 长治县| 南安市| 泸西县| 禄劝| 昆山市| 平武县| 文安县| 汾西县| 隆林| 昌宁县| 云南省|