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

基于Power PC系列處理器的BootLoader設(shè)計與應(yīng)用

2020-03-30 07:05:44李興國
鐵路通信信號工程技術(shù) 2020年1期
關(guān)鍵詞:程序系統(tǒng)

李興國,周 榮,李 旭

(北京全路通信信號研究設(shè)計院集團(tuán)有限公司,北京 100070)

1 概述

BootLoader 技術(shù)是應(yīng)用在Flash 程序存儲器的一種編程模式。它可以在應(yīng)用程序正常運行的情況下,通過調(diào)用特定IAP 程序?qū)α硗庖欢蜦lash 空間進(jìn)行讀與寫操作,這樣就可以按照傳入數(shù)據(jù)重新配置Flash 空間,從而實現(xiàn)對MCU 程序的更新。相較使用JTAG 工具的傳統(tǒng)燒錄方法,這種技術(shù)為鐵路現(xiàn)場固件升級帶來了更大的靈活性。

在實際應(yīng)用中,需要在編譯器上開發(fā)2 個固件程序:BootLoader 程序和用戶程序。首先必須使用燒錄工具下載BootLoader 代碼,用戶代碼可以使用BootLoader 代碼IAP 功能下載,也可以使用燒錄工具下載,一般在現(xiàn)場應(yīng)用中都使用BootLoader更新用戶程序。這兩部分項目代碼需要同時燒錄在 Flash 中,BootLoader 程序用于更新用戶程序,用戶程序用于實現(xiàn)具體應(yīng)用。單片機(jī)上電進(jìn)入BootLoader 程序區(qū),如果收到更新程序指令,則對APP 區(qū)的程序進(jìn)行改寫操作。如果未收到更新程序指令,程序指針跳到APP 區(qū),開始執(zhí)行放在APP 區(qū)的程序,這樣便實現(xiàn)了升級程序的功能。傳統(tǒng)使用BootLoader 更新固件程序,大致流程如下。

1)當(dāng)給芯片上電后,首先執(zhí)行BootLoader 程序。

2)檢查是否需要更新用戶代碼。

3)如果不需要更新,執(zhí)行原用戶程序。

4)如果需要更新,擦除用戶程序區(qū),寫入新用戶程序,并執(zhí)行新用戶程序。

BootLoader 是以從串口上接收更新標(biāo)志后進(jìn)入燒寫程序狀態(tài)的。進(jìn)入燒寫程序狀態(tài)后,BootLoader 程序做的第一件事情就是擦除原用戶程序的空間。如果在程序升級過程中,發(fā)生掉電或者通信連接斷開的情況,單片機(jī)就會處于新程序未更新完畢,原程序已丟失的情景,導(dǎo)致程序更新失敗。

為解決這個問題, 本文提出一種解決方法,在Flash 空間劃出一個區(qū)域用于備份用戶程序,MCU進(jìn)入BootLoader 引導(dǎo)程序后,在收到更新程序指令時,先將程序?qū)懭雮浞輩^(qū),寫入完成后置位待更新標(biāo)志Upsig,通知MCU 需要更新程序,然后再將備份區(qū)程序?qū)懭胗脩舫绦騾^(qū),寫入完成后清零待更新標(biāo)志Upsig。因此在每次進(jìn)入BootLoader 程序,通過讀取Upsig 值用來判斷是否需要更新程序,相較于傳統(tǒng)BootLoader 下載程序的方法,本文提出的方法可以降低風(fēng)險,保障下載程序的完整性。

2 下載系統(tǒng)硬件構(gòu)成

基于在C3+ATO 項目的應(yīng)用中,所述下載系統(tǒng)包括:遠(yuǎn)程控制模塊、通信模塊、程序下載控制模塊、存儲模塊,功能結(jié)構(gòu)框如圖1 所示。遠(yuǎn)程控制模塊用于提供交互式操作入口,通過交互式操作入口控制所述程序下載,控制模塊執(zhí)行下載流程,遠(yuǎn)程控制終端為SecureCRT 終端軟件。通信模塊將系統(tǒng)與所述遠(yuǎn)程控制模塊相連接,本應(yīng)用使用串口通信。程序下載控制模塊包括:下載單元和執(zhí)行單元,下載單元用于下載應(yīng)用程序到所述存儲模塊,執(zhí)行單元用于執(zhí)行或更新應(yīng)用程序。嵌入式系統(tǒng)的處理器是Power PC 系列處理器。

圖1 下載系統(tǒng)功能結(jié)構(gòu)框圖Fig.1 Block diagram of functions of download system

