1. 摘要:
AM243x 是TI Sitara產(chǎn)品線最新推出的高性能MCU+產(chǎn)品,是一種性能強(qiáng)勁的多核異構(gòu)MCU,擁有4顆800MHz 主頻的Cortex R5F核心和1顆400MHz 主頻的Cortex M4F,以及專門針對(duì)多協(xié)議工業(yè)通信總線的2個(gè)PRU_ICSSG(2× Gigabit Industrial Communication Subsystems)模塊,可以實(shí)現(xiàn)Profinet IRT,Profinet RT,EtherNet/IP,EtherCAT等通信方式。
在這類多核異構(gòu)MCU / CPU產(chǎn)品開(kāi)發(fā)中,由于芯片在電源軌上的復(fù)雜性以及外設(shè)的豐富程度,不可避免的會(huì)接觸到系統(tǒng)復(fù)雜的boot環(huán)節(jié),以及多核調(diào)試帶來(lái)的挑戰(zhàn),本文以AM243x-LP評(píng)估板為例,對(duì)AM243x的booting相關(guān)內(nèi)容進(jìn)行了初步的介紹,并完整演示了RBL-SBL-APP的整個(gè)啟動(dòng)過(guò)程以及程序燒錄的方法。
Abstract:
This article takes the AM243x multi-core chip architecture as the entry point, briefly introduces the AM243x startup process, including Power up sequence, Boot Mode selection, ROM boot process, SBL process, SBL compiling, and SYSFW introduction. Taking the ADC demo as an example, combined with the AM243x-LP evaluation board, a complete demonstration of the RBL -> SBL -> APP startup process, briefly introduces the environment setup and operation process of programming external OSPI Flash in UART mode, which is convenient for users to quickly start the application development on AM243x chips.
2.AM243x 上電后的Booting環(huán)節(jié):
下圖是AM243x完整的boot流程:
ROWER ON -> ROM Bootloader(RBL) -> Secondary Bootloader(SBL) -> Application Binary。 上電后,芯片進(jìn)行內(nèi)部邏輯的初始化,之后先執(zhí)行ROM中的BOOT代碼,再執(zhí)行用戶自定義的二級(jí)BOOT代碼,最后執(zhí)行應(yīng)用程序.
Figure 1 BOOT 啟動(dòng)流程
2.1 上電時(shí)序和啟動(dòng)方式介紹
AM243x 芯片擁有多個(gè)電源域,為不同的內(nèi)部邏輯和外設(shè)供電,,下圖是AM243x的上電時(shí)序圖,可以在datasheet找到更詳細(xì)的介紹。
Figure 2 Power Sequence
在滿足供電時(shí)序的情況下,MCU_PORz信號(hào)最終釋放了對(duì)內(nèi)核復(fù)位的控制, MCU_PORz的上升沿會(huì)鎖存SYS_BOOTMODE[0:15]這些管腳的上下拉狀態(tài),并由此確定芯片的啟動(dòng)模式和啟動(dòng)介質(zhì),然后由ROM Bootloader來(lái)讀取啟動(dòng)信息。
AM243x 有兩種主要的啟動(dòng)方式:Host boot modes 和 Memory boot modes。
- Host boot modes:MCU從不同的外設(shè)進(jìn)行啟動(dòng),比如從UART、Ethernet、USB等接口啟動(dòng);
- Memory boot modes:MCU從不同的外部存儲(chǔ)介質(zhì),比如QSPI Flash、I2C EEPROM、SD卡、U盤(pán)等存儲(chǔ)器啟動(dòng);
注意:AM243x 有Primary Boot和Backup Boot功能,這意味著AM243x在Primary Boot失敗的情況下可以用 Backup Boot 來(lái)啟動(dòng),這個(gè)可以由 BOOTMODE 管腳進(jìn)行設(shè)置。
關(guān)于 BOOTMODE 管腳配置,我們可以看到是由16根信號(hào)線組成,其中高兩位為Reserved。其16bit對(duì)應(yīng)的是BOOTMODE 00-15這16根信號(hào)線,原理圖中對(duì)應(yīng)的管腳為GPMC0_AD0 – 15。
Figure 3 BOOTMODE Pin Mapping
PLL Config 針對(duì)不同的外部晶振頻率進(jìn)行配置。
Figure 4 PLL Reference Clock Selection
Primary Boot 模式如下:
Figure 5 Primary Boot Mode Selection
Backup Boot 模式如下:(注意Backup模式下可啟動(dòng)的方式較少)
Figure 6 Backup Mode Selection
注意:由于ROM Code對(duì)不同的啟動(dòng)接口或介質(zhì)使用的管腳是固定的,在設(shè)計(jì)的過(guò)程中需要注意選擇對(duì)應(yīng)的管腳,詳細(xì)的管腳信息可以在Technical Reference Manual中查看。
2.2 ROM啟動(dòng)過(guò)程介紹
AM243x的ROM Code分為兩部分,分別是DMSC ROM code和Public ROM code,這里DMSC的全稱為Device Management Security Controller,內(nèi)部是一個(gè)主頻250MHz 的Cortex M3協(xié)處理器, DMSC模塊是芯片啟動(dòng)的主控制器.
- DMSC ROM code:DMSC ROM 的代碼會(huì)涉及到以下幾個(gè)部分:
- 設(shè)備管理;
- 在 BOOT_CFG中配置boot vectors,控制 R5內(nèi)核的reset釋放, 需特別指出,啟動(dòng)過(guò)程中DMSC是R5內(nèi)核的控制者;
- 通過(guò)主DMSS(Data Movement Subsystem)和Secure Proxy進(jìn)行IPC的配置;
- 對(duì)R5內(nèi)核和SA2UL(Security Accelerator)的PLL進(jìn)行配置;
- X509認(rèn)證的解析;
- SHA512算法對(duì)image integrity check的SA2UL配置;
Public ROM code:下圖是Public ROM code的框架。
Figure 7 Public ROM Code Architecture
Main Module是整個(gè)Public ROM code的頂層代碼循環(huán),它可以調(diào)用X509密碼認(rèn)證模塊、Log Trace模塊、System模塊以及外設(shè)驅(qū)動(dòng)的相關(guān)功能代碼,在這里會(huì)重復(fù)執(zhí)行直到MCU接收到完整的boot image,也可以被 DMSC置于sleep模式;
芯片上電后一級(jí)啟動(dòng)過(guò)程可以分為三部分:
- Hardware 部分:這里主要指電源的上電過(guò)程,以及芯片內(nèi)部邏輯的初始化;
- DMSC部分:DMSC ROM Code 會(huì)首先配置啟動(dòng)過(guò)程中看門狗WDT的溢出時(shí)間為180秒,接下來(lái)配置MCU PLL,根據(jù)不同Boot Mode進(jìn)行相應(yīng)的Firewall配置,MCU的Secure Proxy/Ring Accelerator,然后DMSC會(huì)給MCU發(fā)送Boot Mode Info,最終DMSC釋放R5內(nèi)核的Reset信號(hào),R5內(nèi)核開(kāi)始工作;
- R5 內(nèi)核部分:R5 內(nèi)核拿到DMSC發(fā)送的Boot Device Info(由BOOTMODE管腳的配置決定)后,通過(guò)對(duì)應(yīng)的Boot模式開(kāi)始啟動(dòng),R5內(nèi)核會(huì)請(qǐng)求DMSC對(duì)接收到的image代碼進(jìn)行image integrity check,如果成功則繼續(xù)向下執(zhí)行,如果Primary Boot的image無(wú)效,R5會(huì)切換到Backup Mode 進(jìn)行boot image接收并再次調(diào)用DMSC進(jìn)行image integrity check,這樣重復(fù)執(zhí)行調(diào)用,直到180秒看門狗溢出為止,這時(shí)MCU會(huì)被復(fù)位,重復(fù)上面的所有流程。
當(dāng)image integrity check成功后,R5內(nèi)核會(huì)對(duì)Main Domain的PLL進(jìn)行配置,接下來(lái)DMSC會(huì)停止Clock并且Reset R5,R5在復(fù)位結(jié)束后開(kāi)始執(zhí)行Boot Image(這里在RAM里面的Boot Image不受R5復(fù)位的影響,處于保持狀態(tài)),整個(gè)Boot流程完成,芯片開(kāi)始二級(jí)BOOT流程。
Figure 8 Boot Process
2.3 二級(jí)SBL啟動(dòng)過(guò)程介紹
SBL的全稱是Second boot loader,用于完成芯片的一些初始配置,拷貝DMSC的SYSFW到片內(nèi)RAM以及加載多核應(yīng)用代碼。 下圖是一個(gè)典型的SBL流程. DMSC模塊會(huì)再次啟動(dòng)WDT看門狗并設(shè)定開(kāi)門狗溢出時(shí)間為180秒。 R5 core 0執(zhí)行SBL代碼,先拷貝FLASH上的DMSC SYSFW到片內(nèi)RAM, DMSC ROM代碼對(duì)SYSFW image 進(jìn)行完整性檢查后,將SYSFW加載到DMSC模塊,之后DMSC模塊會(huì)跳出DMSC ROM代碼,改為執(zhí)行DMSC SYSFW代碼。 SBL會(huì)繼續(xù)加載和解析R5核的應(yīng)用代碼并根據(jù)Image信息設(shè)定啟動(dòng)地址,完成后會(huì)請(qǐng)求DMSC 釋放其他R5核的復(fù)位信號(hào),所有內(nèi)核開(kāi)始執(zhí)行程序.
Figure 9 SBL Boot Process
3.AM243x-LP 使用介紹:
AM243x-LP評(píng)估板提供了豐富的功能和接口,XDS110調(diào)試器也被集成在電路板上面,方便用戶的燒錄調(diào)試,同時(shí)USB轉(zhuǎn)UART功能也通過(guò)同一USB接口實(shí)現(xiàn),用于串口log信息的打印。
Figure 10 System Architecture
評(píng)估板上的另一個(gè)USB Type C接口用來(lái)供電,整板的電流會(huì)在2A左右,這里建議先連接Micro USB,建立串口連接后,然后再連接USB Type C接口。USB Type C的連接線需要使用標(biāo)準(zhǔn)的全功能連接線,否則無(wú)法與評(píng)估板上的CC邏輯控制器TUSB320LAIRWBR進(jìn)行正常通信,造成輸出電流配置不正常,無(wú)法正確對(duì)評(píng)估板供電。
Figure 11 AM243x-LP Board
正常連接兩根USB線之后,板子上會(huì)有4個(gè)LED燈點(diǎn)亮,分別是LD6、LD7、LD8和LD11四個(gè)綠色LED燈。LD9紅色燈會(huì)在USB Type C插入的瞬間亮一次,之后熄滅,如果常亮,則代表供電有問(wèn)題。
Figure 12 AM243x-LP Board LED Status
在Micro USB線連接后,Windows系統(tǒng)會(huì)進(jìn)行XDS110的驅(qū)動(dòng)安裝(CCS安裝時(shí)會(huì)自帶驅(qū)動(dòng)),安裝完成后,會(huì)在設(shè)備管理器里面出現(xiàn)兩個(gè)對(duì)應(yīng)設(shè)備,如下圖。
Figure 13 AM243x-LP Board USB Port
User UART對(duì)應(yīng)的是用戶可用的USB轉(zhuǎn)串口打印log的端口,在AM243x-LP評(píng)估板中對(duì)應(yīng)的是AM243x的MAIN_UART0接口。
下圖是AM243x-LP評(píng)估板上的四個(gè)按鍵,其功能分別如下:
Figure 14 AM243x-LP Board Push Buttons
在理解這幾種不同的Reset之前,我們先看看AM243x整個(gè)芯片構(gòu)成的兩個(gè)Domain,分別是MCU Domain和Main Domain,它們分別由下面的子模塊構(gòu)成。
Figure 15 AM243x Power Domain
我們可以看到在不同的Domain里面包含了不同的模塊和外設(shè),這個(gè)就決定了不同Domain對(duì)不同外設(shè)和模塊的控制權(quán)。在Reset部分,可以通過(guò)不同的Reset源對(duì)不同的Domain進(jìn)行獨(dú)立控制,也可以通過(guò)配置改變其控制Domain的范圍。
- MCU_PORz:可以看作整個(gè)芯片(MCU+MAIN)的冷啟動(dòng)復(fù)位,可以進(jìn)行動(dòng)態(tài)Boot Mode更改而不用斷電;
- MCU_RESETz:MCU Domain的熱復(fù)位;
- SoC_RESET_REQz: Main Domain的熱復(fù)位;
在AM243x-LP評(píng)估板上可以由8位撥碼開(kāi)關(guān)來(lái)更改Boot配置,其中第8位沒(méi)有使用,是懸空狀態(tài),下面的表格列出了這7位配置對(duì)應(yīng)的Boot Mode情況。
Figure 16 AM243x LP Boot Mode Selection Table
其中常用的三種模式如下圖所示:
Figure 17-1 AM243x LP Boot Mode Switch
關(guān)于 Backup Boot Mode,在AM243x-LP是默認(rèn)配置為NONE模式(BOOTMODE13:10 = x 0 0 0),這里暫時(shí)不用關(guān)心。
Figure 17-2 AM243x LP Boot Mode Switch (Backup Mode Configuration)
可以在斷電狀態(tài)下更改撥碼開(kāi)關(guān)的配置,然后重新上電。或者在通電的情況下改變撥碼開(kāi)關(guān),然后用SW1按鈕實(shí)現(xiàn)MCU_PORz冷復(fù)位以使得新的Boot Mode生效。
4. SDK 例程中 SBL 的介紹:
如果要對(duì) SDK 中的 SBL 程序在CCS中進(jìn)行編譯,需要額外安裝OpenSSL,可以在下面的地址下載light版本,
https://slproweb.com/download/Win64OpenSSL_Light-3_0_0.exe
在安裝的過(guò)程中,注意選擇 The Windows system directory選項(xiàng)。
Figure 18 OpenSSL Installation
安裝完成后,需要在windows系統(tǒng)的Path變量中加入下面的路徑。
C:\Program Files\OpenSSL-Win64\bin
完成后,即可導(dǎo)入C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\examples\drivers\boot 中的例程,并進(jìn)行編譯。這里我們導(dǎo)入的是 sbl_ospi 這個(gè)文件夾內(nèi)的工程。
Figure 19 SBL Boot Project
- SBL NULL:這個(gè)SBL只做了MCU的初始化并且把內(nèi)核至于WFI模式(Wait For Interrupt);
- SBL OSPI:初始化MCU并且從OSPI Flash 的 0x80000地址讀取并啟動(dòng)多核appimage代碼;
- SBL OSPI Multi-Partition:初始化MCU并且從OSPI Flash 不同的偏移地址讀取各個(gè)內(nèi)核的代碼;
- SBL UART:初始化MCU并且從UART通過(guò)Xmodem協(xié)議讀取并啟動(dòng)多核appimage代碼;
- SBL UART Uniflash:配合py腳本的flash writer程序,用來(lái)燒錄OSPI Flash;
4.1 SBL boot image 創(chuàng)建
SBL 與一般的應(yīng)用程序類似,可以通過(guò)CCS來(lái)創(chuàng)建并編譯,在從 .out文件到boot image的轉(zhuǎn)化過(guò)程,其詳細(xì)情況如下:
雖然SBL工程與應(yīng)用程序類似,但SBL 的入口地址與用戶應(yīng)用程序的入口地址有所不同。在AM243x 的 ROM code 會(huì)把程序的入口地址同時(shí)配置給 both R5FSS0-0 和R5FSS0-1兩個(gè)內(nèi)核。 考慮到SBL只運(yùn)行在R5SS0-0上,我們需要把R5FSS0-1置于WFI模式,只運(yùn)行R5FSS0-0內(nèi)核,這個(gè)操作可以通過(guò)增加link參數(shù) -e_vectors_sbl來(lái)實(shí)現(xiàn)。
Figure 20 AM243x Link Command
在進(jìn)入main()函數(shù)之后,首先必須調(diào)用Bootloader_socLoadSysFw來(lái)加載 SYSFW 到 DMSC 的Cortex M3內(nèi)核,進(jìn)行 board config 操作。
備注:SYSFW默認(rèn)以 .h 頭文件的形式被編譯鏈接到SBL,啟動(dòng)過(guò)程中會(huì)發(fā)送到DMSC內(nèi)核的專有RAM區(qū)域,SYSFW的文件內(nèi)容在 C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\source\drivers\sciclient\soc\am64x_am243x\ sysfw_signed.h 里面。
Figure 21 Bootloader_socLoadSysFw
在SBL里,vectors默認(rèn)被鏈接到0x7000000,而且SBL中不能使用ATCM(A Tightly-Coupled Memory)和BTCM(B Tightly-Coupled Memory)的地址空間,SBL 只能使用 0x70000000到0x70080000這個(gè)地址范圍的空間,包含code、data、stack之類。
在編譯后,SBL的 .out 文件會(huì)通過(guò)GCC的objcopy轉(zhuǎn)換成 .bin 文件,接下來(lái)會(huì)通過(guò) Signing Scripts 簽名生成可啟動(dòng)的 .tiimage 文件,在這里會(huì)使用一個(gè)默認(rèn)的key來(lái)簽名,即使是非安全啟動(dòng)MCU芯片也需要走這個(gè)流程。這個(gè) Signing Script 會(huì)用到前面安裝的 OpenSSL。
RBL在加載SBL的時(shí)候是需要SBL為被簽名的格式,可以通過(guò)下面的命令來(lái)對(duì)SBL進(jìn)行簽名。
cd C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\tools\boot\signing
.\x509CertificateGen.ps1 -b {BOOTIMAGE_BIN_NAME} -o {BOOTIMAGE_NAME} -c R5 -l 0x70000000 -k rom_degenerateKey.pem -d DEBUG -j DBG_FULL_ENABLE -m SPLIT_MODE
這里我們用一個(gè)例程生成的bin文件來(lái)演示一下,首先拷貝CCS生成的bin文件到C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\tools\boot\signing,方便命令行下操作。
Figure 22 Signing Files Folder
注意:這里要用到 Windows 10下面的Powershell命令行環(huán)境,在開(kāi)始菜單輸入Powershell并執(zhí)行,即可進(jìn)入界面,公司的電腦有可能對(duì)Powershell的執(zhí)行權(quán)限有限制,這個(gè)在執(zhí)行的時(shí)候會(huì)提示。
.\x509CertificateGen.ps1 -b sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.bin -o sbl_ospi_am243x-lp.tiimage -c R5 -l 0x70000000 -k rom_degenerateKey.pem -d DEBUG -j DBG_FULL_ENABLE -m SPLIT_MODE
至此,我們?cè)谶@里可以看到最終生成的可以用來(lái)啟動(dòng)的SBL的 tiimage 文件。
Figure 23 Powershell console command execution
Figure 24 Signing result of tiimage
5. SBL 燒錄并引導(dǎo)應(yīng)用程序運(yùn)行:
下面我們快速驗(yàn)證一下SBL配合用戶應(yīng)用程序進(jìn)行boot并運(yùn)行的情況。
5.1 安裝Phython 腳本
板載外部QSPI Flash需要通過(guò)python腳本進(jìn)行燒錄,所需的Python 3 環(huán)境下載地址如下。
https://www.python.org/downloads/windows/
注意安裝Python的時(shí)候需要選擇把Python的路徑加入到系統(tǒng)路徑,安裝完成后可以在CMD Console下驗(yàn)證是否安裝成功。
Figure 25 Python Installation
Figure 26 Python Environment Check
接下來(lái)需要執(zhí)行下面的命令安裝與串口下載相關(guān)的組件,注意需要在管理員模式打開(kāi)cmd窗口。
pip install --upgrade pip
pip install pyserial xmodem tqdm
Figure 27 Python toolset installation
5.2 生成應(yīng)用代碼Image
打開(kāi) CCS后,導(dǎo)入SDK的ADC驅(qū)動(dòng)例程,路徑如下。
C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\examples\drivers\adc\adc_singleshot\am243x-lp\r5fss0-0_freertos
Figure 28 Import SDK ADC example into CCS
Figure 29 Confirm the example import
Figure 30 Build the example
編譯完工程后,我們可以看到生成的相關(guān)文件,其中.appimage是應(yīng)用程序要燒錄到外部 SPI Flash的文件。
5.3 使用UART 啟動(dòng)模式燒錄OSPI SBL文件和應(yīng)用代碼Image
接下來(lái)的燒錄操作需要在windows的command console里操作,為了方便這個(gè)流程,我們可以利用bat文件來(lái)直接執(zhí)行,提高效率。
在ccs的workspace目錄中adc_singleshot_am243x-lp_r5fss0-0_freertos_ti-arm-clang工程目錄下,我們新建一個(gè)文件夾,暫且命名為AM243xProgFlash,如下圖:
Figure 31 UART programing script files
在這個(gè)文件夾里面,@Prog-Boot+App.bat 是手工創(chuàng)建的,里面執(zhí)行了簡(jiǎn)單的python命令,sbl_ospi.release.tiimage、sbl_uart_uniflash.release.tiimag是從 C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\tools\boot\sbl_prebuilt\am243x-lp\ 這個(gè)路徑拷貝過(guò)來(lái)的。
其中sbl_ospi.release.tiimage 也可以使用上面我們編譯成功的 sbl_ospi 工程的 tiimage 文件。uart_uniflash.py 從C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\tools\boot 拷貝過(guò)來(lái)。ospi_sbl+app.cfg 是根據(jù) C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\tools\boot\sbl_prebuilt\am243x-lp\default_sbl_ospi.cfg 文件修改的。
下面是 @Prog-Boot+App.bat和 ospi_sbl+app.cfg 兩個(gè)文件的內(nèi)容。
@Prog-Boot+App.bat 文件:這里需要注意 COM17 根據(jù)自己的情況來(lái)修改PC端燒錄端口。
@echo off
echo+
echo+
echo **********************************************************************
echo Start to Program "QSPI Bootloader" and "App Image" to QSPI Flash......
echo **********************************************************************
echo+
echo+
python uart_uniflash.py -p COM17 --cfg= ospi_sbl+app.cfg
echo+
echo+
echo ******** Finished!!! ********
echo+
echo+
pause
ospi_sbl+app.cfg 文件:這里注意黃色標(biāo)識(shí)部分的路徑和文件名。
#-----------------------------------------------------------------------------#
# #
# DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT #
# #
#-----------------------------------------------------------------------------#
#
# By default this config file,
# - points to pre-built flash writer, bootloader for this LP
# - The application image points to relative path of the ipc echo application image for this LP
# - Make sure this application is built before running this script
# - You can customized this config file to point to your own bootloader and/or application images
# - You can use --operation=flashverify if you just want to verify the flash contents and not flash the file.
#
# First point to sbl_uart_uniflash binary, which function's as a server to flash one or more files
--flash-writer=sbl_uart_uniflash.release.tiimage
# Now send one or more files to flash or flashverify as needed. The order of sending files does not matter
# Program the OSPI PHY tuning attack vector
--operation=flash-phy-tuning-data
# When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0
--file=sbl_ospi.release.tiimage --operation=flash --flash-offset=0x0
# When sending application image, make sure to flash at offset 0x80000 (default) or to whatever offset your bootloader is configured for
--file=../Debug/adc_singleshot_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage --operation=flash --flash-offset=0x80000
# send the XIP image for this application, no need to specify flash offset since flash offset is specified within the image itself
#--file=../Debug/adc_singleshot_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage_xip --operation=flash-xip
準(zhǔn)備好這些文件后,把AM243x-LP配置為UART boot后上電,雙擊執(zhí)行@Prog-Boot+App.bat即可燒錄。
Figure 32 UART Programing Result
5.4 使用UART 啟動(dòng)模式燒錄QPSI SBL文件和應(yīng)用代碼Image
燒錄完成后,切換AM243x-LP為 QSPI BOOT 模式,用按鍵SW1 MCU_PORZ復(fù)位系統(tǒng),可以看到串口輸出的信息,這里可以看到OSPI Bootloader 的信息和 ADC demo 的信息輸出,到此完成了 RBL-SBL-APP 的啟動(dòng)過(guò)程。
Figure 33 ADC Program Running Result
6. 總 結(jié):
由于此類多核異構(gòu)MCU的構(gòu)架與通用MCU的構(gòu)架差異較大,在啟動(dòng)和調(diào)試帶來(lái)的挑戰(zhàn)也是顯而易見(jiàn)的。本文以AM243x的芯片構(gòu)架為切入點(diǎn),簡(jiǎn)要的介紹了AM243x的啟動(dòng)流程以及涉及到的SBL相關(guān)內(nèi)容,以ADC demo為例,結(jié)合AM243x-LP評(píng)估板,完整演示了RBL-SBL-APP 的啟動(dòng)過(guò)程,簡(jiǎn)要介紹了 UART 模式燒錄外部OSPI Flash的環(huán)境搭建和操作流程,方便用戶快速進(jìn)入AM243x 芯片的應(yīng)用開(kāi)發(fā)。
參考文檔:
- AM243x SitaraMicrocontrollers datasheet (Rev. B)
- AM64x/AM243x Technical Reference Manual (Rev. B)
- AM243x MCU+ SDK 08.00.00 User Guide
- AM243x LP User's Guide
-
芯片
+關(guān)注
關(guān)注
456文章
50886瀏覽量
424192 -
mcu
+關(guān)注
關(guān)注
146文章
17171瀏覽量
351443 -
嵌入式處理
+關(guān)注
關(guān)注
0文章
341瀏覽量
10019
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論