嗨,欢迎来到兆亿微波官方商城!
服务热线: 010-82888379  13718660290
购物车图片 购物车 ( )
全部商品分类

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

2026/1/13 11:35:48
浏览次数: 28

FM33LE0 支持以下 Flash 编程方法:

•在系统编程(ISP):通过 FMSH 专用编程器或者 KEIL 用户界面实施芯片编程,使用 SWD 接口

•在应用编程(IAP):通过 bootloader 代码实现芯片自编程,用户可定义任意串口,可用于实现程序在线升级

编程前必须对 Flash 进行擦除。Flash 支持三种擦除操作:全擦、扇区擦、页擦

一、Flash 擦写时钟

执行 Flash 擦写时使用校准后的 RCHF 时钟,但是系统时钟可以是任意时钟。NVMIF 根据当前RCHF 实际频率设置,来产生相应的计时长度。需要支持的 RCHF 频率为 8M、16M 和 24M。

擦写时钟独立于 CPU 时钟,两者之间作为异步时钟处理。

二、Flash 擦写方法

FM33LE0 支持 Flash 擦除操作,以及单次编程和连续编程。

Flash 擦写前须进行 Key 校验,写入顺序错误或写入值错误,或者在 Flash Key 验证正确之前就进行擦除或编程 Flash 操作将会进入错误状态,并产生相应中断。Flash Key 认证错误之后将禁止擦写

Flash 直到下一次复位。而在正常擦写完成后,向 KEY 寄存器写入任意值都会使状态机返回初始的写保护状态。状态转换如下图:

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

软件可以通过查询 FLSIF.KEYSTA 来确认当前 Key 输入状态。

三、全擦操作(Matrix Erase)

全擦操作只能由 SWD 接口启动,软件禁止进行全擦。全擦操作仅擦除 main array,不会擦除特殊信息扇区。SWD 可以在制造商或用户模式下启动全擦,操作流程如下:

•编程器通过 SWD 配置 ERTYPE 寄存器为 10

•编程器通过 SWD 清除 PREQ 寄存器,置位 EREQ 寄存器

•编程器通过 SWD 写入 Flash 全擦 Key:0x9696_9696 和 0x7D7D_7D7D

•SWD 向 Flash 任意地址写擦除请求 0x1234_ABCD

•芯片启动对 Flash 的全擦,并暂停任何 Master 对 Flash 的访问

•全擦完成后置位中断标志和全擦标志(全擦标志表示 main array 全部擦除,任何对 main array的编程将清除此标志)

•在全擦标志有效的情况下,SWD 可以任意擦写 NVR0,否则擦写 NVR0 被禁止并触发错误中断

•软件确认擦除结束后向 FlashKEY 寄存器写任意值恢复写保护

四、扇区擦操作(Sector Erase)

SWD 和应用代码都可以执行扇区擦。操作流程如下:

•配置 ERTYPE 寄存器为 00

•清除 PREQ 寄存器,置位 EREQ 寄存器

•写入 Flash 块擦 Key:0x9696_9696 和 0xEAEA_EAEA

•向需要擦除的 Page 内任意地址写擦除请求 0x1234_ABCD

•芯片检查目标扇区是否属于被 ACLOCK 锁定的 Block,如果没有锁定则启动对目标扇区的擦除,如果被锁定则触发错误标志

•扇区擦完成后置位中断标志

•软件确认擦除结束后向 FlashKEY 寄存器写任意值恢复写保护

五、页擦操作(Pgae Erase)

SWD 和应用代码都可以执行页擦。操作流程如下:

•配置 ERTYPE 寄存器为 00 或 11

•清除 PREQ 寄存器,置位 EREQ 寄存器

•写入 Flash 块擦 Key:0x9696_9696 和 0xEAEA_EAEA

•向需要擦除的扇区内任意地址写擦除请求 0x1234_ABCD

•芯片检查目标扇区是否属于被 ACLOCK 锁定的 Block,如果没有锁定则启动对目标扇区的擦除,如果被锁定则触发错误标志

•扇区擦完成后置位中断标志

•软件确认擦除结束后向 FlashKEY 寄存器写任意值恢复写保护

六、单次编程

单次编程由软件发起,通过总线直接写 Flash,每次操作只能执行 word 编程,操作流程如下:

•清除 EREQ 寄存器,置位 PREQ 寄存器

•清除连续编程使能寄存器

•写入 Flash 编程 Key:0xA5A5_A5A5 和 0xF1F1_F1F1

•向 Flash 目标地址写数据,如果目标地址被 ACLOCK 锁定,则触发错误标志,如果没有锁定,则执行编程

•编程完成后置位中断标志

•软件确认编程结束后向 FlashKEY 寄存器写任意值恢复写保护

七、连续编程

