RL78自编程升级程序操作指南
RL78/G13 系列微控制器(MCU)可以对它们内部的flash 进行编程。本文提供了以R5F100LE微控制器为参考的flash 自编程应用的概述。
为了使开发工具的自编程特性得到更好的应用,RENESAS 提供了能实现所有必需功能的示例库。你可以获得该自编程示例库二进制格式代码,该示例代码包括bootloader 程序以及自编程应用例子。
为了对flash 存储器编程,RL78/G13 MCU 需要执行位于隐藏ROM 中的代码。可以调用这些隐藏的函数来检查没有使用的区域(空白检查),对MCU 内任何可用的存储单元擦除或写代码,为了实现该功能,应用程序中必需包含能够访问这些隐藏固件的代码,因此为了能够自编程必需预先对MCU 的flash 写入这些代码。
自编程特点
• 自编程功能利用了NEC 的单电压flash 存储器技术,仅仅需要MCU 的Vcc 电源。
• 可以对MCU 内所有flash 存储器进行自编程。
• 可以采用MCU 的任何接口方式输入数据,只要通过内部RAM 即可。
• 最小的编程单位为4 字节。
• 一次最大编程单位为256 字节。
• 最小擦除或空白检查的单位是1flash 存储器块(1 KB) .
• MCU 提供两个4-KB 簇拥来存储bootloader 程序,内置的启动交换功能可以自己更新bootloader。
• 在执行自编程函数时可以响应中断。
• 软性和硬件条件监控防止对存储器的误操作。
• 当执行隐藏ROM 内的函数时,CPU 使用内部8-MHz 振荡器。
自编程需求
• 5至256字节 RAM 作为数据缓冲区。
• 最大56字节 RAM 作为隐藏 ROM 函数的堆栈。
• 最大1350字节自编程库文件。
RL78/G13 Flash体系结构
1)Flash块
如下图所示, RL78/G13的flash 存储器按1KB 分块(block)。这是空白检查、擦除和校验的最小单位。
2)启动簇
Flash 存储器的前8 块组成了两个4-KB 大小的启动簇(启动簇0 和启动簇1)。这两个簇一起完成MCU 的启动交换功能,允许bootloader 自我更新。
3)Flash 字
4 字节的字是能够写到数据缓冲区的最小单位,最大是64 个字(256 字节)。
4)启动交换功能
RL78/G13 自编程支持启动交换功能,在即使在电气噪声或者掉电的情况下也可以替换缺省的启动区域的函数(启动簇0)。在自编程的典型应用中,启动簇0 中包含了执行自编程所有必要操作的bootloader 代码。为了更新在自编程中使用的bootloader,先要将新的bootloader 写入启动簇1 中,然后使用启动交换功能使CPU 从新的代码启动。
5)中断处理
MCU 的中断逻辑可以中断写或擦除等自编程操作。与正常处理方式不同的是中断响应时间还包含响应中断前为了完成自编程处理的延迟时间。通过自编程函数的返回值,可以确定是否是再次执行中被中断打断的操作。
自编程流程实现
1)使用示例库的自编程流程:
2)使用引导交换
3)引导交换原理
引导交换流程如下:
自编程举例
演示平台
RL78/G13 R5F100LE-TB
UART1 串行通信
bootloader通讯
UART1通讯配置:
• 115200 bps
• 8 位数据
• 无校验
• 1 位停止位
• XON/XOFF 流控制
操作步骤
1)装载程序起始
当MCU 启动时,不管是上电还是复位,设备通过另外终端显示下列提示信息。
RENESAS Electronics CHINA Bootloader Ver1.0 Load Y/N?
如果输入Y,设备提示下载新的引用文件。设备认为该文件为标准的Inter 16 进制文件(细如果输入N,或者几秒内没有输入,MCU检测有效的应用程序执行。
2)装载
如果启动的时候输入Y ,bootloader 会提示发送文件:Send File可以使用终端中的Send 或者Transfer File 命令发送文件。
3)接收数据
bootloader 将输入的数据载入到接收缓冲区中。当缓冲区满时,bootloader 会发送一个XOFF 字符暂停数据流,继续处理剩余的数据直到再也接收不到数据。超时后MCU 从接收循环中退出并开始处理数据。值得注意的是在接收缓冲区满以前接收数据就停止的情况下也有相同的超时机制。
4)处理接收数据
Bootloader 检查接收缓冲区中的数据并执行以下任务:
• 检查每一行的检验和是否正确
• 检查行地址是否中断(不连续的地址)
• 设置编程地址
• 从待编程的数据中提取数据到数据缓冲区中
• 编程数据
• 将没有编程的数据移至接收缓冲区的开始
• 检查是否文件的结尾
• 在返回接收循环前发送XON
Bootloader 处理接收缓冲区并存储开始编程地址。Bootloader 先将连续地址的数据存到数据缓冲区中。当处理完接收缓冲区中的所有数据或者遇到一个地址中断时会对数据缓冲区中的数据进行编程。接着将所有没有编程的数据 移至接收缓冲区的开始。然后发送一个XON 字符并回到原先的接收循环中。这种XON/XOFF 接收/编程时序继续直到bootloader 检测到文件的结尾。
注意事项:目前提供的该示例bootloader 仅能处理Intel Hex 16 进制文件中的‘00’(数据) 格式。
5)擦除
bootloader 在把应用代码写入flash 前要执行擦除命令。如果此时在该过程中出现了错误引起bootloader 复位,应用flash 仍然有效。
6)编程
Bootloader 通过指定地址和要编程的字数对缓冲区的数据进行编程。Bootloader 每次编程都会输出开始地址以便可以监控进展,如下:
Programming at ..
101C
102C
112C
…
7)执行应用程序
MCU 成功装载新的代码后,立即执行新代码。不管该代码是刚刚下载还是上电或者复位,bootloader 在执行应用程序前总是先检查应用程序的校验和是否有效。
8)引导交换
替换微控制器中的bootloader 需要使用一个叫引导交换的程序。该程序涉及两个bootloader——一个已经在MCU 的启动簇内,还有一个新的需要存在启动簇内。在下面的启动交换步骤中分别称这两个为bootloader A 和bootloader B。
Bootloader A 检查发送文件的首地址,如果该地址是复位地址0000H,bootloader 就知道该文件中包含新的bootloader 代码而非应用程序,Bootloader A 擦除启动簇1 (块4 到7)。
尽管Bootloader B (新的bootloader) 地址在0000H–0FFFH 的范围(启动簇0),Bootloader A 必须把新代码存到1000H–1FFFH 的范围(启动簇1)。Bootloader A 在编程前对所有的地址加上一个偏移量1000H。
对区域1000H-1FFFH 编程后,Bootloader A 提示你替换bootloader 代码。如果决定替换
Bootloader A,将设置启动交换标志并通过看门狗时间溢出强制MCU 复位。复位时MCU 看到设置了启动交换标志便从启动簇1 开始执行。
Bootloader B 检查启动交换标志。如果该标志被设置,Bootloader B 擦除启动簇0 (Bootloader A)并将自身复制到该区域。
将启动簇1 复制到启动簇0 后,Bootloader B 清除启动交换标志并允许看门狗溢出再次强制复位。
在此次新的复位时,MCU 看到清除了启动交换标志,便从启动簇0 (Bootloader B)开始执行。
根据启动交换标志,程序从0000H 或者1000H 启动。
该例子中不包含任何中断服务程序。
使用Cubesuite+开发自编程代码
为了使用flash 自编程功能,需要将你的代码分为两部分:启动区域和应用区域。这种划分允许更新应用代码而不用破坏bootloader 程序。另外,也可以通过MCU 的启动交换功能实现bootloader自我更新。
工具设置
BOOT Project:
Compiler Options
Link Options
USER Project
Compiler Options
Link Options
Object Convert Options
超级终端设置
1)设置连接名称:
2)选择对应COM端口:
3)选择相应波特率及数据控制方式:
4)设置完成,通讯等待:
示例程序:
boot project
use project
- |
- +1 赞 0
- 收藏
- 评论 0
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】如何使用RL78/G14定时器RD的PWM功能——操作步骤篇
瑞萨RL78/G14系列MCU整合了高级定时器模块“Timer RD”、“Timer RG”及“Timer RJ”,具有脉冲波调制(PWM)功能,能够输出(6个)具有用户指定振幅的三相波形。
【经验】瑞萨RL78微控制器CAN模块基础使用指引,以RL78/F13系列的R5F10BBF微控制器为例
瑞萨汽车电子推出的RL78/F13微控制器系列,集成车载CAN总线模块,支持ISO11898-1 ,CAN2.0A&B协议。适用于汽车控制系列,如BCM,空调控制,TPMS,RKE,PEPS等运用。 本文以R5F10BBF为例,介绍瑞萨RL78芯片的CAN模块基本配置。
【技术大神】简化配置,快速开发—瑞萨Applilet使用手记
Applilet配置工具可以为初次使用瑞萨单片机的工程师们省去大量阅读芯片寄存器的时间与精力,图形化的配置方式简单,清楚明了地展示瑞萨单片机的硬件资源与配置参数。
极海半导体(Geehy Semiconductor)汽车电子芯片 选型指南
描述- 极海汽车电子芯片产品布局通用微控制器/微处理器、传感器、接口、驱动等多条产品线,战略聚焦车身控制、信息娱乐系统、BMS电池管理系统及域控等领域,提供符合ISO 26262功能安全标准、安全可靠、质量稳定的芯片产品与应用方案,并为客户提供丰富的开发生态与本地化技术支持。通过优质的服务和多元化的产品组合,满足汽车电子行业日益增长的应用需求,协助客户实现快速量产,助力国产汽车产业向上发展。
型号- G32A1445UAT0MLL,G32A1465UAT0MLL,G32A1445UAT0MLH,G32A1465UAT0MLH,APM32F103RCT7,APM32A407VGT7,APM32A407,APM32A103,APM32A103CBT7,APM32F003F6U7,GURC01,APM32A407ZGT7,APM32A103系列,APM32A091RCT7,APM32A091,APM32,APM32F072RBT7,APM32A091系列,APM32A407系列,G32A1445系列,APM32A103RET7,APM32A103VET7,APM32F072CBT7,G32A1445,G32A
世界上最节能的微控制器EFM32之十大低功耗奥秘
Silicon Labs EFM32 32 位微控制器系列是世界上最为节能的微控制器,特别适用于低功耗和能源敏感型应用,包括能源、水表和燃气表、楼宇自动化、警报及安防和便携式医疗/健身器材。本文着重强调10个Silicon Labs32位MCU功耗低的因素。
极海半导体加入深圳市汽车电子行业协会,共同推动国产汽车电子产业持续健康向上发展
热烈祝贺珠海极海半导体有限公司加入深圳市汽车电子行业协会,成为深圳市汽车电子行业协会的副会长单位!珠海极海半导体有限公司,是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,为客户提供核心可靠的芯片产品,实现准确感应、安全传输和实时控制。
【产品】16位微处理器S1C17M33、SICI17W3X,睡眠电流分别低至0.2uA、0.15uA
EPSON推出的微处理器S1C17M33、SICI17W34/SICI17W35/SICI17W36都属于低电压、低电流微处理器,可大幅延长产品电池寿命,它们嵌入式电路部分可帮助客户降低总产品数量、节省板子空间和减少软件开发时间,也均可驱动LCD显示模式,可广泛应用于通信设备、工业电子、汽车电子及消费电子领域。
雅特力携工业控制、电机控制、消费电子、智能家居及汽车电子等领域近百款产品与方案亮相ELEXCON 2022
雅特力作为32位微控制器的创新领导者,携工业控制、电机控制、消费电子、智能家居及汽车电子等五大领域近百款产品与方案亮相此次展会,全面展示了雅特力最新技术与成果,吸引了众多电子行业人士参观交流!
【产品】中微半导体首款RISC-V内核的32位微控制器ANT32RV56xx问世,可满足消费电子对高算力、低功耗的要求
近日,中微半导体宣布正式发布首款集成RISC-V内核的32位微控制器-ANT32RV56xx,轻松应对消费电子对高算力、低功耗的要求。ANT32RV56xx设计旨在以超强外设和丰富资源减少驱动电路的元器件数量,以更高效的设计提升系统控制效率。
【技术】如何进行可编程逻辑模块设计简化微处理器应用
为了帮助读者理解可编程逻辑高度的灵活性,本文将介绍在一般的微控制器上可编程逻辑的应用操作,以及怎样利用可编程逻辑去开发性价比超高的应用。
Silicon Labs(芯科科技) C8051T6xx/3xx一次性可编程(OTP)USB微控制器 培训文档
描述- 本文介绍了Silicon Labs的C8051T62x/32x系列USB OTP微控制器。该系列产品旨在降低成本、简化设计并缩短开发时间,具有无晶振USB操作能力、高性能处理核心和OTP版本。文章详细比较了OTP和闪存设备的不同,包括代码存储、特殊功能寄存器、模拟考虑、电源电压、低功耗模式和时钟选项等方面的差异。此外,还介绍了C8051T62x/32x开发套件、所需的软件、开发流程以及如何将应用程序移植到OTP设备。最后,文章总结了Silicon Labs USB解决方案的优势,包括降低成本、简化设计和缩短开发时间,以及提供全面的支持和软件生态系统。
型号- C8051T61X,C8051T623-GM,C8051T604-GS,C8051T600-GM,C8051T633-GW,C8051T627-B-GM,C8051T604-GM,C8051T603-GMR,C8051T610-GQR,C8051T320,C8051T321,C8051T322,C8051T323,C8051T617-GM,C8051T600,C8051T601,C8051T326,C8051T602,C8051T327,C8051T603,C8051T632-GM,C8051T604,C8051T605,C8051T62X,C8051T606,C8051T60X,C8051T630-GW,C8051T622-GM,C8051T601-GM,C8051T326-GM,C8051T322-GM,C8051T321-GMR,C8051T605-GM,C8051T635-GMR,C8051T626-B-GM,C8051T630,C8051T631,C8051T632,C8051T633,C8051T600-GSR,C8051T634,C8051T635,C8051T634-GMR,C8051T633-GM,C8051T617-GMR,C8051T630-GM1R,C8051T631-GW,C8051T602-GM,C8051T327-GM,C8051T323-GM,C8051T633-GMR,C8051T621-GM,C8051T632-GMR,C8051T620,C8051T630-GM,C8051T621,C8051T622,C8051T623,C8051T320-GQ,C8051T32X,C8051T626,C8051T630-GM1,C8051T634-GM,C8051T627,C8051T606-GMR,C8051T630-GDI,C8051T620DK,C8051T620-GM,C8051T631-GMR,C8051T604-GSR,C8051T610,C8051T631-GM,C8051T611,C8051T612,C8051T613,C8051T614,C8051T615,C8051T63X,C8051T616,C8051T630-GMR,C8051T635-GM,C8051T617
EFM8BB1系列8位微控制器 参考手册
描述- 该资料详细介绍了EFM8BB1系列微控制器的特性、功能和应用。EFM8BB1是一款多功能的8位微控制器,具有高效的核心、丰富的模拟和通信外设,适用于空间受限的应用。主要特点包括:25 MHz的C8051核心、多达18个多功能、5 V容错的I/O引脚、12位ADC、两个低电流模拟比较器、集成温度传感器、3通道增强型PWM/PCA、四个16位定时器、UART、SPI和SMBus/I2C。此外,资料还涵盖了系统概述、内存组织、特殊功能寄存器、闪存存储器等功能模块的详细说明。
型号- EFM8BB10F2G-QFN20,EFM8BB10F8I-A-QSOP24,EFM8BB10F2,EFM8BB10F4,EFM8BB10M1069F8GM,EFM8BB10M1069F8GM-AR,EFM8BB10F8,EFM8BB10F8G-A-QSOP24,EFM8BB10F8I-A-QFN20,EFM8BB10F2G-A-QFN20R,EFM8BB10F2G-A-QFN20,EFM8BB10F8G-A-SOIC16,EFM8BB10F8G-A-QFN20,EFM8BB10F8G-A-SOIC16R,EFM8BB10M1069F8GM-A,EFM8BB1,EFM8BB10F4G-A-QFN20R,EFM8BB10F4G-A-QFN20,EFM8BB10F2I-A-QFN20R,EFM8BB10F2G,EFM8BB10F8G-A-QFN20R,EFM8BB10F8G-A-QSOP24R,EFM8BB10F8G-QSOP24,EFM8BB10F2I-A-QFN20,EFM8BB10F8G-QFN20,EFM8BB10F8I-A-QFN20R,EFM8BB10F4G,EFM8BB10F8G
对于Silicon Labs C8051F 微控制器的定时器 Timer 0 或 Timer 1, 可以使用的外部输入时钟的最大频率是多少?
定时器外部输入时钟源频率的限制实际上取决于系统时钟 SYSCLK的频率。一个脉冲信号必须稳定维持至少2个系统时钟周期才能被识别,无论是高电平还是低电平。这意味着在理想条件下(准确的50%占空比),外部输入时钟频率的最快为系统时钟频率的1/4。然而实际上并没有具有占空比精确为50%的信号。假如信号的占空比接近50%,则外部输入时钟的频率绝对最大值应该是系统时钟频率的1/5。
Silicon Labs 32位低功耗MCU EFM32G232F128系列微控制器GPIO的最大翻转速度为多少?
EFM32G232F128系列微控制器GPIO的最大翻转速度为系统时钟的1/6。例如,当主频为32MHz时,GPIO最大翻转速度大约为5.3MHz。
Epson(爱普生) S7C17M11 16位微控制器数据手册
描述- 该资料介绍了S7C17M11微控制器(MCU)的特性与规格。它具备内置电路以减少组件数量,节省板空间并缩短软件开发时间。产品具有高精度实时时钟、温度补偿功能,支持多种接口和传感器连接。
型号- S7C17M11
电子商城
现货市场
服务
支持微型计算机 、便携式计算机显示设备、投影仪、打印设备、绘图仪、多用途打印复印机、扫描仪、计算机内置电源、电源适配器、充电器、服务器、收款机等产品中国强制性产品认证。
提交需求>
可定制波导隔离器频率覆盖5.5GHz~110GHz,插损损低至0.25dB、隔离度、正向方向功率、封装尺寸参数。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论