chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

AM243x-LP快速上手—Booting SBL和板載OSPI Flash燒錄

德州儀器 ? 來源:德州儀器 ? 作者:德州儀器 ? 2022-02-15 13:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 摘要:

AM243x 是TI Sitara產(chǎn)品線最新推出的高性能MCU+產(chǎn)品,是一種性能強(qiáng)勁的多核異構(gòu)MCU,擁有4顆800MHz 主頻的Cortex R5F核心和1顆400MHz 主頻的Cortex M4F,以及專門針對多協(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)品開發(fā)中,由于芯片在電源軌上的復(fù)雜性以及外設(shè)的豐富程度,不可避免的會(huì)接觸到系統(tǒng)復(fù)雜的boot環(huán)節(jié),以及多核調(diào)試帶來的挑戰(zhàn),本文以AM243x-LP評估板為例,對AM243x的booting相關(guān)內(nèi)容進(jìn)行了初步的介紹,并完整演示了RBL-SBL-APP的整個(gè)啟動(dòng)過程以及程序燒錄的方法。

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í)行用戶自定義的二級BOOT代碼,最后執(zhí)行應(yīng)用程序.

pYYBAGILEB6AWfW6AAAef6cmfU4697.png

Figure 1 BOOT 啟動(dòng)流程

2.1 上電時(shí)序和啟動(dòng)方式介紹

AM243x 芯片擁有多個(gè)電源域,為不同的內(nèi)部邏輯和外設(shè)供電,,下圖是AM243x的上電時(shí)序圖,可以在datasheet找到更詳細(xì)的介紹。

poYBAGILECCARPybAAAaveAtY3E466.png

Figure 2 Power Sequence

在滿足供電時(shí)序的情況下,MCU_PORz信號最終釋放了對內(nèi)核復(fù)位的控制, MCU_PORz的上升沿會(huì)鎖存SYS_BOOTMODE[0:15]這些管腳的上下拉狀態(tài),并由此確定芯片的啟動(dòng)模式和啟動(dòng)介質(zhì),然后由ROM Bootloader來讀取啟動(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盤等存儲(chǔ)器啟動(dòng);

注意:AM243x 有Primary Boot和Backup Boot功能,這意味著AM243x在Primary Boot失敗的情況下可以用 Backup Boot 來啟動(dòng),這個(gè)可以由 BOOTMODE 管腳進(jìn)行設(shè)置。

關(guān)于 BOOTMODE 管腳配置,我們可以看到是由16根信號線組成,其中高兩位為Reserved。其16bit對應(yīng)的是BOOTMODE 00-15這16根信號線,原理圖中對應(yīng)的管腳為GPMC0_AD0 – 15。

poYBAGILECGAIcUcAAAgjBOjdKk210.png

Figure 3 BOOTMODE Pin Mapping

PLL Config 針對不同的外部晶振頻率進(jìn)行配置。

pYYBAGILECOATOLUAAAh7b5C4eQ842.png

Figure 4 PLL Reference Clock Selection

Primary Boot 模式如下:

poYBAGILECSAO-eGAAAmwRBz6Pk840.png

pYYBAGILECWAIg1TAAAwJN2SSHs521.png

Figure 5 Primary Boot Mode Selection

Backup Boot 模式如下:(注意Backup模式下可啟動(dòng)的方式較少)

pYYBAGILECeAUsCwAAAooG3eGjc721.png

Figure 6 Backup Mode Selection

注意:由于ROM Code對不同的啟動(dòng)接口或介質(zhì)使用的管腳是固定的,在設(shè)計(jì)的過程中需要注意選擇對應(yīng)的管腳,詳細(xì)的管腳信息可以在Technical Reference Manual中查看。

2.2 ROM啟動(dòng)過程介紹

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è)部分:
  1. 設(shè)備管理;
  2. 在 BOOT_CFG中配置boot vectors,控制 R5內(nèi)核的reset釋放, 需特別指出,啟動(dòng)過程中DMSC是R5內(nèi)核的控制者;
  3. 通過主DMSS(Data Movement Subsystem)和Secure Proxy進(jìn)行IPC的配置;
  4. 對R5內(nèi)核和SA2UL(Security Accelerator)的PLL進(jìn)行配置;
  5. X509認(rèn)證的解析;
  6. SHA512算法對image integrity check的SA2UL配置;

Public ROM code:下圖是Public ROM code的框架。

pYYBAGILECiAS6hEAABCCGlVbYo916.png

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模式;

