MC56F83789支持 256KB闪存,带 ECC。内置双闪存块支持实时更新,高达 64KB RAM,以与内核相同的速度运行。增强型DMA。增加了引导ROM,以支持 UART、I2C和 CAN的代码更新。
高达16通道高分辨率PWM,分辨率为312ps。双路低功耗ADC,每个高达3MSPS。集成事件发生器(EVTG),集成USB 2.0 PHY 全速模式 OTG,CAN-FD外设,支持车规 AEC Q100 认证。
可用于电机控制、开电源应用场景,如 EV空调压缩机, 电动汽车充电器, 电源模块, 车载充电器,充电桩,太阳能离网逆变器, 家用储能等应用。
MC56F83xxx在片上 Flash中运行代码,因此Bootloader的主要任务是在制造生产期间或设备寿命期间的任何时间为内部 Flash 提供嵌入式固件应用程序更新。
MC56F83xxx具有片上ROM引导加载程序,这与 Kinetis 和 LPC系列相同,因为引导加载程序代码保存在 ROM中,引导加载程序无法修改。
它使用以下固定外设下载应用程序代码。Bootloader 通过充当从设备并监听主设备可以启动通信的各种外围端口来进行配置。
内置 BootRom 支持通过 I2C, UART, CAN 总线接口进行在线升级,无需额外的仿真调试工具。
如果用户设计目标板,想使用片上引导加载,则必须使用以下引脚。
下面演示用 blhost.exe软件和 MC56F83xxx内置的Boot进行通信。
BCA和闪存配置字段配置,片上闪存中有一个特殊的空间,称为BCA,位于 P:00x3C0,它提供了配置 Bootloader操作所需的所有参数。
对于未初始化的闪存,Bootloader使用预定义的默认配置。主机应用程序可以使用Bootloader对BCA进行编程,以便在引导加载器的后续初始化期间使用。
在P:0x400~0x40F处有一个名为Flash配置字段的特殊空间,必须设置FOPT(P:0x40D)的Bit7和Bit6,以便在复位启动时执行引导加载程序。
为了设置BCA配置和Flash配置字段,用户只需修改 Flash_config.c,它由CodeWarrior IDE软件为 MCU 工具自动创建。
基于CodeWarrior为 MCU V11.x版本软件生成 S-Record 固件文件,引导加载程序可以下载应用程序代码以闪存 S-Record格式文件。
如下图所示,S-Record文件可以由 CodeWarrior为 MCU工具生成,以便 blhost可以将 S-Record文件下载到 Flash。
请注意,必须选中“生成S记录文件”/“按地址排序”/“生成字节地址”的选项。
最大S记录长度设置为128,必须选择DOS模式,如下图所示。
请注意,由 blhost 工具下载的只能是*.elf.p.S文件而不是*.elf.S下载。限制:ROM 引导加载程序将其全局变量从 x:0x0000放入RAM,对它们没有保护。
如果使用“.S”或“.x.S”文件,可能会损坏ROM引导加载程序的变量。因此,需要将“.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
将应用程序代码和常量转储到文件中,以便用户比较应用程序代码和常量是否正确编写,或者当目标板从现场返回时,可以验证应用程序固件是否损坏。
打开 CodeWarrior 软件,创建新项目,通过点击 + 按钮添加任务及任务名。
选择项目,点击 Run->Debug 配置,调试配置菜单出现,选择“Attach”,同时点击 Debug按钮,PC端将会连接目标板。
在点击“Suspend” 按钮后,PC端将会和 DSC板子通信,可以看到 P flash 的内容,点击 Export 按钮,“Export Memory” 菜单将会出现。然后输入需要保存的文件名,保存 Flash的内容到该文件中。
可以看到 2.txt文件将包含 S-Record格式的文件数据。
备注:在安全模式下,JTAG端口被阻止访问,用户无法使用JTAG进行写入或读取。
但有一个后门,JTAG在安全模式下只接受大规模擦除命令,这样可以在安全模式中擦除所有 Flash 以保护代码,同时避免芯片 Flash一旦处于安全模式就永远无法写入的现象。
CW工具可以生成以下数组,并在将代码下载到 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启动,其他数值表示从 Flash启动 Flash */
0xFFU,
/* Reserved */
0xFFU,
/* Reserved */
0xFFU
};
#pragma section reserved_FCF end
审核编辑:刘清
-
压缩机
+关注
关注
11文章
680浏览量
79511 -
OTG
+关注
关注
2文章
150浏览量
45646 -
dma
+关注
关注
3文章
568浏览量
101193 -
ECC
+关注
关注
0文章
97浏览量
20689 -
数字信号控制器
+关注
关注
0文章
70浏览量
13277
原文标题:MC56F83789 数字信号控制器
文章出处:【微信号:嵌入式 MCU,微信公众号:嵌入式 MCU】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
TWR-56F8400:32位数字信号控制器开发方案
56F8xxx MCU开发系统用于便携式医疗设备,使用数字信号控制器MC56F802x / 3x系列
CW 11.1、DSC 2.7.3和MC56F83789-EVK报未安装目标的原因?
如果使用“DEMO56F8014 56F8014数字信号控制器演示板”套件?
基于56F8300数字信号控制器实现的数字AC/DC开关电源
基于dsPIC30F2010数字信号控制器(DSC)光伏水泵
![基于dsPIC30<b class='flag-5'>F</b>2010<b class='flag-5'>数字信号</b><b class='flag-5'>控制器</b>(DSC)光伏水泵](https://file1.elecfans.com//web2/M00/A5/4D/wKgZomUMN8yAXD-xAACEeGvztBE830.jpg)
飞思卡尔推出下一代数字信号控制器MC56F84xx
如何使用dsPIC30F2010数字信号控制器控制无传感器的BLDC电机
飞思卡尔MC56F827xx系列DSP的特性和在电机控制中的应用
高性能超尺寸数字信号控制器dsPIC33FJ16系列的功能特性及应用
![高性能超尺寸<b class='flag-5'>数字信号</b><b class='flag-5'>控制器</b>dsPIC33FJ16系列的功能特性及应用](https://file.elecfans.com/web1/M00/E7/4C/o4YBAGBhhlSAOShnAADL-Tfp9-k592.png)
评论