2.1 CPU模塊結(jié)構(gòu)設(shè)計

在本應(yīng)用中使用的硬件環(huán)境如下:MCU 選用Freescale 公司的處理器MPC8323E,閃存采用16 M Flash,內(nèi)存采用2 GB DDR2,設(shè)置串口波特率230 400。硬件結(jié)構(gòu)框如圖2 所示。

圖2 CPU模塊硬件結(jié)構(gòu)框圖Fig.2 Block diagram of hardware of CPU module

在本應(yīng)用中,MCU采用Freescale公司的MPC8323E 微處理器, 具有強(qiáng)大的功能。MPC8323E 是Freescale 公司PowerQUICC ? II Pro 系列的微處理器,此系列微處理器在Power Architecture 架構(gòu)的e300c2 內(nèi)核基礎(chǔ)上,配置單RISC 版本的QUICC Engine ?通信引擎形成MPC8323E 網(wǎng)絡(luò)功能的核心,最高可達(dá)300 MIPS處理能力。

2.2 Flash存儲區(qū)分割

根據(jù)前面的介紹,需要將Flash 存儲分為4 部分:第1 部分為BootLoader 程序區(qū),第2 部分為BootLoader 參數(shù)區(qū),第3 部分為應(yīng)用程序區(qū),第4 部分分配為應(yīng)用程序備份區(qū)。如圖3 所示,將Flash 分區(qū)劃分為如下4 個部分:BootLoader 程序區(qū)用于存儲引導(dǎo)程序,BootLoader 參數(shù)區(qū)用于存儲程序更新參數(shù), 應(yīng)用程序備份區(qū)用于備份應(yīng)用程序,應(yīng)用程序區(qū)用于存儲應(yīng)用程序。Flash 空間分布如圖3 所示。

圖3 Flash空間分布圖Fig.3 Distribution of FLASH storage area

首次使用系統(tǒng)時,通過專用JTAG 下載器將BootLoader 程序下載到Flash 存儲的0x00000000~0x000BFFFF 區(qū) 域,BootLoader。BootLoader 程序燒制完成后,系統(tǒng)上電啟動,MCU 從地址0x00000000 開始運行BootLoader程序,通過USB 向遠(yuǎn)程終端secureCRT 發(fā)送交互信息。程序更新完畢后,CPU 直接跳轉(zhuǎn)至應(yīng)用程序區(qū)0x00100000 地址,運行應(yīng)用程序。

2.3 YModem協(xié)議簡介

本應(yīng)用通過串口通信使用YModem 協(xié)議進(jìn)行文件傳輸, 通過secureCRT 遠(yuǎn)程控制終端選擇YModem 傳輸文件模式。YModem 協(xié)議是由XModem 協(xié)議演變而來的,具有快速,穩(wěn)定傳輸?shù)膬?yōu)點。每包數(shù)據(jù)可以傳輸1 024 Byte,同時支持多文件傳輸,也就是批文件傳輸,是一個非常高效的文件傳輸協(xié)議。發(fā)送數(shù)據(jù)時使用CRC 校驗,保證數(shù)據(jù)傳輸?shù)恼_性。它每傳輸一個信息塊數(shù)據(jù)時,就會等待接收端回應(yīng)ACK 信號,接收到回應(yīng)后,才會繼續(xù)傳輸下一個信息塊,保證數(shù)據(jù)已經(jīng)全部正確接收。

3 BootLoader程序設(shè)計

BootLoader 是嵌入式系統(tǒng)在上電后執(zhí)行的第一段代碼,用于完成CPU 和相關(guān)硬件的初始化之后,更新應(yīng)用程序,再將應(yīng)用程序裝到內(nèi)存中運行。本實例中,BootLoader 用于與遠(yuǎn)程控制終端的交互,執(zhí)行應(yīng)用程序下載、應(yīng)用程序備份、應(yīng)用程序更新和應(yīng)用程序啟動執(zhí)行。

