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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英飛凌TC27X芯片的啟動(dòng)學(xué)習(xí)筆記

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

啟動(dòng)軟件是芯片復(fù)位后執(zhí)行的第一個(gè)軟件。

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

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

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

啟動(dòng)軟件包含根據(jù)以下一項(xiàng)或多項(xiàng)初始化設(shè)備的過(guò)程:

以前存儲(chǔ)在專用Flash位置的信息

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

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

應(yīng)用于外部(配置)引腳的值(可選)SSW還會(huì)調(diào)用 - 以防 - 其他固件模塊。

啟動(dòng)時(shí)的時(shí)鐘系統(tǒng)

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

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

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

有個(gè)注意的點(diǎn)是上電啟動(dòng)過(guò)程和系統(tǒng)復(fù)位會(huì)重寫(xiě)從CPU0 DSPR起的8 KByte空間。因此,應(yīng)用軟件不應(yīng)使用該區(qū)域保存數(shù)據(jù)。不同復(fù)位的影響如下圖所示。

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

啟動(dòng)模式

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

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

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

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

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

其中:

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

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

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

4、BMHDID為固定值0xB359;

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

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

啟動(dòng)流程

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

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

2、確認(rèn)已發(fā)生的復(fù)位時(shí)間類型,并測(cè)試是否有電源故障和內(nèi)存數(shù)據(jù)是否一致。如果復(fù)位類型為應(yīng)用復(fù)位,且內(nèi)存數(shù)據(jù)沒(méi)有破壞,則不需要初始化內(nèi)存、時(shí)鐘、Flash模塊,從而進(jìn)入快速啟動(dòng)過(guò)程。

3、初始化驅(qū)動(dòng)和外設(shè)至默認(rèn)狀態(tài)。例如將端口引腳初始化為所需要的初始電氣狀態(tài)。

4、進(jìn)行安全測(cè)試和初始化。包括CPU測(cè)試、RAM測(cè)試、SMU警告檢測(cè)和其他重要的安全啟動(dòng)測(cè)試。另外可以調(diào)用safeTlib程序。

5、完成安全測(cè)試之后,對(duì)應(yīng)用需要的硬件模塊驅(qū)動(dòng)進(jìn)行初始化,時(shí)鐘初始化,F(xiàn)lash配置,GTM初始化等。

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

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

審核編輯:湯梓紅

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

    關(guān)注

    66

    文章

    2136

    瀏覽量

    138261
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5295

    瀏覽量

    119824
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10807

    瀏覽量

    210852

原文標(biāo)題:英飛凌TC27X芯片的啟動(dòng)學(xué)習(xí)筆記

文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    國(guó)產(chǎn)智駕域控上為什么很多是英飛凌TC397?

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

    TC275如何修改BMI從PF1啟動(dòng) ?

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

    使用aurix development studio對(duì) TC213L mcu進(jìn)行編程顯示設(shè)備鎖定錯(cuò)誤,怎么解決?

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

    英飛凌TC1767

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

    英飛凌TC1797Data sheet

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

    大家有人使用過(guò)英飛凌芯片做電機(jī)控制的嗎

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

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

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

    MCU模塊的功能有哪些

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

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

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

    英飛凌aurix tc27x系列介紹

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

    AURIX TriCore學(xué)習(xí)筆記六:TC397開(kāi)發(fā)環(huán)境搭建

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

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

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

    英飛凌TC3XX MCAL CAN模塊簡(jiǎn)析

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

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

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