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

英飛凌車用XC2000系列微控制器Bootloader設計

2016-05-18 08:19:03李睿張小明
汽車實用技術 2016年7期
關鍵詞:嵌入式程序設計

李睿,張小明

(西安法士特汽車傳動工程研究院,陜西 西安 710119)

英飛凌車用XC2000系列微控制器Bootloader設計

李睿*,張小明

(西安法士特汽車傳動工程研究院,陜西 西安 710119)

文章介紹了關于英飛凌XC2000系列芯片上Bootloader設計的一種方式。介紹了總體架構,硬件結構,并詳細闡述了系統軟件的設計和實現。該Bootloader以XC2000為基礎平臺,具有較好的移植性,理論上是用于英飛凌XC2000全系列產品。能夠實現程序切換,加密解密,CAN網絡程序燒寫,軟件版本控制等多方面功能。從軟件層面提升產品生命周期,達到設計預期要求。

英飛凌;XC2000;Bootloader;加密

CLC NO.:U462.2 Document Code: A Article ID: 1671-7988 (2016)07-144-03

前言

隨著汽車電子行業的飛速發展,商用車控制系統近兩年內正以幾何形式增長。嵌入式在商用車領域內得到了長足的發展。隨著需求井噴式的增長與變化,汽車電子中控制系統愈發復雜,產品維護,版本控制,后期追蹤變得越發困難。歐美在汽車電子領域中很早就引入了Bootloader這一設計理念,很好的解決了產品實際中遇到的問題。

在嵌入式操作系統中,BootLoader是在操作系統內核運行之前運行。可以初始化硬件設備、建立內存空間映射圖,從而將系統的軟硬件環境帶到一個合適狀態,以便為最終調用操作系統內核準備好正確的環境。在嵌入式系統中,通常并沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會內嵌一段短小的啟動程序),因此整個系統的加載啟動任務就完全由BootLoader來完成。嵌入式系統是一個資源十分緊缺的特殊系統,它不同于我們傳統PC計算機。所以在緊張的資源中要實現對應用程序的啟動管理,程序更新,版本控制,程序加密等諸多功能。

英飛凌的XC2000系列微控制器芯片是為汽車電子專門設計的,具有較高的運行速率,強大的外圍設備,強大的穩定性。本文就選取XC2000的芯片,討論其上電后的運行機制,Bootloader實現方案,Flash操作方法,以及如何利用芯片自身的加密機制保護應用程序的知識產權。

1、Bootloader設計方案

