目 录
一、产品概述
1.1 产品特点
1.2 产品用途及应用范围
1.3 惯例和术语表
1.4 免责声明
二、产品工作条件
2.1 绝对最大额定值
2.2 推荐工作条件
三、封装及引出端说明
3.1 引出端排列
3.2 引脚信号描述
3.3 外形尺寸说明
四、产品功能
4.1 产品结构框图
4.2 处理器核心
4.2.1 整数单元
4.2.2 指令集
4.2.3 浮点处理单元
4.2.4 工作模式
4.2.5 产品夊位
4.2.6 产品异常
4.2.7 容错设计
4.3 Cache
4.3.1 概述
4.3.2 Cache缓存操作
4.3.3 Cache的容错功能
4.3.4 Cache的寄存器地址映射
4.4 定时器单元
4.4.1 预分频器
4.4.2 定时器
4.4.3 看门狗
4.4.4 定时器和看门狗的寄存器地址映射
4.5 GPIO
4.5.1 概述
4.5.2 GPIO低16位
4.5.3 GPIO高16位
4.5.4 夊用功能
4.5.5 GPIO中断
4.5.6 GPIO寄存器地址映射
4.6 中断和陷阱
4.6.1 概述
4.6.2 陷阱类型
4.6.3 中断
4.6.3.1 中断列表
4.6.3.2 外部中断信号
4.6.3.3 中断优先级
4.7 UART
4.7.1 发送操作
4.7.2 接收操作
4.7.3 流控
4.7.4 回环
4.7.5 波特率产生
4.7.6 中断产生
4.7.7 UART使用说明
4.7.8 UART的寄存器地址映射
4.8 外部存储器接口
4.8.1 概述
4.8.2 外部存储器控制器地址空间
4.8.2.1 PROM地址空间分配
4.8.2.2 I/O地址空间分配
4.8.2.3 SRAM和SDRAM空间分配
4.8.2.3.1 SRAM使能、SDRAM使能
1. SRAM地址空间分配
2. SDRAM地址空间分配
4.8.2.3.2 SRAM使能、SDRAM上使能
1. SRAM地址空间分配
4.8.2.3.3 SRAM上使能、SDRAM使能
1. SDRAM地址空间分配
4.8.2.3.4 SRAM上使能、SDRAM上使能
4.8.3 RAM接口
4.8.4 SRAM接口
4.8.5 SDRAM接口
4.8.5.1 SDRAM时序参数的配置
4.8.5.2 SDRAM命令
4.8.5.3 SDRAM初始化
4.8.5.4 SDRAM读访问
4.8.5.5 SDRAM写访问
4.8.6 PROM接口
4.8.7 I/O设备接口
4.8.8 访问错误
4.8.9 错误管理
1. 外部存储器容错配置寄存器MECFG1(0x8000-0100)
2. 存储器容错配置寄存器MECFG2(0x8000-0104)
3. 存储器容错配置寄存器MECFG3(0x8000-0108)
4. EWB写旁路说明(对于PROM)
5. EWB写旁路说明(对于SRAM和SDRAM)
6. ERB读旁路说明(对于RPOM)
7. ERB读旁路说明(对于SRAM和SDRAM)
8. MECFG1配置中EDAC、EWB、ERB详细说明(对于SRAM和SDRAM)
9. PROM的EDAC功能配置说明
10. SRAM和SDRAM出错处理
11. 8位、32位PROM出错处理
12. 造错补充说明
13. 纠错补充说明
14. 字节和半字写补充说明
15. EDAC编码匹配注意事项说明
16. 8位PROM和8位SRAM存储体数据位和校验位注意事项说明
17. 存储器管脚连接补充说明
18. EDAC编码
4.8.10 写保护
4.9 PCI接口和仲裁器
4.9.1 概述
4.9.2 AHB-PCI模块结构
4.9.3 PCI接口夊位
4.9.4 PCI接口AHB侧地址空间
4.9.5 PCI仲裁器
4.9.6 PCI侧寄存器空间
4.9.7 地址空间映射
4.9.7.1 AHB-PCI 地址空间映射
4.9.7.2 PCI-AHB 地址空间映射
4.9.8 DMA
4.9.9 PCI模块中断
4.9.9.1 处理器中断
4.9.9.2 PCI中断
4.10 调试支持单元
4.10.1 概述
4.10.1.1 时间标志
4.10.1.2 Tracebuffer
4.10.2 调试通讯链接
4.10.2.1 数据帧
4.10.2.2 调试控制命令
4.10.2.3 串口通信时钟
4.10.3 启动调试
4.10.4 调试支持单元的寄存器地址映射
4.11 时钟倊频
4.11.1 概述
4.11.2 PLL使用要求
4.12 JTAG接口
4.12.1 概述
4.12.2 JTAG使用要求
五、产品电特性
5.1 电特性
六、典型应用
6.1 开发板说明
6.2 开发板参考电路
6.2.1 电源模块
6.2.2 时钟夊位电路
6.2.3 DSU串口电路
6.2.4 测试管脚
6.2.5 FLASH
6.2.6 SRAM
6.2.7 SDRAM
七、应用注意事项
7.1 产品应用说明
7.2 对电源的要求
7.3 常见问题软件规避
7.3.1 浮点IEEE-754异常处理方法
7.3.1.1 问题概述
7.3.1.2 规避措施
7.3.2 特定指令序列双精度浮点运算问题解决办法
7.3.2.1 问题概述
7.3.2.2 规避措施
7.3.3 浮点异常陷阱返回地址问题解决办法
7.3.3.1 问题概述
7.3.3.2 规避措施
7.3.4 Ticc指令清除中断问题解决办法
7.3.4.1 问题概述
7.3.4.2 规避措施
7.4 编程说明
7.4.1 BM3803MGRH汇编编程注意事项
7.4.1.1 《The SPARC Architecture Manual Version 8》手册中明确规定的实现相关指令
7.4.1.2 BM3803MGRH中设计简化的指令
7.4.2 BM3803MGRH软件示例
7.4.2.1 片上寄存器访问
7.4.2.2 外部存储器控制器
7.4.2.3 Cache控制
7.4.2.4 中断和陷阱
7.4.2.5 定时器
7.4.2.6 串口
7.4.2.7 GPIO
7.4.2.8 PCI
7.5 产品防护
7.5.1 电装及防护措施
7.5.2 包装
7.5.3 运输和贮存
八、用户关注产品信息
8.1 产品鉴定信息
8.2 产品标识
8.3 研制生产单位联系方式
附录1 警示页
附录2 寄存器列表
2.1 外设寄存器列表
2.1.1 0x80000000地址上的寄存器
2.1.2 0x90000000地址上的寄存器
2.1.3 0xC0000000地址上的寄存器
2.1.4 PCI配置空间的寄存器
附录3 寄存器描述
3.1 IU寄存器
3.1.1 全局寄存器
3.1.2 窗口寄存器
1. 窗口0寄存器
2. 窗口1寄存器
3. 窗口2寄存器
4. 窗口3寄存器
5. 窗口4寄存器
6. 窗口5寄存器
7. 窗口6寄存器
8. 窗口7寄存器
3.2 浮点寄存器
3.3 状态寄存器
1. 处理器状态寄存器(PSR)
2. 窗口无效屏蔽寄存器(WIM)
3. 异常基址标志寄存器(TBR)
4. 乘法/除法寄存器(Y)
5. 程序计数器(PC)
6. 程序计数器(nPC)
7. Regfile EDAC 辅助状态寄存器ASR16
8. Regfile EDAC 造错控制寄存器ASR17
9. 观察点寄存器 ASR24
10. 观察点寄存器 ASR26
11. 观察点寄存器 ASR28
12. 观察点寄存器 ASR30
13. 观察点寄存器 ASR25
14. 观察点寄存器 ASR27
15. 观察点寄存器 ASR29
16. 观察点寄存器 ASR31
17. 浮点状态寄存器(FSR)
3.4 系统寄存器
1. 产品配置寄存器 (PCR)
2. AHB失效地址寄存器
3. AHB状态寄存器
3.5 Cache寄存器
1. Cache控制寄存器
2. Cache容错控制寄存器1
3. Cache容错控制寄存器2
4. Cache容错控制寄存器3
3.6 外部存储器接口寄存器
1. 外部存储器配置寄存器1(MCFG1)
2. 外部存储器配置寄存器2(MCFG2)
3. 外部存储器配置寄存器3(MCFG3)
4. 外部存储器容错配置寄存器 1 (MECFG1)
5. 外部存储器容错配置寄存器 2 (MECFG2)
6. 外部存储器容错配置寄存器 3 (MECFG3)
7. 外部存储器容错配置寄存器 4 (MECFG4)
3.7 写保护寄存器
1. 写保护寄存器1(WPR1)
2. 写保护寄存器2(WPR2)
3.8 定时器和看门狗寄存器
1. 定时器0计数寄存器
2. 定时器0重载寄存器
3. 定时器0控制寄存器
4. 看门狗计数值寄存器
5. 定时器1计数寄存器
6. 定时器1重载寄存器
7. 定时器1控制寄存器
8. 定时器预分频计数寄存器
9. 定时器预分频重载寄存器
3.9 UART寄存器
1. UART1数据寄存器
2. UART1状态寄存器
3. UART1控制寄存器
4. UART1分频器重载寄存器
5. UART2数据寄存器
6. UART2状态寄存器
7. UART2控制寄存器
8. UART2分频器重载寄存器
9. UART3数据寄存器
10. UART3状态寄存器
11. UART3控制寄存器
12. UART3分频器重载寄存器
3.10 中断寄存器
1. 中断级别/屏蔽寄存器
2. 中断请求寄存器
3. 中断强制寄存器
4. 中断清除寄存器
3.11 GPIO寄存器
1. GPIO数据寄存器
2. GPIO方向寄存器
3. GPIO中断控制寄存器
3.12 PCI寄存器
1. PCI总线夊位寄存器(PCI_RESET)
2. DMA写操作PCI总线起始地址寄存器(WDMA_PCI_ADDR)
3. DMA写操作AHB总线起始地址寄存器(WDMA_AHB_ADDR)
4. DMA写操作控制寄存器(WDMA_CONTROL)
5. DMA读操作PCI总线起始地址寄存器(RDMA_PCI_ADDR)
6. DMA读操作AHB总线起始地址寄存器(RDMA_AHB_ADDR)
7. DMA读传输控制寄存器(RDMA_CONTROL)
8. CPU中断掩码寄存器(CPU_IMASK)
9. CPU中断状态寄存器(CPU_ISTATUS)
10. CPU中断命令寄存器(CPU_ICMD)
11. CPU状态及版本寄存器(CPU_VERSION)
12. 上可预取范围PCI-AHB窗口范围控制寄存器(PCIAHB_ADDR_NP)
13. PCI-AHB窗口可预取范围控制寄存器(PCIAHB_ADDR_PF)
14. PCI-AHB窗口丢弃定时寄存器(PCIAHB_TIMER)
15. AHB-PCI窗口的丢弃定时寄存器(AHBPCI_TIMER)
16. PCI控制寄存器
17. PCI设备和供应商标识寄存器(PCI_DV)
18. PCI子系统设备和子系统供应商配置寄存器(PCI_SUB)
19. PCI分类代码和版本配置寄存器(PCI_CREV)
20. PCI仲裁状态寄存器(PCI_BROKEN)
21. PCI-AHB窗口上可预取空间大小配置寄存器(PCIAHB_SIZ_NP)
22. PCI-AHB窗口可预取空间大小配置寄存器(PCIAHB_SIZ_PF)
23. PCI设备和供应商标识寄存器(PCI_DV)
24. PCI状态和命令寄存器(PCI_SCR)
25. PCI分类代码和版本配置寄存器(PCI_CREV)
26. PCI Latency Timer寄存器(PCI_LT)
27. PCI基地址寄存器0(BAR0)
28. PCI基地址寄存器1(BAR1)
29. PCI基地址寄存器2(BAR2)
30. PCI基地址寄存器3(BAR3)
31. PCI基地址寄存器4(BAR4)
32. PCI基地址寄存器5(BAR5)
33. PCI Cardbus CIS Pointer寄存器
34. PCI子系统设备和子系统供应商配置寄存器(PCI_SUB)
35. PCI扩展ROM基地址寄存器
36. PCI能力指针寄存器
37. PCI保留寄存器
38. PCI中断线及中断引脚寄存器(PCI_INTLP)
39. PCI中断掩码寄存器(PCI_IMASK)
40. PCI中断状态寄存器(PCI_ISTATUS)
41. PCI中断命令寄存器(PCI_ICMD)
42. PCI状态及版本信息寄存器(PCI_VERSION)
3.13 DSU寄存器
1. DSU控制寄存器
2. Trace buffer 控制寄存器
3. DSU Trace时间标志寄存器
4. AHB断点寄存器1
5. AHB屏蔽地址寄存器1
6. AHB断点寄存器2
7. AHB屏蔽地址寄存器2
8. DSU串口状态寄存器
9. DSU串口控制寄存器
10. DSU串口波特率重载寄存器
3.14 寄存器堆地址列表
3.14.1 全局寄存器
3.14.2 窗口寄存器
3.14.3 浮点寄存器
3.15 寄存器使用注意事项
附录4 寄存器初始化
4.1 寄存器初始化简介
4.2 推荐寄存器初始化过程
4.2.1 内核寄存器初始化
4.2.1.1 辅助状态寄存器ASR16
4.2.1.2 IU相关的寄存器
4.2.1.3 FPU相关的寄存器
4.2.1.4 其他辅助状态寄存器
4.2.2 片上寄存器初始化
4.2.3 用户程序相关寄存器初始化
附录5 软件开发规范
5.1 通用编程规范
5.1.1 寄存器窗口与函数调用
5.1.1.1 函数调用
5.1.1.2 参数传递
5.1.1.3 C语言、汇编语言函数混合调用
5.1.2 堆栈
5.1.3 陷阱与中断
5.1.3.1 陷阱控制
5.1.3.2 陷阱识别
5.1.3.3 陷阱处理
5.1.3.4 陷阱与中断的区别
5.1.4 Cache刷新
5.1.4.1 刷新方法
5.1.4.2 刷新步骤
5.2 BM3803MGRH软件容错设计
5.2.1 Regfile EDAC
5.2.1.1 工作过程
5.2.1.2 寄存器说明
5.2.2 Cache奇偶校验
5.2.2.1 工作过程
5.2.2.2 寄存器说明
5.2.3 外部存储器控制器EDAC
5.2.3.1 概述
5.2.3.2 RAM纠错检错配置说明
5.2.3.3 RAM纠错检错配置基本操作过程
5.2.3.3.1 RAM既检错又纠错配置基本操作过程
5.2.3.3.2 RAM只检错上纠错配置基本操作过程
5.2.3.3.3 32位数据宽度SRAM和SDRAM造错基本操作过程
5.2.3.3.4 8位数据宽度SRAM造错基本操作过程
5.3 BM3803MGRH中断处理
5.3.1 中断处理流程
5.3.2 中断处理中的中断级别设置
5.4 引发Trap0x2b陷阱条件
5.5 引发Trap0x09陷阱条件
附录6 SPARC V8介绍
6.1 SPARC V8概述
6.2 数据类型
6.3 寄存器
6.3.1 IU寄存器
6.3.2 FPU寄存器
6.3.3 寄存器推荐使用方法汇总
6.4 指令
6.4.1 指令格式
6.4.2 指令分类
6.5 陷阱
6.5.1 精确陷阱
6.5.2 中断陷阱
6.5.3 延迟陷阱
6.5.4 陷阱控制
6.5.5 陷阱识别
附录7 PROM、SRAM、IO、SDRAM访问时序
1. PROM读时序(EDAC上使能,0等待周期)
2. PROM读时序(EDAC使能,0等待周期)
3. PROM读时序(EDAC上使能,n个等待周期)
4. PROM读时序(EDAC使能,n个等待周期)
5. PROM写时序(0个等待周期)
6. PROM写时序(n个等待周期)
7. SRAM 读访问时序(EDAC上使能,0等待周期)
8. SRAM读访问时序(EDAC使能,0等待周期)
9. SRAM 读访问时序(EDAC上使能,n等待周期)
10. SRAM 读访问时序(EDAC使能,n等待周期)
11. SRAM 写访问时序(0等待周期)
12. SRAM 写访问时序(n等待周期)
13. I/O读访问时序(0等待周期)
14. I/O读访问时序(n等待周期)
15. I/O写访问时序(0等待周期)
16. I/O写访问时序(n等待周期)
17. SDRAM读时序(Burst length = 1; CL = 3 )
18. SDRAM写时序(Burst length = 1; CL = 3 )
附录8 与AT697E差异性
附录9 PCI上使用时PCI管脚接法说明