连续编程指通过 DMA 的 Memory 通道一次向 Flash 写入 half-sector(256 字节)。连续编程时 DMA从 RAM 指定地址读取数据,Flash 目标编程地址必须是 half-sector 对齐的,也就是 Flash 地址低 6位为 0。采用这种方式时一次编程的数据长度是固定的,主要用于快速大数据量写入。

在启动连续编程期间,DMA 完全占据 Flash 总线,暂停 CPU 对 Flash 的一切访问。连续编程的操作流程如下:

•清除 EREQ 寄存器,置位 PREQ 寄存器

•置位连续编程使能寄存器(DMA 模式使能)

•向 RAM 中写入 256 字节待编程数据

•配置 DMA 存储器通道,设定传输方向、读地址和写地址

•使能 DMA 存储器通道

•写入 Flash 编程 Key:0xA5A5_A5A5 和 0xF1F1_F1F1

•软件触发 DMA 存储器通道,DMA 连续 64 次读取 RAM 并对 Flash 编程,芯片每收到 1 个 word自动完成 4 次 byte program

•芯片检查被编程扇区是否被 ACLOCK 锁定,如果锁定则触发错误中断并通知 DMA 停止编程

•256 字节完全编程结束后产生中断,释放 Flash 总线

•软件确认编程结束后向 FlashKEY 寄存器写任意值恢复写保护

注意:如果 CPU 在 Flash 中取指时进行 Flash 擦写,则 CPU 取指将被暂停,直到擦写操作完成。如果 CPU 跳转到 RAM 中取指运行,则 Flash 擦写不会暂停 CPU 的执行。Flash 擦写过程中,若用户希望在 RAM 中执行代码时仍然能够实时响应中断,应将中断向量表重新映射到 RAM 中。

八、启动区交换(BootSwap)

BootSwap主要目的是,防止在系统更新启动代码时出现意外中断(停电、异常复位等),如果此时原来的启动代码已经被擦除,将导致芯片重启后无法正常运行。BootSwap功能通过编程informationpage3最低地址word实现。

BootSwap示意图如下:

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

实现BootSwap功能后,假设启动代码占据0000~1FFF共8KB空间,系统升级时应先将新的启动代码写入2000~3FFF地址,然后使能BootSwap。此时有几种可能性:

•芯片擦写2000~3FFF地址时掉电,由于原来的启动代码还在,不会影响重启

•芯片成功写入boot program1,然后使能bootswap并执行软复位,芯片重启后将执行bootprogram1

•芯片擦写boot program0时掉电,由于boot program1已经写入,将不影响后续运行另一种BootSwap应用方法如下图,为了保证可靠的更新启动代码,使用2nd 8KB物理空间作为原来Boot程序的备份,如果编程期间发生异常掉电,则触发BootSwap:

FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

如果启动程序更新期间没有发生异常掉电,则可以不执行软复位,无需真正Swap,仅需在更新原来的Boot程序前使能BootSwap,成功更新后撤销BootSwap即可:
FM33LE026低功耗 MCU 芯片的Flash 编程功能分析

推荐应用按照如下步骤升级:

•更新application program

•如需升级boot,先将新的boot程序写入第二个8KB空间

•配置information block,使能BootSwap

•执行软复位,重启后执行新的boot程序

•将第二个8KB空间改写为新的应用程序

逻辑地址对Flash物理地址的重映射由NVMIF模块完成,不论程序还是DEBUG都以逻辑地址进行访问。

寄存器标志(FLSIF.BTSF)来表示当前的Boot区是1st 8KB物理地址、还是2nd 8KB物理地址,用于给用户代码查询当前启动情况。

以上是关于其的一些相关信息,如有采购及选型需求,可联系兆亿微波电子元件商城

