0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英飛凌TC27X芯片的啟動學習筆記

832065824 ? 來源:汽車ECU開發(fā) ? 作者:eng2mot ? 2022-12-09 11:50 ? 次閱讀

啟動軟件是芯片復位后執(zhí)行的第一個軟件。

SSW在CPU0上執(zhí)行 - 所有其他CPU在引導期間保持Halt狀態(tài),由用戶軟件啟動,而:

BootROM中的SSW起始地址是CPU0的程序計數器寄存器中的復位值。從該位置獲取指令,這是在任何設備啟動之后執(zhí)行的第一條指令。在此入口點之后,固件立即檢查testmode,如果選擇了testmode,則執(zhí)行跳轉到測試固件

最后一條SSW指令跳轉到第一條用戶代碼指令。取決于用戶選擇的啟動配置,可以從不同位置獲取該第一用戶指令。

啟動軟件包含根據以下一項或多項初始化設備的過程:

以前存儲在專用Flash位置的信息

專用寄存器/存儲器位置中的特殊位/字段的當前狀態(tài)

觸發(fā)SSW執(zhí)行的事件類型(最后一次重置事件),SSW執(zhí)行可以由不同的事件觸發(fā),包括上電、系統(tǒng)復位、應用復位。

應用于外部(配置)引腳的值(可選)SSW還會調用 - 以防 - 其他固件模塊。

啟動時的時鐘系統(tǒng)

上電或是系統(tǒng)復位后,時鐘模塊處于初始化狀態(tài),各個總線的時鐘頻率如下:

8fd0a600-76ed-11ed-8abf-dac502259ad0.png

而應用程序復位后,時鐘系統(tǒng)不會改變其狀態(tài),因此器件以與復位事件之前相同的頻率和時鐘源運行。

有個注意的點是上電啟動過程和系統(tǒng)復位會重寫從CPU0 DSPR起的8 KByte空間。因此,應用軟件不應使用該區(qū)域保存數據。不同復位的影響如下圖所示。

8fecd35c-76ed-11ed-8abf-dac502259ad0.jpg

啟動模式

其中HWCFG[0:2]用于配置MCU供電模式,HWCFG[3]是BMI的選擇引腳,它決定啟動配置從引腳HWCFG[4:5]選擇,還是從Flash中BMI選擇。為了節(jié)省引腳資源和避免安全漏洞,通常啟動模式選擇用Flash中的BMI,芯片的判斷流程如下圖所示。

901b9aa2-76ed-11ed-8abf-dac502259ad0.png

BMI信息存放在BMHD寄存器中,共由9個字段組成,如下圖所示,F(xiàn)lash中的BMHD寄存器總共有4個,如圖2所示,其目的是為了做冗余設計,保證在一個或多個損壞時,芯片仍能正常啟動。

90496cb6-76ed-11ed-8abf-dac502259ad0.jpg

90729b18-76ed-11ed-8abf-dac502259ad0.jpg

其中:

1、STADABM存放的是用戶代碼的入口地址;

2、BMI用于配置用戶的啟動模式,BMI.PINDIS用于配置是否屏蔽硬件HWCFG[3:5]引腳功能,如果該位置位,那么BMI.HWCFG用作啟動配置;

3、LCL0LSEN、LCL1LSEN用于配置是否使能core0、core1的鎖步功能;

4、BMHDID為固定值0xB359;

5、ChkStart、ChkEnd用于存放計算CRC的起始地址和末尾地址,CRCrange、CC—R—C—r—a—n—g—e—分別是按照IEEE802.3中的CRC算法計算的CRC值和其取反的值;

6、CRChead、C—R—C—h—e—a—d—是計算BMHD的00H~17H的CRC值和其取反的值。

啟動流程

如下圖所示,主要的初始化過程在CPU0上執(zhí)行,如果初始化階段要求鎖步核校驗,也可以切換至CPU1。其中Firmware固化在BootROM中的啟動程序。對于冷復位,可以通過配置PROCOND寄存器選擇性地初始化內存區(qū)。下面結合圖3介紹啟動的主要步驟:

1、調用Cstart()函數初始化C運行環(huán)境;初始化堆棧指針和程序狀態(tài)字(PSW)寄存器,A10寄存器用作堆棧指針,用戶堆棧指針基地址和堆棧大小通過連接文件設置,啟動代碼應該測試和初始化用于堆棧的存儲區(qū),對齊堆棧邊界;上下文存儲區(qū)(CSA)初始化,PSW(CDC )寄存器中表示連續(xù)上下文切換的調用深度內容應該被重置,通過PCXI、LCX、FCX寄存器初始化CSA鏈表,通過連接文件配置CSA的大小;中斷及陷阱向量表的基地址初始化,也就是BIV和BTV寄存器;初始化PCON和DCON寄存器使能程序緩存、數據緩存,該寄存器的配置能有效縮短程序的運行時間;清除bss段的內存,復制data段的數據至內存中。

2、確認已發(fā)生的復位時間類型,并測試是否有電源故障和內存數據是否一致。如果復位類型為應用復位,且內存數據沒有破壞,則不需要初始化內存、時鐘、Flash模塊,從而進入快速啟動過程。

3、初始化驅動和外設至默認狀態(tài)。例如將端口引腳初始化為所需要的初始電氣狀態(tài)。

4、進行安全測試和初始化。包括CPU測試、RAM測試、SMU警告檢測和其他重要的安全啟動測試。另外可以調用safeTlib程序。

5、完成安全測試之后,對應用需要的硬件模塊驅動進行初始化,時鐘初始化,F(xiàn)lash配置,GTM初始化等。

