色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

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

德州儀器 ? 來(lái)源:德州儀器 ? 作者:德州儀器 ? 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,以及專門針對(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)用程序.

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信號(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。

poYBAGILECGAIcUcAAAgjBOjdKk210.png

Figure 3 BOOTMODE Pin Mapping

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

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

  1. Hardware 部分:這里主要指電源的上電過(guò)程,以及芯片內(nèi)部邏輯的初始化;
  2. 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)始工作;
  3. 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流程。

poYBAGILECqAZ1n6AABMpUGNOkM377.png

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í)行程序.

poYBAGILECuAPL8eAABBb2aoa10247.png

poYBAGILECyACO7GAAA-i0auHoA837.png

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信息的打印。

pYYBAGILEC6AfvfOAAC0QM2J5dY421.png

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)估板供電。

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插入的瞬間亮一次,之后熄滅,如果常亮,則代表供電有問(wèn)題。

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

pYYBAGILEDSAXICJAAA_uY05nPA676.png

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è)按鍵,其功能分別如下:

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對(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情況。

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)下更改撥碼開(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)。

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通過(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)。

poYBAGILEEiAcJPIAAB1Gua3YYM331.png

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 里面。

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ì)通過(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,方便命令行下操作。

pYYBAGILEEuAfqJRAABTQXjcHUc056.png

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 文件。

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需要通過(guò)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

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

pip install --upgrade pip

pip install pyserial xmodem tqdm

pYYBAGILEFKAVEeXAAD3Nc4Z47o829.png

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

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

接下來(lái)的燒錄操作需要在windows的command console里操作,為了方便這個(gè)流程,我們可以利用bat文件來(lái)直接執(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í)行了簡(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即可燒錄。

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

poYBAGILEFuASkWPAACFK1x1xtM703.png

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

參考文檔:

  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)容及配圖由入駐作者撰寫(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)注

    456

    文章

    50886

    瀏覽量

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

    關(guān)注

    146

    文章

    17171

    瀏覽量

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

    關(guān)注

    0

    文章

    341

    瀏覽量

    10019
收藏 人收藏

    評(píng)論

    相關(guā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為AM574xAM572xAM571x供電的用戶指南.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評(píng)估模塊

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

    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?開(kāi)發(fā)套件用戶指南

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

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

    電子發(fā)燒友網(wǎng)站提供《使用LP8733xx和 TPS65218xx PMIC為AM64xAM243x Sitara處理器供電應(yīng)用說(shuō)明.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)用說(shuō)明

    AM64x/AM243x延長(zhǎng)開(kāi)機(jī)時(shí)間應(yīng)用說(shuō)明

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

    使用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功耗評(píng)估工具

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

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

    電子發(fā)燒友網(wǎng)站提供《AM243x/AM64x單芯片伺服電機(jī)控制實(shí)現(xiàn)和基準(zhǔn)測(cè)試.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)測(cè)試

    使用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>入門指南

    TLV243x和TLV243xA低壓運(yùn)算放大器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TLV243x和TLV243xA低壓運(yùn)算放大器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-07 10:34 ?0次下載
    TLV<b class='flag-5'>243x</b>和TLV<b class='flag-5'>243</b>xA低壓運(yùn)算放大器數(shù)據(jù)表

    【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1-Vision Board上OSPI-Flash實(shí)踐

    本帖最后由 h1654155872.5480 于 2024-5-13 17:24 編輯 目的:使用RT-Thread Studio測(cè)試OSPI對(duì)板載norFlash的讀寫(xiě),使用FAL 抽象層
    發(fā)表于 05-11 16:52

    Ubuntu系統(tǒng)快速上手

    Ubuntu系統(tǒng)快速上手概述和操作說(shuō)明
    的頭像 發(fā)表于 04-12 16:25 ?557次閱讀
    Ubuntu系統(tǒng)<b class='flag-5'>快速</b><b class='flag-5'>上手</b>
    主站蜘蛛池模板: 看看妇女的B免费看| 亚洲国产AV无码综合在线| 91免费网站在线看入口黄| 精品欧美小视频在线观看| 一个人在线观看免费视频 | 儿子好妈妈的HD3中字抢劫| 麻豆免费观看高清完整视频在线| 羞羞答答的免费视频在线观看| 好看AV中文字幕在线观看| 在教室伦流澡到高潮HNP视频| 青柠视频在线观看高清HD| 国产乱对白精彩在线播放 | 国产精品一库二库三库| 影音先锋av电影| 熟女少妇内射日韩亚洲| 久久久久亚洲精品影视| 成人国产三级在线播放| 伊人久久综合谁合综合久久| 欧美巨大巨粗黑人性AAAAAA| 国产在线播放不卡| lesbabes性欧美| 野花日本大全免费高清完整版| 男人就爱吃这套下载| 国产伦精品一区二区三区精品 | 欧美.亚洲.日韩.天堂| 国产普通话精品久久| nxgx69日本护士| 在线日本v二区不卡| 亚洲国产综合久久精品| 日本一区二区三区在线观看网站 | 久久精品视频3| 国产特级毛片AAAAAAA高清| caoporm国产精品视频免费| 一级毛片免费视频网站| 无限好资源免费观看| 老司机福利在 线影院| 国产精品久久人妻无码网站一区无 | 国产精品人妻99一区二| 赤兔CHINESE最新男18GUY | 精品午夜中文字幕熟女人妻在线| 国产九色在线|