在线留言询价
推荐阅读
  • 点击次数: 4
    2026-09-18
    AD5522是一款高性能、高度集成的参数测量单元,由四个独立的通道组成。每个每引脚参数测量单元(PPMU)通道包括五个16位电压输出DAC,用于设置力电压输入、钳位输入和比较器输入(高和低)的可编程输入电平。有五个可编程的力和测量电流范围可供选择,范围从±5μA到±80mA。其中四个范围使用片上传感电阻器;使用片外感测电阻器,每个通道可提供高达±80mA的高电流范围。超过±80mA的电流需要外部放大器。低电容DUT连接(FOHx和EXTFOHx)确保该设备适用于无继电器测试系统。PMU功能通过与SPI、QSPI™、MICROWIRE™和DSP接口标准兼容的简单3线串行接口进行控制。50 MHz的接口时钟允许快速更新模式。还支持83 MHz的低压差分信号(LVDS)接口协议。每个通道都提供比较器输出,用于设备通断测试和表征。控制寄存器允许用户轻松更改力或测量条件、DAC电平和选定的电流范围。SDO(串行数据输出)引脚允许用户为诊断目的读回信息。特点四参数测量单元(PMU)FV、FI、FN(高Z)、MV、MI功能4个可编程电流范围(内部RSENSE)±5μA、±20μA、?00μA和?mA1个可编程电流范围高达±80mA(外部RSENSE)22.5 V FV范围,不对称操作集成16位DAC提供可编程电平片上增益和偏移校正适用于无继电器系统的低电容输出每个通道的片上比较器FI电压钳和FV电流钳保护驱动放大器系统PMU连接可编程温度关机SPI和LVDS兼容接口紧凑型80引脚TQFP,带外露焊盘(顶部或底部)应用程序自动测试设备(ATE)每引脚参数测量单位连续性和泄漏测试设备电源仪器仪表源测量单位(SMU)精密测量
  • 点击次数: 4
    2026-09-18
    MAX3051连接CAN协议控制器和控制器局域网(CAN)中总线的物理线路。MAX3051为总线提供差分传输能力,为CAN控制器提供差分接收能力。MAX3051主要用于不需要汽车行业(ISO 11898)规定的严格故障保护的+3.3V单电源应用。MAX3051具有四种不同的操作模式:高速、斜坡控制、待机和关机模式。高速模式允许数据速率高达1Mbps。斜率控制模式可用于对发射机的转换速率进行编程,以实现高达500kbps的数据速率。这减少了EMI的影响,从而允许使用非屏蔽的绞合或并联电缆。在待机模式下,发射器关闭,接收器拉高,将MAX3051置于低电流模式。在关机模式下,发射器和接收器关闭。MAX3051输入共模范围为-7V至+12V,超过了ISO 11898规范的-2V至+7V。这些特性以及可编程的转换速率限制使该零件成为非汽车、恶劣环境的理想选择。MAX3051提供8引脚SO和SOT23封装,可在-40°C至+85°C的扩展温度范围内运行。优势与特点•使用具有相同LDO的3V微控制器•低+3.3V单电源操作•共模范围超过ISO 11898标准(-2V至+7V)•宽-7V至+12V共模范围•使用最小的电路板空间•SOT23封装•灵活的操作优化了性能和功耗,减少了散热•四种操作模式高速运行高达1Mbps降低EMI的斜率控制模式(高达500kbps)待机模式低电流关机模式•强大的保护提高了系统可靠性•±12kV人体模型ESD保护•热关机•电流限制应用程序•打印机JetLink•工业控制和网络•电信背板•消费者应用
  • 点击次数: 4
    2026-09-18
    AD7192是一款适合高精密测量应用的低噪声完整模拟前端。它集成一个低噪声、24位Σ-Δ型模数转换器(ADC)。片内低噪声增益级意味着可直接输入小信号。接地和布局因为模拟输入和参考输入是差分的,所以模拟调制器中的大多数电压都是共模电压。该部件的高共模抑制消除了这些输入上的共模噪声。AD7192的模拟和数字电源是独立的,并且是单独固定的,以尽量减少设备模拟和数字部分之间的耦合。数字滤波器可抑制电源上的宽带噪声,调制器采样频率的整数倍除外。将R-C滤波器连接到每个模拟输入引脚,以在调制器采样频率下提供抑制。建议每个模拟输入端串联一个100Ω电阻器,模拟输入引脚之间有一个0.1µF电容器,每个模拟输入到AGND的电容器为0.01µF。数字滤波器还可以从模拟和参考输入中去除噪声,前提是这些噪声源不会使模拟调制器饱和。因此,AD7192比传统的高分辨率转换器更不受噪声干扰。然而,由于AD7192的分辨率如此之高,转换器的噪声水平如此之低,因此必须注意接地和布局。容纳ADC的印刷电路板(PCB)的设计必须使模拟和数字部分分开并限制在板的某些区域。这便于使用易于分离的接地平面。最小蚀刻技术通常最适合接地平面,因为它提供了最佳的屏蔽。虽然AD7192具有用于模拟和数字接地的单独引脚,但AGND和DGND引脚通过基板在内部连接在一起。因此,除非接地平面在AD7192附近连接在一起,否则用户不得将这两个引脚绑在单独的接地平面上。在AGND和DGND连接到系统中其他地方(即系统的电源)的系统中,不应在AD7192处再次连接,因为会产生接地回路。在这些情况下,建议将AD7192的接地引脚连接到AGND平面。在任何布局中,用户都必须记住系统中的电流流动,确保所有电流的路径尽可能接近电流到达目的地的路径。避免强迫数字电流流过AGND。避免在器件下方运行数字线路,因为这会将噪声耦合到...
  • 点击次数: 4
    2026-09-18
    PCA9306是一个双双向I²C总线和SMBus电压电平转换器,具有启用(EN)输入。PCA9306允许在1.0 V和5 V之间进行双向电压转换,而无需使用方向引脚。开关的低ON状态电阻(RON)允许以最小的传播延迟进行连接。当EN为高时,转换器开关打开,SCL1和SDA1 I/O分别连接到SCL2和SDA2 I/O,允许端口之间的双向数据流。当EN为低时,转换器开关关闭,端口之间存在高阻抗状态。PCA9306不是像PCA9509或PCA9517A那样的总线缓冲器,当总线两侧连接时,它既提供电平转换,又物理隔离总线两侧的电容。PCA9306仅在设备禁用时隔离两侧,并在激活时提供电压电平转换。PCA9306也可用于运行两条总线,一条工作频率为400 kHz,另一条工作温度为100 kHz。如果两条总线以不同的频率运行,当需要另一条总线的400 kHz运行时,必须隔离100 kHz总线。如果控制器以400kHz运行,由于转换器增加的延迟,最大系统工作频率可能小于400kHz。与标准I²C总线系统一样,需要上拉电阻器在转换器总线上提供逻辑高电平。PCA9306具有I²C总线的标准开路集电极配置。这些上拉电阻器的大小取决于系统,但转换器的每一侧都必须有一个上拉电阻器。该设备设计用于标准模式、快速模式和快速模式加I²C总线设备,以及SMBus设备。最大频率取决于RC时间常数,但通常支持>2 MHz。当SDA1或SDA2端口为低电平时,夹具处于ON状态,SDA1和SDA2端口之间存在低电阻连接。假设当SDA2端口为高时,SDA2端口上的电压较高,则SDA1端口的电压限制为VREF1设置的电压。当SDA1端口为高时,SDA2端口被上拉电阻器拉到漏极上拉电源电压(Vpu(D))。此功能允许用户选择的较高和较低电压之间的无缝转换,而不需要...
  • 点击次数: 3
    2026-09-18
    ADCLK948是一款超快时钟扇出缓冲器,采用ADI公司专有的XFCB3硅-锗(SiGe)双极性工艺制造,设计用于要求低抖动的高速应用。PCB布局注意事项ADCLK948缓冲器专为超高速应用而设计。因此,必须使用高速设计技术来实现指定的性能。作为多层板的一部分,将低阻抗电源平面用于负电源(VEE)和正电源(VCC)平面至关重要。为开关电流提供最低电感返回路径可确保目标应用中的最佳性能。以下对GND平面的引用假设VEE电源平面接地以进行LVPECL操作。注意,对于ECL操作,VCC电源平面成为接地平面。充分绕过输入和输出电源也很重要。将1µF电解旁路电容器放置在每个VCC电源引脚到GND平面的几英寸内。此外,将多个高质量的0.001µF旁路电容器尽可能靠近每个VCC电源引脚,并用冗余通孔将电容器连接到GND平面。仔细选择高频旁路电容器,以获得最小电感和ESR。为了提高高频旁路的有效性,请尽量减少寄生布局电感。此外,避免输入和输出传输线上的不连续性,因为这会影响抖动性能。在50Ω的环境中,输入和输出匹配对性能有重大影响。缓冲器为CLKx和CLKx输入提供内部50Ω终端电阻器。通常,返回侧连接到提供的参考引脚。使用陶瓷电容器小心地绕过终端电势,以防止由于终端返回路径中的寄生电感导致的输入信号上的不期望的畸变。如果输入端直流耦合到电源,请注意确保引脚在额定输入差模和共模范围内。如果返回是浮动的,则设备具有100Ω的交叉端接,但电源必须控制共模电压并提供输入偏置电流。输入引脚之间有ESD/箝位二极管,以防止应用程序对输入晶体管产生过大的偏移。ESD二极管没有针对最佳交流性能进行优化。当需要夹具时,建议使用合适的外部二极管。
热门分类
关于我们

───  公众号二维码  ───

兆亿微波商城微信公众号

兆亿微波商城www.rfz1.com是一个家一站式电子元器件采购平台,致力于为广大客户提供高质量、高性能的电子元器件产品。产品覆盖功放器件、射频开关、滤波器、混频器、功分器、耦合器、衰减器、电源芯片、电路板及射频电缆等多个领域,平台主营业务涵盖电子元器件现货销售、BOM配单及提供产品配套资料等,为客户提供一站式供应链采购服务。 

  • 品质 • 正品行货 购物无忧
  • 低价 • 普惠实价 帮您省钱
  • 速达 • 专业配送 按时按需
Copyright ©2020 - 2021 兆亿微波科技有限公司
X
1

QQ设置

    1
3

SKYPE 设置

4

阿里旺旺设置

5

电话号码管理

电话 电话 电话
010-82888379
    1
6

二维码管理

    1
返回顶部
展开