6、在驅動程序初始化后,此時硬件只啟動了CPU0,其他核仍保持Halt狀態(tài),軟件通過調用Startcore()、Cstart()函數啟動和初始化相應的核,最后把控制權交給操作系統(tǒng)。

908c472a-76ed-11ed-8abf-dac502259ad0.jpg

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 英飛凌
    +關注

    關注

    66

    文章

    2119

    瀏覽量

    138155
  • 寄存器
    +關注

    關注

    31

    文章

    5274

    瀏覽量

    119664
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10778

    瀏覽量

    210487

原文標題:英飛凌TC27X芯片的啟動學習筆記

文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    英飛凌TC3XX系列多核MCU學習筆記(1)

    聲明:本文是在學習英飛凌 TC3XX系列多核 MCU 過程中整理的筆記,便于后期復習!
    發(fā)表于 09-19 09:54 ?2172次閱讀
    <b class='flag-5'>英飛凌</b><b class='flag-5'>TC</b>3XX系列多核MCU<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(1)

    國產智駕域控上為什么很多是英飛凌TC397?

    電子發(fā)燒友網報道(文/梁浩斌)最近看到一個博主拆解了多個智駕域控制器,發(fā)現(xiàn)英飛凌TC397/TC297的出鏡率非常高,而且是覆蓋不同的智駕芯片方案。包括華為的MDC610、小鵬G9上德
    的頭像 發(fā)表于 09-13 00:13 ?5266次閱讀

    TC275如何修改BMI從PF1啟動 ?

    求問英飛凌TC275如何修改BMI從PF1(0xA0200000)啟動
    發(fā)表于 02-02 06:54

    使用aurix development studio對 TC213L mcu進行編程顯示設備鎖定錯誤,怎么解決?

    : 英飛凌 芯片TC2_592k 子名稱 : 數據閃存庫 0b 寬度 : 32 大小 : 16384 芯片數 : 1 未使用的地址線 : 0 配置:
    發(fā)表于 07-02 06:57

    英飛凌TC1767

    那位老師有英飛凌TC1767汽車編程器。軟件
    發(fā)表于 01-08 03:20

    英飛凌TC1797Data sheet

    英飛凌TC1797Data sheet,歡迎使用這塊芯片的一起交流
    發(fā)表于 04-26 12:24

    大家有人使用過英飛凌芯片做電機控制的嗎

    大家有人使用過英飛凌芯片做電機控制的嗎?請問英飛凌TC1797和TI 28335區(qū)別在哪啊?
    發(fā)表于 04-26 12:26

    基于英飛凌Tc1797芯片的電機控制系統(tǒng)設計

    電機控制系統(tǒng)能否滿足電動汽車的要求,是新能源汽車研發(fā)中的重要問題。本文介紹了基于英飛凌Tc1797芯片的電機控制系統(tǒng)設計方法。為電動汽車中電機控制系統(tǒng)的設計提供了可行、可靠的方案。 由于全球
    發(fā)表于 12-06 10:03

    MCU模塊的功能有哪些

    及外設時鐘等;初始化RAM區(qū);MCU的功耗控制;MCU的復位控制;獲取復位原因.模塊提供的服務接口功能三、配置1、時鐘配置英飛凌TC27x系列,提供EXCEL配置工具,可直接輸入需要的頻率,直接計算出各個配置項的配置值,例如時鐘分頻值等。...
    發(fā)表于 11-01 07:32

    中斷系統(tǒng)的相關資料推薦

    中斷系統(tǒng)TC27x中斷系統(tǒng)框圖TC27x中的中斷系統(tǒng)在中斷路由器模塊中實現(xiàn),該模塊包括服務請求節(jié)點( SRN),中斷控制單元( ICU)和支持軟件(SW)開發(fā)的附加功能。如圖所示,每個可以生成
    發(fā)表于 02-22 06:38

    英飛凌aurix tc27x系列介紹

      全新AURIXTC27x系列是英飛凌下一代MCU系列產品的平臺,可滿足最新的汽車動力總成和安全應用要求。最多可由三個TriCore構成,以AMP、SMP或鎖步模式處理應用負載。第一款AURIX設備是TC27x,配有200MH
    發(fā)表于 09-12 18:55 ?109次下載

    AURIX TriCore學習筆記六:TC397開發(fā)環(huán)境搭建

    AURIX TriCore學習筆記六:TC397開發(fā)環(huán)境搭建
    發(fā)表于 11-13 20:21 ?37次下載
    AURIX TriCore<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>六:<b class='flag-5'>TC</b>397開發(fā)環(huán)境搭建

    AURIX系列之TC275學習筆記(五):中斷系統(tǒng)

    中斷系統(tǒng) TC27x中斷系統(tǒng)框圖TC27x中的中斷系統(tǒng)在中斷路由器模塊中實現(xiàn),該模塊包括服務請求節(jié)點
    發(fā)表于 12-27 19:20 ?18次下載
    AURIX系列之<b class='flag-5'>TC</b>275<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(五):中斷系統(tǒng)

    英飛凌TC3XX MCAL CAN模塊簡析

    英飛凌芯片在汽車電子里用得可謂是頗多,剛好小編也用過,最近剛好在摸TC3系列的CAN模塊,剛好簡單寫寫。
    的頭像 發(fā)表于 03-07 09:29 ?2432次閱讀

    英飛凌AURIX TC4x微控制器系列中的并行處理單元(PPU)簡介

    并行處理單元(PPU)是集成在英飛凌AURIX? TC4x微控制器系列中的協(xié)處理器。
    的頭像 發(fā)表于 05-17 10:52 ?795次閱讀
    <b class='flag-5'>英飛凌</b>AURIX <b class='flag-5'>TC4x</b>微控制器系列中的并行處理單元(PPU)簡介