英飛凌的XC2000系列芯片采用典型的馮諾依曼結構,即采用存儲程序方式,指令和數據不加區別混合存儲在同一個存儲器中,(數據和程序在內存中是沒有區別的,它們都是內存中的數據,當IP指針指向哪 CPU就加載那段內存中的數據,如果是不正確的指令格式,CPU就會發生錯誤中斷。該系列芯片的地址分配如下表:

表1 英飛凌XC2000系列芯片的地址空間

我們可以看出按照官方給出的地址分布,我們能夠利用的實際存儲區域只有Flash0與Flash1(上圖紅色圈定區域),系統在上電或復位時通常都從地址0xC00000處開始執行。從空間上講已經能夠滿足一般程序存儲(一般嵌入式系統軟件在幾KB到幾十KB之間)。但是由于嵌入式芯片的工作模式使得我們不得不將該程序按照約定存儲在0xC00000的首位地址處。上電后即按照程序邏輯運行,我們即使在Flash中安排了兩個應用程序也無法啟用第二個程序。所以需要我們將能夠管理應用程序啟動的BootLoader處安排在0xC00000地址處,上電后首先運行Bootloader,由它接管微處理器的運行。

1.1 程序跳轉

程序跳轉的目的就是為了在第一個專有程序完成自身本職工作后,可以將硬件的管理權釋放,并且將各個MCU中的資源移交給第二個程序,并且為第二個程序運行提供支持。

圖2 緩速器模塊

如上圖所示,我們MCU中的Flash資源布局時將整個Flash劃分為了三個區域。(注:我們這里將Flash從邏輯層面上連成一個整體,實際上Flash的地址是不連續的)。我們在0xC00000處安放的是Bootloader,其必須完成對APP的調用,使得APP在Bootloader生命周期結束的時候能夠啟用,并且對于MCU的硬件資源能夠正確使用。

程序跳轉本身在程序上沒有難度,關鍵技術難點在于必須從邏輯上將MCU存儲資源有效的分區管理。由于英飛凌XC2000系列芯片的自身運行機制要求,cstart()函數以及其后的中斷向量表需有序的排列在0xCX0000的起始段位置處,這樣APP或者Bootloader才能按照約定正常運行。

1.2 存儲區相關操作

英飛凌XC2000系列的MCU中都不含有帶有EEPROM的芯片,所以不論Bootloader的程序更新還是參數標定的存儲都需要對Flash進行操作。

Flash這類存儲單元本身具有一定特殊特性。Flash進行寫操作的時是以頁為單位,一次進行一個整頁操作,不論擦除還是寫入操作都是如此,以英飛凌的XC2000系列芯片為例的話,一頁的大小為128字節(64字)。

英飛凌內核中有一個獨有特殊單元IMB,由該單元管理了XC2000系列的MCU的Flash擦除,燒寫工作甚至加密,解密工作。前面提到對于英飛凌XC2000來說,每一次對Flash的操作最小單元為一頁。所以實際上的對Flash操作都是先對IMB進行操作,完成正確的操作命令字后,再由IMB對指定Flash進行操作??刂谱直砣缦拢?/p>

1.3 存儲區加密解密

首先,芯片加密屬于MCU的最核心操作,芯片廠商從伊始的原理設計上就做了諸多防護,以防操作變得過于簡單。如果過于簡單,加密解密的設計意義就會流于形式,起不到真正防護作用。所以從機理上講,加密解密就是對MCU進行核心操作。

下圖揭示了英飛凌XC2000的IMB運行機制。其通過物理層映射到核心寄存器中,再由IMB Core進行運行,但是物理層卻不能由IMB Core以外的任何方式修改,從根本上起到了防護作用。我們可以看到,英飛凌XC2000系列芯片在設計之初就采用三級映射的邏輯關系,我們實際可操作的層位物理層,即兩個Security Page。之后由中間層和上層逐層進行管理。

圖3

下圖就是展示了XC2000系列芯片的物理層核心區域的信息排布。其中包含了密碼,保護使能寄存器,上鎖確認代碼,BMI啟動方式等多種重要參數。對其的修改才是加密解密的核心工作,且不能有絲毫錯誤。圖示左側下標為該區域真實絕對地址,但由于IMB運行機制的影響,是不能直接對地址操作的,仍然需要遵循存儲區的操作字序列方能成功操作對應區域。

圖4

值得注意的一點,在對Security Page進行操作時,必須首先清除Security Page 1中的Lock Code,然后完成Security Page 0中的Password、PROCON、BMI設置,最后回填Security Page 1的Lock Code。這樣才能使得操作生效,并且在最后一步回填Lock Code時,加密保護是即刻生效的,不需要重新上電。

2、Bootloader運行過程

整個Bootloader包含兩個階段:

2.1 基本的硬件初始化

這是Boot Loader一開始就執行的操作,其目的是為第二階段的執行準備好一些基本的硬件環境。目前我公司設計的Bootloader通常包括以下步驟(以執行的先后順序):

(1)屏蔽所有的中斷。為中斷提供服務通常是OS設備驅動程序的責任,因此在BootLoader的執行全過程中可以不必響應任何中斷。中斷屏蔽可以通過寫CPU的中斷屏蔽寄存器或狀態寄存器來完成。

(2)設置CPU的速度和時鐘頻率。

(3)RAM初始化。包括正確地設置系統的內存控制器的功能寄存器以及各內存庫控制寄存器等。

(4)CAN模塊初始化。由于車輛使用的標準網絡為CAN網絡,所以與其他Bootloader不同的是需要初始化CAN相關功能。

2.2 啟動Bootloader程序,進入等待服務循環

當Bootloader完成硬件資源的相關配置與初始化,就需要系統啟動相關服務,進入等候狀態。根據總線數據請求切換相關工作模式,啟動相關服務功能,或者在無請求服務時切換到APP程序運行。如果Bootloader判斷條件滿足可以切換到APP運行,那么在切換完成的時刻,Bootloader生命周期已經結束。

3、結論

本文就英飛凌車用微控制器XC2000系列芯片的運行原理及其Bootloader的設計思路做以分析。探討了關于程序跳轉,存儲區讀寫操作,存儲區加密解密三個核心技術的難點與解決思路。Bootloader的實際應用能夠很好的在開發、產品量產、終端維護等多個方面提供有力幫助,能夠有效的減少各個環節的人力物力,并且豐富的擴展功能使得產品追蹤,產品信息查詢成為可能。Bootloader僅是一個基礎工具,如何豐富該工具,使其能夠發揮更大的功效值得深入研究與學習。

[1] 程夕明.汽車嵌入式微控制器原理及應用—英飛凌XC2000家族MCU [M].電子工業出版社,2013.9.

[2] 王伏,張忠能,杭勇等.基于CAN總線的電控單元程序,引導加載功能開發[J].微型電腦應用,2011,27(9):30-32.DOI:10.3969/j.issn. 1007-757X.2011.09.010.

[3] 黃娟娟,夏超英,柳同生等.基于英飛凌XC2268N的整車控制系統CAN通信設計[J].儀表技術與傳感器,2014,(5):60-62,72.DOI:10. 3969/j.issn.1002-1841.2014.05.020.

The Automotive Microcontroller of Infineon Bootloader Design

Li Rui, Zhang Xiaoming
( Xi 'an special automobile transmission engineering research institute, Shaanxi Xi 'an 710119 )

This paper introduces about a kind of bootloader design based on Infineon XC2000 series chip. This paper introduces the overall architecture, hardware structure, and expounds the design and implementation of the system software in detail. The Bootloader is based on XC2000 platform, so it has a good portability. It is suit for all series products of Infineon XC2000 in theory. The Bootloader contains the various functions of system initialization, the application of switching, flash encryption or decryption, programming through the CAN network, software version control and so on. The bootloader improve the product life by software and meet the design demands.

Infineon; XC2000; Bootloader; Encryption

U462.2

A

1671-7988(2016)07-144-03

李睿,通訊作者,就職于西安法士特汽車傳動工程研究院。

10.16638/j.cnki.1671-7988.2016.07.045

猜你喜歡
嵌入式程序設計
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
搭建基于Qt的嵌入式開發平臺
“程序猿”的生活什么樣
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
英國與歐盟正式啟動“離婚”程序程序
環球時報(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加入嵌入式視覺聯盟
主站蜘蛛池模板: 免费看美女自慰的网站| 国产精品分类视频分类一区| 伊人久久大香线蕉综合影视| 国产自在自线午夜精品视频| 国产精品va免费视频| 精品国产电影久久九九| 一级黄色片网| 999福利激情视频| 囯产av无码片毛片一级| 啊嗯不日本网站| 九九九国产| 日韩亚洲综合在线| 国产99在线观看| 欧美性猛交一区二区三区| 国产丝袜无码精品| 亚洲码一区二区三区| 99re精彩视频| 国产网友愉拍精品| 国产在线视频导航| 亚洲国产欧美国产综合久久 | 久久婷婷六月| 国产成人调教在线视频| 在线精品视频成人网| 国内精品小视频在线| 亚洲精品va| 亚洲伦理一区二区| 2020国产在线视精品在| 欧美中文字幕在线播放| 九色视频一区| 四虎永久在线精品影院| 国产导航在线| 国产免费人成视频网| 波多野一区| 中文字幕在线播放不卡| 国产精品视频观看裸模| 亚洲狠狠婷婷综合久久久久| 大陆国产精品视频| 日韩一区精品视频一区二区| 成人在线视频一区| 亚洲男人天堂2018| 在线日韩日本国产亚洲| 四虎成人精品| 日韩精品无码免费一区二区三区 | 国产成人精品亚洲日本对白优播| 国产精品第三页在线看| 白浆视频在线观看| 亚洲男人的天堂在线观看| 青青操国产| 在线亚洲天堂| 91亚洲视频下载| 国产精品部在线观看| 91午夜福利在线观看| 韩国v欧美v亚洲v日本v| 国产在线观看99| 毛片免费高清免费| 久久亚洲中文字幕精品一区 | 久久久亚洲色| 久久天天躁狠狠躁夜夜2020一| 国产一级裸网站| 国产美女在线观看| 再看日本中文字幕在线观看| 免费A级毛片无码免费视频| 国产日韩欧美成人| 无码高潮喷水在线观看| 91在线一9|永久视频在线| 国产精品露脸视频| 国产乱子伦无码精品小说| 一区二区无码在线视频| 国产高清不卡视频| 国产成人一区| 欧美日韩va| 无码中文字幕加勒比高清| 特级aaaaaaaaa毛片免费视频 | 午夜色综合| 亚洲男人的天堂在线观看| 毛片a级毛片免费观看免下载| 在线日本国产成人免费的| 九色视频一区| 97影院午夜在线观看视频| 成色7777精品在线| 亚洲天堂网站在线| 午夜国产在线观看|