目录
前言:
一、PMON-V1.1 目录结构
二、Targets目录的组成
前言:
参考:龙芯相关 - 心映真的空间
一、PMON-V1.1 目录结构
+++++++++++++++++++++++++++++++++++++++++
PMON-V1.1 目录结构
+++++++++++++++++++++++++++++++++++++++++
 pmon的目录结构大致如下(由linux工具tree生成)
 |-- Targets            目标结构相关代码,每个新结构在该目录下有一个子目录
 |   `-- Bonito            Bonito是我们的北桥代号,里面是一些关于北桥的代码
 |       |-- Bonito
 |       |-- compile
 |       |   `-- zboot
 |       |       |-- images
 |       |       |-- pmon
 |       |       `-- utils
 |       |-- conf
 |       |-- dev
 |       |-- include
 |       `-- pci
| --LS2K:龙芯CPU主板
|       |-- conf
 |       |-- dev
 |       |-- include
|       |-- ls2k/start.S
 |       `-- pci
 |-- conf                    源代码编译所依赖的配置文件所在目录
 |-- doc                        说明文档
 |-- examples                一看就知道是样例,但我还不知道只面究竟写的是什么
 |-- fb                            在frambuffer(fb)上做文字和图形显示的代码    
 |-- include                    系统头文件
 |-- lib
|   |-- libc                C库
 |   `-- libz                zip压缩库
 |-- pic                    开机启动图片picture(压缩后的)存放目录
|-- pmon                pmon主体代码
|   |-- arch                    平台相关代码
 |   |   `-- mips                处理器相关的代码,比如Flush_Cache等
 |   |-- cmds                    pmon shell 命令代码
 |   |-- common                    各模块共同依赖的代码
 |   |-- custom                        ??这个目录不知道干什么用的
 |   |-- dev                        一些基本设备的驱动,比如Flash
 |   |-- fs                        文件系统支持代码
 |   |-- loaders                        二进制文件加载器代码
 |   `-- netio                        网络命令以及tftp的实现
 |-- sys                            pmon的较低层的代码
 |   |-- arch                        处理器相关代码一些定义
 |   |   `-- mips                    
 |   |       `-- include
 |   |-- dev                        各种设备的驱动程序
 |   |   |-- ata
 |   |   |-- fd
 |   |   |-- ic
 |   |   |-- microcode
 |   |   |   `-- siop
 |   |   |-- mii
 |   |   |-- pci
 |   |   `-- usb
 |   |-- kern                        主要是一些系统调用的实现,比如malloc,time, signal, socket
 |   |-- linux
 |   |-- net                        实现网络协议
 |   |-- netinet                        实现网络协议
 |   |-- scsi                            Scsi协议的实现
 |   |-- sys                        这个大目录的头文件存放区
 |   `-- vm                        ??虚拟内存相关实现
 |-- tools                        一些工具
 |   |-- bmp_logo                    把bmp图转换成C数据的工具
 |   |-- bootelf
 |   |-- mk
 |   |-- pmoncfg                        源代码配置工具
 |   |-- scripts
 |   `-- srecord
 |-- x86emu                        x86显卡模拟器,主要是运行显卡的BIOS,初始化显卡
 |   `-- int10
 |       `-- x86emu
 |           |-- include
 |           |   `-- x86emu
 |           `-- src
 |               `-- x86emu
 |                   `-- x86emu
 `-- zloader                        zip格式加载启动代码
二、Targets目录的组成
每个结构一个目录,我们拿Bonito来为例子,主要有下列文件:
start.S 位于Targets/Bonito/Bonito 目录下,是C环境建立之前的汇编代码,使整个BIOS运行的启点,PMON的入口。
tgt_machdep.c位于Targets/Bonito/Bonito 目录下,一些板子相关的函数。
pci_machdep.c进行Targets/Bonito/pci 空间分配的一些函数
Targets/Bonito/dev 目录下一些板子特殊的设备的驱动。
Targets/Bonito/conf 目录下是一些编译环境建立需要的一些文件