芯片上電后一級啟動(dòng)過程可以分為三部分:

  1. Hardware 部分:這里主要指電源的上電過程,以及芯片內(nèi)部邏輯的初始化;
  2. DMSC部分:DMSC ROM Code 會(huì)首先配置啟動(dòng)過程中看門狗WDT的溢出時(shí)間為180秒,接下來配置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信號,R5內(nèi)核開始工作;
  3. R5 內(nèi)核部分:R5 內(nèi)核拿到DMSC發(fā)送的Boot Device Info(由BOOTMODE管腳的配置決定)后,通過對應(yīng)的Boot模式開始啟動(dòng),R5內(nèi)核會(huì)請求DMSC對接收到的image代碼進(jìn)行image integrity check,如果成功則繼續(xù)向下執(zhí)行,如果Primary Boot的image無效,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ì)對Main Domain的PLL進(jìn)行配置,接下來DMSC會(huì)停止Clock并且Reset R5,R5在復(fù)位結(jié)束后開始執(zhí)行Boot Image(這里在RAM里面的Boot Image不受R5復(fù)位的影響,處于保持狀態(tài)),整個(gè)Boot流程完成,芯片開始二級BOOT流程。

poYBAGILECqAZ1n6AABMpUGNOkM377.png

Figure 8 Boot Process

2.3 二級SBL啟動(dòng)過程介紹

SBL的全稱是Second boot loader,用于完成芯片的一些初始配置,拷貝DMSC的SYSFW到片內(nèi)RAM以及加載多核應(yīng)用代碼。 下圖是一個(gè)典型的SBL流程. DMSC模塊會(huì)再次啟動(dòng)WDT看門狗并設(shè)定開門狗溢出時(shí)間為180秒。 R5 core 0執(zhí)行SBL代碼,先拷貝FLASH上的DMSC SYSFW到片內(nèi)RAM, DMSC ROM代碼對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ì)請求DMSC 釋放其他R5核的復(fù)位信號,所有內(nèi)核開始執(zhí)行程序.

poYBAGILECuAPL8eAABBb2aoa10247.png

poYBAGILECyACO7GAAA-i0auHoA837.png

Figure 9 SBL Boot Process

3.AM243x-LP 使用介紹:

AM243x-LP評估板提供了豐富的功能和接口,XDS110調(diào)試器也被集成在電路板上面,方便用戶的燒錄調(diào)試,同時(shí)USB轉(zhuǎn)UART功能也通過同一USB接口實(shí)現(xiàn),用于串口log信息的打印。

pYYBAGILEC6AfvfOAAC0QM2J5dY421.png

Figure 10 System Architecture

評估板上的另一個(gè)USB Type C接口用來供電,整板的電流會(huì)在2A左右,這里建議先連接Micro USB,建立串口連接后,然后再連接USB Type C接口。USB Type C的連接線需要使用標(biāo)準(zhǔn)的全功能連接線,否則無法與評估板上的CC邏輯控制器TUSB320LAIRWBR進(jìn)行正常通信,造成輸出電流配置不正常,無法正確對評估板供電。

poYBAGILEDCAc_bVAAEFF2_2rCs483.png

Figure 11 AM243x-LP Board

正常連接兩根USB線之后,板子上會(huì)有4個(gè)LED燈點(diǎn)亮,分別是LD6、LD7、LD8和LD11四個(gè)綠色LED燈。LD9紅色燈會(huì)在USB Type C插入的瞬間亮一次,之后熄滅,如果常亮,則代表供電有問題。

pYYBAGILEDGABcXNAAIvOaKmdU0469.png

pYYBAGILEDOAQSAVAAIWW7XLFvE660.png

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è)對應(yīng)設(shè)備,如下圖。

pYYBAGILEDSAXICJAAA_uY05nPA676.png

Figure 13 AM243x-LP Board USB Port

User UART對應(yīng)的是用戶可用的USB轉(zhuǎn)串口打印log的端口,在AM243x-LP評估板中對應(yīng)的是AM243x的MAIN_UART0接口。

下圖是AM243x-LP評估板上的四個(gè)按鍵,其功能分別如下:

poYBAGILEDaAE_KsAAII8XqLjBw503.png

pYYBAGILEDeAcbB3AAAl7KrD1a4661.png

Figure 14 AM243x-LP Board Push Buttons

在理解這幾種不同的Reset之前,我們先看看AM243x整個(gè)芯片構(gòu)成的兩個(gè)Domain,分別是MCU Domain和Main Domain,它們分別由下面的子模塊構(gòu)成。

pYYBAGILEDmARLBMAABgBxz4LxQ738.png

poYBAGILEDqAWowjAAAsXCaZqRs285.png