預(yù)先使用專用下載器將BootLoader 程序燒錄進(jìn)Flash 指定空間,給系統(tǒng)上電后,MCU 首先進(jìn)入BootLoader 程序,系統(tǒng)啟動后進(jìn)入預(yù)定時間的倒計時;若所述預(yù)定時間的倒計時結(jié)束且系統(tǒng)沒有接收到預(yù)定輸入,獲取參數(shù)區(qū)升級標(biāo)志。若為“1”,則系統(tǒng)進(jìn)入下載模式第二步。若為“0”,則系統(tǒng)進(jìn)入執(zhí)行應(yīng)用程序流程;若所在述預(yù)定時間的倒計時結(jié)束前,系統(tǒng)接收到預(yù)定的第一鍵入信息,則系統(tǒng)進(jìn)入配置模式;在配置模式下,若系統(tǒng)接收到預(yù)定的第二鍵入信息,則系統(tǒng)進(jìn)入執(zhí)行原應(yīng)用程序流程;在配置模式下,若系統(tǒng)接收到預(yù)定的第三鍵入信息,則系統(tǒng)進(jìn)入應(yīng)用程序下載模式;在下載模式下,第一步先擦除備份區(qū)數(shù)據(jù),再將接收數(shù)據(jù)寫入備份區(qū),置位參數(shù)區(qū)升級標(biāo)志Upsig;第二步先擦除應(yīng)用區(qū)數(shù)據(jù),再將備份區(qū)數(shù)據(jù)寫入應(yīng)用區(qū),清零參數(shù)區(qū)升級標(biāo)志Upsig,升級過程完成,系統(tǒng)進(jìn)入執(zhí)行應(yīng)用流程。升級過程程序流程如圖4 所示。

4 結(jié)論

本文介紹的升級程序方法不需要專用下載器、專用開發(fā)環(huán)境,不需要對下載軟件進(jìn)行下載地址設(shè)置、Flash 擦除,不需要拔出插入板卡等,給程序下載帶來很大便利性,解決了Power PC 系列處理器在線升級不方便的問題,提高了列車自動運行系統(tǒng)的開發(fā)及測試效率。同時,本方法設(shè)置有安全下載控制,避免了下載遇到突發(fā)情況時,系統(tǒng)執(zhí)行錯誤的目標(biāo)應(yīng)用程序,提高系統(tǒng)運行安全性。且下載完成后可以直接執(zhí)行,提高了效率。

圖4 程序流程圖Fig.4 Program flowchart

猜你喜歡
程序系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
試論我國未決羈押程序的立法完善
半沸制皂系統(tǒng)(下)
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
主站蜘蛛池模板: 婷婷五月在线| 国产一区二区人大臿蕉香蕉| 99这里只有精品6| 日韩一级毛一欧美一国产| 欧美日韩免费在线视频| 国产精品自在在线午夜| 丝袜久久剧情精品国产| av午夜福利一片免费看| 亚洲人成色77777在线观看| 久久精品这里只有精99品| 亚洲乱码视频| www.youjizz.com久久| 欧美日一级片| 天堂av综合网| 野花国产精品入口| 午夜国产小视频| 国产成人久视频免费| 国模视频一区二区| 精品无码一区二区三区电影| 亚洲第一色视频| 欧美精品色视频| 五月综合色婷婷| 国产美女91呻吟求| 亚洲视频无码| 韩日无码在线不卡| 亚洲第一色网站| 亚洲AV无码乱码在线观看裸奔| 亚洲国产清纯| 欧美劲爆第一页| 毛片久久网站小视频| 国产精品yjizz视频网一二区| 91视频精品| 狠狠色丁香婷婷| 成年A级毛片| 亚洲无码视频一区二区三区| 九色最新网址| 99er这里只有精品| 精品国产网| 69视频国产| 中文字幕在线日韩91| 亚洲午夜福利精品无码不卡 | 凹凸国产分类在线观看| 日韩黄色在线| 日韩国产一区二区三区无码| 欧美在线伊人| 成人韩免费网站| 国产91在线|日本| 久久鸭综合久久国产| 久久天天躁狠狠躁夜夜2020一| 91无码国产视频| 国产精品黄色片| 又粗又硬又大又爽免费视频播放| 亚洲毛片网站| 亚洲国产成人在线| 久久 午夜福利 张柏芝| 国产人妖视频一区在线观看| 制服丝袜一区| 国产日韩欧美在线视频免费观看 | 久久综合伊人77777| 亚洲欧美综合精品久久成人网| 亚洲高清在线播放| 国产日韩精品一区在线不卡| 久久青草热| 99热国产这里只有精品无卡顿"| 国产成人精品在线1区| 国产精品jizz在线观看软件| 999国产精品| 69av免费视频| 中国国产高清免费AV片| 无码福利视频| 国产乱子精品一区二区在线观看| 国产视频自拍一区| 国产成人精品一区二区不卡| 四虎成人免费毛片| 久久久亚洲色| 午夜高清国产拍精品| 98超碰在线观看| 日韩不卡免费视频| 久久五月天综合| 国产精品视频观看裸模| 亚洲性视频网站| 亚洲高清无在码在线无弹窗|