没有合适的资源?快使用搜索试试~ 我知道了~
PMON,开源,龙芯资料
需积分: 0 2 下载量 193 浏览量
2022-12-09
23:33:51
上传
评论
收藏 625KB PDF 举报
温馨提示
试读
42页
开源固件,精品,龙芯,PMON,最新版,已无敏感信息! PMON的各个定义、开发调试、固件使用、注意事项、各组成部分的来源,以及案例分析。 基本上可以说,本课程OK,PMON就OK了 每一章单独拿出来都可以做一个很重磅的资源。
资源推荐
资源详情
资源评论
开源固件 PMON
目录
一、开源固件 PMON 介绍................................................................................................1
1.1PMON 功能概述.................................................................................................1
1.2PMON 代码组织结构(静态).........................................................................1
1.3PMON 初始化流程(动态).............................................................................3
1.3.1PMON 的启动流程概述...........................................................................3
1.3.2PMON 的初始化芯片相关部分...............................................................3
1.3.3复位后 CPU 的初始状态..........................................................................4
1.3.4PMON 的上电启动过程...........................................................................5
1.3.5内存初始化..............................................................................................7
1.3.6PMON 运行时的地址空间.......................................................................9
二、PMON 开发和调试...................................................................................................10
2.1驱动框架和增减定制
......................................................................................10
2.1.1PMON 设备驱动模型...........................................................................10
2.1.2PMON 设备驱动配置与加载过程.......................................................14
2.1.3添加 82551 网卡驱动............................................................................19
2.2编译与开发环境..............................................................................................21
2.2.1编译器的版本........................................................................................21
2.2.2编译与开发步骤....................................................................................21
2.3调试方法与步骤..............................................................................................22
2.4加速启动的办法..............................................................................................22
三、固件使用及注意事项...............................................................................................23
3.1使用方法及操作说明......................................................................................23
3.2固件和内核的接口规范..................................................................................24
3.2.1固件与内核接口的约定........................................................................25
3.2.2固件运行时服务的约定........................................................................26
四、PMON 各组成部分的来源.......................................................................................26
五、案例分析...................................................................................................................27
5.1使用环境变量作为配置项支持动态配置......................................................27
5.2显示在模拟过程卡住问题..............................................................................27
5.2.1IO 空间译码没有使能导致模拟卡住问题............................................27
5.2.2IO 空间分配导致模拟卡住问题..........................................................28
5.3北桥上面接 PCIESwitch(如:8648,8619)经常遇到的问题......................30
5.3.1由于北桥 pcie 端口训练失败导致后面接的设备运行不正常。........30
5.3.2在 PCI 扫描处卡死 PMON 跑飞了.......................................................32
5.4RS780E 显存参数调试.....................................................................................33
5.4.1780CIM 环境设置...................................................................................33
5.4.2创建显存配置文件................................................................................34
5.4.3配置文件格式及说明:conf.spprj........................................................34
5.4.4AMD 工具
780CIM 使用方法:.............................................................37
5.53A6U 计算机模块认不出 82574 网卡............................................................39
5.63A2H 计算机模块 PMON 下修改分辨率......................................................40
5.7CPU 输入时钟需要与 LPC 时钟同源同相.........................................................42
声明...................................................................................................................................43
1
一、开源固件 PMON 介绍
1.1PMON 功能概述
PMON:MIPS 架构机器上使用的一种具有 BIOS 部分功能的开放源码软件。
BIOS:基本输入输出系统,一组固化到主板的一个 ROM 芯片上的程序,它保存着
计算机基本输入输出程序、系统设置信息、开机后自检程序、和系统自启动程序。
PMON 作为龙芯产品的基本输入输出系统,是龙芯计算机系统的重要组成部分,
负责计算机系统的开机自检、板级初始化、加载操作系统内核以及基本 I/O 功
能。
PMON 作为 loader,支持从多种媒介中加载内核,包括:硬盘、U盘、网络、
光盘、Flash,甚至串口和 Ejtag 等。
调试时,通常使用网络进行加载, PMON 支持的网络加载方式的协议包括:
http、tftp。
在 Release 时,通常需要将内核及操作系统固化到硬盘、Flash 等存储介质,
此时通过环境变量或配置文件规定操作系统的加载方式和参数,PMON 通过解析
这些配置项执行加载启动过程。
作为诊断功能时:PMON 提供了方便的调试选项,可以诊断内存故障、数据
通路故障、硬件资源分配故障等功能。
1.2PMON 代码组织结构(静态)
PMON 代码组织结构如表 1.1 所示。
表 1.1 PMON 目录结构
目录 子目录 说明
conf conf/ 公共部分配置文件目录
lib lib/libc 库文件目录
lib/libc/arch/mips
lib/libz
lib/libz/arch/mips
lib/libm
lib/libm/arch/mips
doc 文档目录
examples examples/ 示例程序目录
2
pmon pmon/arch/mips 与 MIPS 相关的目录
pmon/arch/mips/mm 与内存配置相关的目录
pmon/cmds 各种命令目录
pmon/cmds/cmd_main main 菜单相关目录
pmon/cmds/gzip gzip 压缩解压相关目录
pmon/cmds/lwdhcp DHCP 相关目录
pmon/cmds/test 测试程序
pmon/common 公用的文件目录
pmon/common/smbios SMBIOS 相关目录
pmon/dev 与设备相关的目录
pmon/fs 文件系统目录
pmon/fs/cramfs cramfs 文件系统目录
pmon/fs/cramfs/include cramfs 文件系统头文件目录
pmon/fs/yaffs2 yaffs2 文件系统目录
pmon/loaders loader 相关目录
pmon/loaders/zmodem Zmodem 协议目录
pmon/netio 网络相关目录
fb fb/ 显示相关目录
sys sys/arch/mips/include MIPS 体系头文件目录
sys/dev 各种设备目录
sys/dev/ata ATA 设备目录
sys/dev/gmac GMAC 目录
sys/dev/ic 各种 IC 目录
sys/dev/mii 网卡相关
sys/dev/pci PCI 目录
sys/dev/usb USB 目录
sys/dev/fd 软驱相关
sys/dev/nand NAND FLASH 目录
sys/kern PMON 的内核
sys/linux Linux 相关头文件
sys/net 网络核心代码
sys/netinet 各种网络协议目录
sys/scsi SCSI 设备目录
sys/sys/ 头文件
sys/vm 内存管理
include include 头文件
tools tools 各种工具目录
Targets 各种开发板相关目录
x86emu 模拟执行显卡 BIOS 中的 X86 指令代码目
录
3
1.3PMON 初始化流程(动态)
PMON 初始化流程是,板卡上电、CPU 自身初始化、串口、Cache、TLB、内存、
北桥、南桥、外设、引导操作系统。
PMON 中使用到的处理器的组件:Cache、MC、TLB,但没有使用到异常机制
及 MMU 机制,这两个组件是内核驱动运转的。
龙芯计算机系统基本软件部分包括 PMON,内核,Linux 操作系统。
操作系统:是软硬件资源的管理和调度者;是一个所有应用程序和中间件的
调用库;是填坑者,让上面的路看起来是平坦的。
与操作系统内核的边界:BIOS 中未使用中断,但是对于 PCI 设备进行了中断
号的分配;在内核下需要对中断进行使能及路由配置;处理器窗口、桥片等配置
不会在内核中重做;PCI 资源等在内核中将会重新分配;设备驱动使用内核的机
制、显示会重新初始化。
1.3.1PMON 的启动流程概述
1、启动位置位于 CPU 的启动地址是 0xbfc00000,这个地址对应的物理地址
是 0x1fc00000,北桥将这一地址影射到 Flash 的 0 地址上.
因此准确的说 PMON 是从 Flash 的 0 地址开始运行。编译的时候 start.o 正
好是第一个被链接的 obj 文件,因此 start.S 的第一条指令是 CPU 运行的第一个
指令,位于_start。
2、C 代码的第一个入口函数是 initmips,位于源代码文件 tgt_machdep.c
中。程序最终到 main 函数中运行命令循环。
3、PMON 开始应该是 freebsd 移植过来的,系统调用,设备驱动是 Unix 风
格的。
4、PMON 中 CPU 运行于 32 位模式下,屏蔽所有中断。PMON 完全靠查询来完
成整个系统,技巧是 idle 函数中调用 scandevs 来扫描设备驱动程序。驱动程序
中的中断也是通过被系统查询的时候不断调用来实现的。
1.3.2PMON 的初始化芯片相关部分
PMON 中 Start.S 的执行流程和龙芯 3A 处理器中 TLB、 Cache、Xbar 的
初始化过程分析:
在 Start.S 中主要是完成了主处理器核与其它从处理器核初始化先后顺序
剩余41页未读,继续阅读
资源评论
txj122
- 粉丝: 66
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功