pYYBAGILEDyAXgE9AAAhPxhf72w281.png

Figure 15 AM243x Power Domain

我們可以看到在不同的Domain里面包含了不同的模塊和外設(shè),這個(gè)就決定了不同Domain對不同外設(shè)和模塊的控制權(quán)。在Reset部分,可以通過不同的Reset源對不同的Domain進(jìn)行獨(dú)立控制,也可以通過配置改變其控制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評估板上可以由8位撥碼開關(guān)來更改Boot配置,其中第8位沒有使用,是懸空狀態(tài),下面的表格列出了這7位配置對應(yīng)的Boot Mode情況。

pYYBAGILED2AWfy6AAAwWMuD0K0835.png

Figure 16 AM243x LP Boot Mode Selection Table

其中常用的三種模式如下圖所示:

poYBAGILED-AV9NpAAIASrx_weo088.pngpoYBAGILEEGAFkjTAAH7D0Y12Sw284.pngpoYBAGILEEKAbjMhAAH2EtmfrCA280.png

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)心。

pYYBAGILEESAJVzsAAA8YfsPih4136.png

Figure 17-2 AM243x LP Boot Mode Switch (Backup Mode Configuration)

可以在斷電狀態(tài)下更改撥碼開關(guān)的配置,然后重新上電?;蛘咴谕姷那闆r下改變撥碼開關(guān),然后用SW1按鈕實(shí)現(xiàn)MCU_PORz冷復(fù)位以使得新的Boot Mode生效。

4. SDK 例程中 SBL 的介紹:

如果要對 SDK 中的 SBL 程序在CCS中進(jìn)行編譯,需要額外安裝OpenSSL,可以在下面的地址下載light版本,

https://slproweb.com/download/Win64OpenSSL_Light-3_0_0.exe

在安裝的過程中,注意選擇 The Windows system directory選項(xiàng)。

poYBAGILEEWAIn1VAAByiSE-2Ck609.png

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)的工程。

pYYBAGILEEaAIwaMAABPXMMB-VY316.png

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通過Xmodem協(xié)議讀取并啟動(dòng)多核appimage代碼;
  • SBL UART Uniflash:配合py腳本的flash writer程序,用來燒錄OSPI Flash;

4.1 SBL boot image 創(chuàng)建

SBL 與一般的應(yīng)用程序類似,可以通過CCS來創(chuàng)建并編譯,在從 .out文件到boot image的轉(zhuǎn)化過程,其詳細(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è)操作可以通過增加link參數(shù) -e_vectors_sbl來實(shí)現(xiàn)。

poYBAGILEEiAcJPIAAB1Gua3YYM331.png

Figure 20 AM243x Link Command

在進(jìn)入main()函數(shù)之后,首先必須調(diào)用Bootloader_socLoadSysFw來加載 SYSFW 到 DMSC 的Cortex M3內(nèi)核,進(jìn)行 board config 操作。

備注:SYSFW默認(rèn)以 .h 頭文件的形式被編譯鏈接到SBL,啟動(dòng)過程中會(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 里面。

pYYBAGILEEmAT-91AACWoXsJZiE327.png

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ì)通過GCC的objcopy轉(zhuǎn)換成 .bin 文件,接下來會(huì)通過 Signing Scripts 簽名生成可啟動(dòng)的 .tiimage 文件,在這里會(huì)使用一個(gè)默認(rèn)的key來簽名,即使是非安全啟動(dòng)MCU芯片也需要走這個(gè)流程。這個(gè) Signing Script 會(huì)用到前面安裝的 OpenSSL。

RBL在加載SBL的時(shí)候是需要SBL為被簽名的格式,可以通過下面的命令來對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文件來演示一下,首先拷貝CCS生成的bin文件到C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\tools\boot\signing,方便命令行下操作。

pYYBAGILEEuAfqJRAABTQXjcHUc056.png

Figure 22 Signing Files Folder

注意:這里要用到 Windows 10下面的Powershell命令行環(huán)境,在開始菜單輸入Powershell并執(zhí)行,即可進(jìn)入界面,公司的電腦有可能對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

至此,我們在這里可以看到最終生成的可以用來啟動(dòng)的SBL的 tiimage 文件。

pYYBAGILEEyAbW5XAAAxpUn27i4379.jpg

Figure 23 Powershell console command execution

poYBAGILEE6AObawAABmTft1tpY913.png

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需要通過python腳本進(jìn)行燒錄,所需的Python 3 環(huán)境下載地址如下。

https://www.python.org/downloads/windows/

