瑞萨-RL78

中断

段操作

Changing compiler output section name (#pragma section)
在这里插入图片描述

打印段的地址

段起始位置 __sectop __secend
Section address operator (__sectop/__secend)
__sectop
printf(“constbos_polling_n:0x%x-0x%x\r\n”,(uint16_t)__sectop(“.constbos_polling_n”),(uint16_t)__secend(“.constbos_polling_n”));
printf(“constdriver_init_0_n:0x%x-0x%x\r\n”,(uint16_t)__sectop(“.constdriver_init_0_n”),(uint16_t)__secend(“.constdriver_init_0_n”));
printf(“constdriver_init_n:0x%x-0x%x\r\n”,(uint16_t)__sectop(“.constdriver_init_n”),(uint16_t)__secend(“.constdriver_init_n”));

输出预处理文件

在这里插入图片描述

cs+中设置宏定义

在这里插入图片描述

段定义和使用

RL78

头文件没有添加,编译不会报错,
但是在实际运行调试的时候函数直接无法跳转;类似跑飞掉,
或者就是传参出错的情况 实参数据是0xfc60 到了函数里面 形参编程0x0c60

段名内容空间
.text中断服务程序
.RLIB内置乘除法程序?
.SLIB标准库函数
.textf用户程序代码
.constf常量
.data预定义变量值(ROM)
.sdata
PFDL_CODPFDL库代码段
.monitor2调试用
.dataR有初值的变量(RAM)–初始值在ROM中
.bss没有初始化的变量
.sdataR
.sbss

ROM剩余
00001e00 - 00001d79 = 135 字节

RAM剩余
FFEDF - 000ffe20 = 191 字节

*** Total Section Size ***

RAMDATA SECTION: 000002ae Byte(s) 有初值、没初值变量
ROMDATA SECTION: 000002b0 Byte(s)
PROGRAM SECTION: 00001c8a Byte(s)

R5F100LG

启动过程

启动过程

R5F100LG-储存空间大小

在这里插入图片描述
flash 128k [0-1FFFF]
最有有0x200(512)字节给 调试信息
去掉最后一个字节 1FBFF
eeprom 8K [0-1FFF]
ram 12K [0-2FFF]
pin64

在这里插入图片描述

RL78-R5F100L flash

在这里插入图片描述

指定的数据放在 固定地址

.jtext .CSEG AT 0x1111 的意思是告诉汇编器将接下来的代码段视为可执行代码,并且在程序实际加载时,这些代码应该从物理地址 0x1111 开始存储。这对于需要精确控制程序在存储器中布局的情况非常有用,例如在微控制器中设置中断向量表的位置或者为了满足特定硬件的启动要求等。

镜像区域

在这里插入图片描述

app端的位置

在这里插入图片描述
启动过程
在这里插入图片描述

版本信息定义在固定位置

参考资料

程序的CRC校验

CRC参考

在这里插入图片描述
固定好程序段的长度;
然后再这个程序段的后面 加上 对应的数据

程序内部内置的crc

参考例程 an-r01an3530eu0110-rl78-crc\an-r01an3530eu0100-rl78-crc

  1. 使用的函数
    在这里插入图片描述

2.使用window的进行bin文件校验 得到 正确的CRC计算值,该值应该是 编译器能够生成的值
在这里插入图片描述
3.注意点 bin文件未使用部分的填充问题
使用 0xff 填充
在这里插入图片描述

奇葩的地址偏移 CRC 最后地址是 XXXB

在这里插入图片描述
在这里插入图片描述

程序分段情况

最有有0x200(512)字节给 调试信息
去掉最后一个字节 1FBFF 126
flash 128k [0-1FFFF]
方案1 boot 0-5000
最大 分 53K (1FC00-5000)/2 = 107K 均分就是 53K
0x5000- 0x123FF‬ 【50K-长度D400】
0x12400‬ - 0x1F800 【50K-长度D400】

平分 53K
0x5000- 0x117FF‬ 【50K-长度C800】
0x11800‬ - 0x1E000 【50K-长度C800】

boot 0-3FFF 111K
均分是 55k
0x4000- 0x117FF‬ 【50K-长度C800】
0x11800‬ - 0x1E000 【50K-长度C800】
最后有多0x200(0.5K)是给调试 占用的,不能用的
在这里插入图片描述
在这里插入图片描述

中断向量大小

54个中断 每个中断2字节地址 共计 220字节
在这里插入图片描述

瑞萨的栈

参考-栈的大小配置
参考-malloc 堆栈
栈的大小通常是 从大 到小 增长;
R5F100-RAM 地址
在这里插入图片描述
程序里面分配的 情况:通常是从高地址向低地址增长的。、
栈【FILO 先入后出】 开始地址 > 结束地址
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

为什么app设置在0x5000后 程序还是能够运行-是因为使用了仿真器;

仿真器 会自动生成vect段,默认的 ,让后让程序跳转到 起始位置;
仿真器烧录后 程序可以正常使用;
但是使用flash烧写的方式 无法运行;因为只包含了 0x5000开始的数据;

因为编译器 能够生成如下段;连 vect都自动生成了;
在这里插入图片描述

mot文件

开始
S1 2位地址的数据 13 字节数 5000 地址
S2 3位地址的数据 13 字节数 5000 地址
在这里插入图片描述
文件的最后位置
在这里插入图片描述

dr 文件

瑞萨中的.dr文件是一种链接脚本文件,用于将编译器生成的目标文件链接到可执行文件中。它通常包含有关存储器布局、寄存器定义和其他链接选项的信息。在瑞萨电子的软件开发环境中,.dr文件通常与.map文件一起使用,以帮助开发人员更好地理解他们的程序在目标硬件上的运行情况 。

### 回答1: 瑞萨lin入门.pdf是一本介绍瑞萨LIN总线技术的入门指南。LIN(Local Interconnect Network)总线是用于低成本和低速应用的串行通信总线系统。该指南的目的是帮助读者理解LIN总线的基本概念、工作原理和应用。 在该指南中,首先介绍了LIN总线的基本原理和发展历史。LIN总线起源于汽车电子系统,被广泛用于汽车领域的电子控制单元之间的通信。现如今,LIN总线已经越来越多地应用于其他领域,如家电、工业自动化等。 接下来,该指南详细讲解了LIN总线网络的拓扑结构、物理层规范和通信协议。从主节点和从节点的角度出发,解释了数据帧的传输方式和消息格式。读者可以了解到如何配置LIN总线的硬件连接,以及如何使用LIN通信协议进行数据的传输和接收。 此外,该指南还介绍了如何在LIN总线网络上进行诊断和调试。通过使用LIN总线诊断工具,读者可以监测和分析总线上的数据传输和通信状态,从而帮助解决潜在的问题和故障。 总的来说,瑞萨LIN入门.pdf是一本详细介绍LIN总线技术的指南,不仅适用于初学者学习LIN总线的基本知识,也对于已有LIN总线应用经验的开发人员提供了一些实用的技术和方法。无论是对于汽车电子工程师还是对其他领域的工程师来说,该指南都是一个很好的参考资料。 ### 回答2: 《瑞萨lin入门.pdf》是一本介绍瑞萨公司的LIN总线技术入门指南。瑞萨是一家专业从事汽车电子领域的公司,该指南主要通过PDF文档的形式,向读者介绍LIN总线通信协议的基本原理、应用场景以及相关的开发工具和技术。这本指南主要面向对LIN总线技术感兴趣的工程师和技术爱好者,旨在帮助他们快速入门LIN总线技术并了解其在汽车电子领域的应用。 在《瑞萨lin入门.pdf》中,首先会简要介绍LIN总线技术的起源和发展背景,以及与CAN总线技术的比较。然后,会详细介绍LIN总线通信协议的基本原理,包括数据帧的格式、通信速率和错误检测等方面的内容。读者可以通过对这些基本原理的了解,理解LIN总线技术在汽车电子领域中的应用场景,如车身控制、门锁系统和座椅控制等。 此外,《瑞萨lin入门.pdf》还介绍了瑞萨公司提供的LIN总线开发工具和技术。这些工具包括用于开发LIN总线节点的开发套件,以及用于配置和监测LIN总线网络的调试工具。通过这些工具和技术,读者可以更加方便地进行LIN总线应用的开发和调试工作。 总之,《瑞萨lin入门.pdf》是一本介绍瑞萨公司LIN总线技术的入门指南,通过深入浅出的方式向读者介绍LIN总线的基本原理、应用场景以及相关的开发工具和技术。这本指南将帮助读者快速入门LIN总线技术,并在其相关的汽车电子项目中发挥作用。 ### 回答3: 《瑞萨LIN入门.pdf》是一本关于LIN总线技术入门的电子书。LIN(Local Interconnect Network)是一种低成本、低速率的串行通信总线协议,主要用于汽车电子系统中的通信。该电子书旨在介绍LIN总线的基本概念、工作原理及应用。 电子书首先介绍了LIN总线的发展历程,包括其起源、发展背景和应用领域。然后详细阐述了LIN总线的物理层特性和数据链路层协议,包括传输速率、帧结构、错误检测和纠正机制等。此外,书中还提供了LIN总线网络的构建方法和网络拓扑结构,以及主从节点的角色和通信规则。 进一步,电子书介绍了LIN总线在汽车电子系统中的应用案例,如车身电子系统、底盘控制系统和驱动辅助系统等。通过这些案例,读者可以了解到LIN总线在提高电子控制单元之间通信效率、减少系统复杂度和成本方面的优势。同时,电子书还介绍了LIN总线的相关工具和资源,如开发工具、调试方法和相关文献。 总体而言,《瑞萨LIN入门.pdf》是一本适合想要了解LIN总线技术基础并希望应用于汽车电子系统的读者的入门指南。通过阅读该电子书,读者可以全面理解LIN总线的基本原理和应用场景,为实际应用提供了指导和帮助。无论是从事汽车电子领域的工程师,还是学术研究人员,都可以从中获得有益的知识和技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值