MC56F83789支持 256KB閃存,帶 ECC。內(nèi)置雙閃存塊支持實時更新,高達 64KB RAM,以與內(nèi)核相同的速度運行。增強型DMA。增加了引導(dǎo)ROM,以支持 UART、I2C和 CAN的代碼更新。
高達16通道高分辨率PWM,分辨率為312ps。雙路低功耗ADC,每個高達3MSPS。集成事件發(fā)生器(EVTG),集成USB 2.0 PHY 全速模式 OTG,CAN-FD外設(shè),支持車規(guī) AEC Q100 認證。
可用于電機控制、開電源應(yīng)用場景,如 EV空調(diào)壓縮機, 電動汽車充電器, 電源模塊, 車載充電器,充電樁,太陽能離網(wǎng)逆變器, 家用儲能等應(yīng)用。
MC56F83xxx在片上 Flash中運行代碼,因此Bootloader的主要任務(wù)是在制造生產(chǎn)期間或設(shè)備壽命期間的任何時間為內(nèi)部 Flash 提供嵌入式固件應(yīng)用程序更新。
MC56F83xxx具有片上ROM引導(dǎo)加載程序,這與 Kinetis 和 LPC系列相同,因為引導(dǎo)加載程序代碼保存在 ROM中,引導(dǎo)加載程序無法修改。
它使用以下固定外設(shè)下載應(yīng)用程序代碼。Bootloader 通過充當(dāng)從設(shè)備并監(jiān)聽主設(shè)備可以啟動通信的各種外圍端口來進行配置。
內(nèi)置 BootRom 支持通過 I2C, UART, CAN 總線接口進行在線升級,無需額外的仿真調(diào)試工具。
如果用戶設(shè)計目標板,想使用片上引導(dǎo)加載,則必須使用以下引腳。
下面演示用 blhost.exe軟件和 MC56F83xxx內(nèi)置的Boot進行通信。
BCA和閃存配置字段配置,片上閃存中有一個特殊的空間,稱為BCA,位于 P:00x3C0,它提供了配置 Bootloader操作所需的所有參數(shù)。
對于未初始化的閃存,Bootloader使用預(yù)定義的默認配置。主機應(yīng)用程序可以使用Bootloader對BCA進行編程,以便在引導(dǎo)加載器的后續(xù)初始化期間使用。
在P:0x400~0x40F處有一個名為Flash配置字段的特殊空間,必須設(shè)置FOPT(P:0x40D)的Bit7和Bit6,以便在復(fù)位啟動時執(zhí)行引導(dǎo)加載程序。
為了設(shè)置BCA配置和Flash配置字段,用戶只需修改 Flash_config.c,它由CodeWarrior IDE軟件為 MCU 工具自動創(chuàng)建。
基于CodeWarrior為 MCU V11.x版本軟件生成 S-Record 固件文件,引導(dǎo)加載程序可以下載應(yīng)用程序代碼以閃存 S-Record格式文件。
如下圖所示,S-Record文件可以由 CodeWarrior為 MCU工具生成,以便 blhost可以將 S-Record文件下載到 Flash。
請注意,必須選中“生成S記錄文件”/“按地址排序”/“生成字節(jié)地址”的選項。
最大S記錄長度設(shè)置為128,必須選擇DOS模式,如下圖所示。
請注意,由 blhost 工具下載的只能是*.elf.p.S文件而不是*.elf.S下載。限制:ROM 引導(dǎo)加載程序?qū)⑵淙肿兞繌?x:0x0000放入RAM,對它們沒有保護。
如果使用“.S”或“.x.S”文件,可能會損壞ROM引導(dǎo)加載程序的變量。因此,需要將“.p.s”文件與ROM一起使用。
Blhost -p com19 get property 1
Blhost-p com19 flash erase all unsecure //mass erase and set the DSC in unsecure mode by setting the P:0x40C byte in BYTE address mode
Blhost -p com19 flash image *.s19 erase
將應(yīng)用程序代碼和常量轉(zhuǎn)儲到文件中,以便用戶比較應(yīng)用程序代碼和常量是否正確編寫,或者當(dāng)目標板從現(xiàn)場返回時,可以驗證應(yīng)用程序固件是否損壞。
打開 CodeWarrior 軟件,創(chuàng)建新項目,通過點擊 + 按鈕添加任務(wù)及任務(wù)名。
選擇項目,點擊 Run->Debug 配置,調(diào)試配置菜單出現(xiàn),選擇“Attach”,同時點擊 Debug按鈕,PC端將會連接目標板。
在點擊“Suspend” 按鈕后,PC端將會和 DSC板子通信,可以看到 P flash 的內(nèi)容,點擊 Export 按鈕,“Export Memory” 菜單將會出現(xiàn)。然后輸入需要保存的文件名,保存 Flash的內(nèi)容到該文件中。
可以看到 2.txt文件將包含 S-Record格式的文件數(shù)據(jù)。
備注:在安全模式下,JTAG端口被阻止訪問,用戶無法使用JTAG進行寫入或讀取。
但有一個后門,JTAG在安全模式下只接受大規(guī)模擦除命令,這樣可以在安全模式中擦除所有 Flash 以保護代碼,同時避免芯片 Flash一旦處于安全模式就永遠無法寫入的現(xiàn)象。
CW工具可以生成以下數(shù)組,并在將代碼下載到 Flash時將其寫入Flash 中的配置字段。
#pragma define_section reserved_FCF "reserved_FCF.text" RX
#pragma section reserved_FCF begin
static const uint8_t _flash_config_field[] = {
/* NV_BACKKEY3: KEY=0xFF */
0xFFU,
/* NV_BACKKEY2: KEY=0xFF */
0xFFU,
/* NV_BACKKEY1: KEY=0xFF */
0xFFU,
/* NV_BACKKEY0: KEY=0xFF */
0xFFU,
/* NV_BACKKEY7: KEY=0xFF */
0xFFU,
/* NV_BACKKEY6: KEY=0xFF */
0xFFU,
/* NV_BACKKEY5: KEY=0xFF */
0xFFU,
/* NV_BACKKEY4: KEY=0xFF */
0xFFU,
/* NV_FPROT3: PROT=0xFF */
0xFFU,
/* NV_FPROT2: PROT=0xFF */
0xFFU,
/* NV_FPROT1: PROT=0xFF */
0xFFU,
/* NV_FPROT0: PROT=0xFF */
0xFFU,
/* NV_FSEC: KEYEN=1,MEEN=3,FSLACC=3,SEC=2 */
0x7EU,
/* NV_FOPT: FOPT[7:6] = 11b 表示從ROM啟動,其他數(shù)值表示從 Flash啟動 Flash */
0xFFU,
/* Reserved */
0xFFU,
/* Reserved */
0xFFU
};
#pragma section reserved_FCF end
審核編輯:劉清
-
壓縮機
+關(guān)注
關(guān)注
11文章
676瀏覽量
79426 -
OTG
+關(guān)注
關(guān)注
2文章
149瀏覽量
45526 -
dma
+關(guān)注
關(guān)注
3文章
566瀏覽量
100870 -
ECC
+關(guān)注
關(guān)注
0文章
97瀏覽量
20615 -
數(shù)字信號控制器
+關(guān)注
關(guān)注
0文章
70瀏覽量
13253
原文標題:MC56F83789 數(shù)字信號控制器
文章出處:【微信號:嵌入式 MCU,微信公眾號:嵌入式 MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論