注意安裝Python的時(shí)候需要選擇把Python的路徑加入到系統(tǒng)路徑,安裝完成后可以在CMD Console下驗(yàn)證是否安裝成功。

pYYBAGILEE-AU60aAAB-oRi85BE312.png

Figure 25 Python Installation

poYBAGILEFGAXTz7AAA1ORBuve8041.png

Figure 26 Python Environment Check

接下來需要執(zhí)行下面的命令安裝與串口下載相關(guān)的組件,注意需要在管理員模式打開cmd窗口。

pip install --upgrade pip

pip install pyserial xmodem tqdm

pYYBAGILEFKAVEeXAAD3Nc4Z47o829.png

Figure 27 Python toolset installation

5.2 生成應(yīng)用代碼Image

打開 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

poYBAGILEFOAPxxdAABwwL0d7oU514.png

Figure 28 Import SDK ADC example into CCS

pYYBAGILEFWAGkhyAABxnccdcA8021.png

Figure 29 Confirm the example import

poYBAGILEFaAB5z1AACd8LgxPvg385.png

Figure 30 Build the example

編譯完工程后,我們可以看到生成的相關(guān)文件,其中.appimage是應(yīng)用程序要燒錄到外部 SPI Flash的文件。

5.3 使用UART 啟動(dòng)模式燒錄OSPI SBL文件和應(yīng)用代碼Image

接下來的燒錄操作需要在windows的command console里操作,為了方便這個(gè)流程,我們可以利用bat文件來直接執(zhí)行,提高效率。

在ccs的workspace目錄中adc_singleshot_am243x-lp_r5fss0-0_freertos_ti-arm-clang工程目錄下,我們新建一個(gè)文件夾,暫且命名為AM243xProgFlash,如下圖:

pYYBAGILEFiAa2SMAAA_M6pM4q4349.png

Figure 31 UART programing script files

在這個(gè)文件夾里面,@Prog-Boot+App.bat 是手工創(chuàng)建的,里面執(zhí)行了簡單的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è)路徑拷貝過來的。

其中sbl_ospi.release.tiimage 也可以使用上面我們編譯成功的 sbl_ospi 工程的 tiimage 文件。uart_uniflash.py 從C:\ti\mcu_plus_sdk_am243x_0x_xx_xx_xx\tools\boot 拷貝過來。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ù)自己的情況來修改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即可燒錄。

poYBAGILEFmAf4uhAACtWPJT7oY201.png

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)過程。

poYBAGILEFuASkWPAACFK1x1xtM703.png

Figure 33 ADC Program Running Result

6. 總 結(jié):

由于此類多核異構(gòu)MCU的構(gòu)架與通用MCU的構(gòu)架差異較大,在啟動(dòng)和調(diào)試帶來的挑戰(zhàn)也是顯而易見的。本文以AM243x的芯片構(gòu)架為切入點(diǎn),簡要的介紹了AM243x的啟動(dòng)流程以及涉及到的SBL相關(guān)內(nèi)容,以ADC demo為例,結(jié)合AM243x-LP評估板,完整演示了RBL-SBL-APP 的啟動(dòng)過程,簡要介紹了 UART 模式燒錄外部OSPI Flash的環(huán)境搭建和操作流程,方便用戶快速進(jìn)入AM243x 芯片的應(yīng)用開發(fā)。

參考文檔:

  1. AM243x SitaraMicrocontrollers datasheet (Rev. B)
  2. AM64x/AM243x Technical Reference Manual (Rev. B)
  3. AM243x MCU+ SDK 08.00.00 User Guide
  4. AM243x LP User's Guide
