RH850系列芯片深度剖析 1.7-启动流程解析
文章目录
- RH850系列芯片深度剖析 1.7-启动流程解析
-
- 一、简介
- 二、启动相关文件说明
- 三、启动相关的段
- 四、启动流程
-
- 4.1 启动文件启动
-
- 4.1.1 寄存器初始化
- 4.1.2 时钟初始化
- 4.1.3 模块Standby寄存器初始化
- 4.1.4 启动从核
- 4.1.5 硬件初始化
-
- 4.1.5.1 RAM初始化
- 4.1.5.2 核时序同步
- 4.1.6 EI中断初始化
- 4.1.7 GP、TP、SP寄存器配置
- 4.1.8 中断相关寄存器配置
- 4.1.9 使能FPU
- 4.2 Library库启动
-
- 4.2.1 默认启动模块
-
- 4.2.1.1 crt0.800自定义
- 4.2.2 底层启动库
-
- 4.2.2.1 libstartup.a
-
- 4.2.2.1.1 ind_crt0.c
- 4.2.2.1.2 ind_mcpy.800, ind_mset.800
- 4.2.2.1.3 ind_uzip.c
- 4.2.2.1.4 ind_initmem.800
- 4.2.2.2 libsys.a
-
- 4.2.2.2.1 ind_crt1.c
一、简介
本章节基于型号为RH850 U2A16的芯片(4核)对其启动流程进行讲解(基于ghs编译器),从复位向量执行到main函数入口。以原厂提供的示例代码为基础,介绍使用MULTI(基于ghs编译器)作为集成开发环境的启动过程。
注:本章节所参考的示例代码下载链接请见章节末尾。
二、启动相关文件说明
代码工程中与启动相关的文件以及说明如下表所示:
- startup.850:主要包括PE0和PE1的复位向量定义,复位后对CPU寄存器通用初始化配置以及PE0和PE1的寄存器专属配置,PE0负责启动其他三个核,以及还包括PE0和PE1的部分硬件以及EI中断的初始化配置。
- startup2.8