審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    52471

    瀏覽量

    440419
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17964

    瀏覽量

    366406
  • 嵌入式處理
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    10299
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    AN122 GD32H7系列MCU OSPI flash執(zhí)行環(huán)境用戶指南

    電子發(fā)燒友網(wǎng)站提供《AN122 GD32H7系列MCU OSPI flash執(zhí)行環(huán)境用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-17 15:57 ?3次下載
    AN122 GD32H7系列MCU <b class='flag-5'>OSPI</b> <b class='flag-5'>flash</b>執(zhí)行環(huán)境用戶指南

    AM570x 供電的 LP87332D 和 LP873220 用戶指南

    電子發(fā)燒友網(wǎng)站提供《為 AM570x 供電的 LP87332D 和 LP873220 用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-29 16:45 ?0次下載
    為 <b class='flag-5'>AM570x</b> 供電的 <b class='flag-5'>LP</b>87332D 和 <b class='flag-5'>LP</b>873220 用戶指南

    TPS659037為AM574xAM572xAM571x供電的用戶指南

    電子發(fā)燒友網(wǎng)站提供《TPS659037為AM574x、AM572xAM571x供電的用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-06 15:09 ?0次下載
    TPS659037為<b class='flag-5'>AM574x</b>、<b class='flag-5'>AM572x</b>和<b class='flag-5'>AM571x</b>供電的用戶指南

    AM64x/AM243x評估模塊

    電子發(fā)燒友網(wǎng)站提供《AM64x/AM243x評估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 11-14 14:13 ?1次下載
    <b class='flag-5'>AM64x</b>/<b class='flag-5'>AM243x</b>評估模塊

    AM64x/AM243x GP EVM用戶指南

    電子發(fā)燒友網(wǎng)站提供《AM64x/AM243x GP EVM用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-12 15:31 ?0次下載
    <b class='flag-5'>AM64x</b>/<b class='flag-5'>AM243x</b> GP EVM用戶指南

    AM243x LaunchPad?開發(fā)套件用戶指南

    電子發(fā)燒友網(wǎng)站提供《AM243x LaunchPad?開發(fā)套件用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:58 ?0次下載
    <b class='flag-5'>AM243x</b> LaunchPad?開發(fā)套件用戶指南

    LP8756x-Q1和LP8752x-Q1的穩(wěn)定性考慮

    電子發(fā)燒友網(wǎng)站提供《LP8756x-Q1和LP8752x-Q1的穩(wěn)定性考慮.pdf》資料免費(fèi)下載
    發(fā)表于 09-18 10:41 ?0次下載
    <b class='flag-5'>LP8756x</b>-Q1和<b class='flag-5'>LP8752x</b>-Q1的穩(wěn)定性考慮

    使用LP8733xx和 TPS65218xx PMIC為AM64xAM243x Sitara處理器供電應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《使用LP8733xx和 TPS65218xx PMIC為AM64xAM243x Sitara處理器供電應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-12 09:19 ?0次下載
    使用<b class='flag-5'>LP</b>8733xx和 TPS65218xx PMIC為<b class='flag-5'>AM64x</b>和<b class='flag-5'>AM243x</b> Sitara處理器供電應(yīng)用說明

    AM64x/AM243x延長開機(jī)時(shí)間應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《AM64x/AM243x延長開機(jī)時(shí)間應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 09:18 ?0次下載
    <b class='flag-5'>AM64x</b>/<b class='flag-5'>AM243x</b>延長開機(jī)時(shí)間應(yīng)用說明

    使用LP87334E PMIC的AM68x處理器電源解決方案,適用于工業(yè)應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《使用LP87334E PMIC的AM68x處理器電源解決方案,適用于工業(yè)應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:14 ?0次下載
    使用<b class='flag-5'>LP</b>87334E PMIC的<b class='flag-5'>AM68x</b>處理器電源解決方案,適用于工業(yè)應(yīng)用

    AM64x/AM243x功耗評估工具

    電子發(fā)燒友網(wǎng)站提供《AM64x/AM243x功耗評估工具.pdf》資料免費(fèi)下載
    發(fā)表于 09-05 09:29 ?0次下載
    <b class='flag-5'>AM64x</b>/<b class='flag-5'>AM243x</b>功耗評估工具

    AM243x/AM64x單芯片伺服電機(jī)控制實(shí)現(xiàn)和基準(zhǔn)測試

    電子發(fā)燒友網(wǎng)站提供《AM243x/AM64x單芯片伺服電機(jī)控制實(shí)現(xiàn)和基準(zhǔn)測試.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:35 ?0次下載
    <b class='flag-5'>AM243x</b>/<b class='flag-5'>AM64x</b>單芯片伺服電機(jī)控制實(shí)現(xiàn)和基準(zhǔn)測試

    使用TPS65219 PMIC為AM243x供電

    電子發(fā)燒友網(wǎng)站提供《使用TPS65219 PMIC為AM243x供電.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 09:25 ?0次下載
    使用TPS65219 PMIC為<b class='flag-5'>AM243x</b>供電

    AM263x控制卡快速入門指南

    電子發(fā)燒友網(wǎng)站提供《AM263x控制卡快速入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-27 10:35 ?0次下載
    <b class='flag-5'>AM263x</b>控制卡<b class='flag-5'>快速</b>入門指南

    AM263xAM263Px硬件設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《AM263xAM263Px硬件設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 10:04 ?1次下載
    <b class='flag-5'>AM263x</b>和<b class='flag-5'>AM</b>263Px硬件設(shè)計(jì)指南