PMON进阶指南:发展历程、架构与关键模块详解

需积分: 38 42 下载量 37 浏览量 更新于2024-07-18 收藏 186KB PPT 举报
PMON,全称为Process Monitor,是一个针对特定嵌入式平台(如龙芯1和2)设计的监控工具和环境,主要用于系统管理、调试和设备驱动开发。早期的PMON版本(可能是指科大版本)主要提供基础功能,包括shell、网络、加载和调试,但缺乏对硬盘、显卡的支持,并且扩展性较差,使用的是sde-gcc编译器。 随着PMON2000的出现,这一版本进行了显著升级,增加了对硬盘(如ext2文件系统)和显卡的支持,同时修复了debug功能,并提升了系统的移植性。这个版本的编译器换成了mips-elf-gcc,这表明它更加适应嵌入式系统的需求。 PMON2000的框架设计相当模块化,包括Arch(处理器相关代码,如Cache管理)、Dev(设备驱动,涵盖IDE控制器、网卡和PCI设备)、Kern(系统调用实现,如内存管理、时间处理、信号处理和网络接口)等核心部分。此外,它还包含了Net和netinet模块,用于实现网络协议,以及对SCSI协议的支持。 Pmon模块作为共享代码,负责管理和执行大部分操作,而Arch模块则包含针对不同处理器的特定优化。Dev部分不仅包含基础设备驱动,如Flash,还有与特定硬件交互的定制代码。Fs目录涉及文件系统功能,Loaderelf文件的实现则是加载和管理可执行文件的关键。 网络功能由netio和tftp实现,Lib提供了基本的库函数,如内存复制、填充和打印函数。值得一提的是,X86emu是一个x86架构的模拟器,负责运行显卡BIOS并进行显卡初始化,这对于支持多种硬件平台至关重要。 Targets目录的结构中,每个系统都有一个独立的子目录,如Bonito,其中包含start.S(启动时的汇编代码),tgt_machdep.c(处理特定板子的函数),pci_machdep.c(负责PCI空间的管理),以及dev目录中存放针对该板子的特殊设备驱动代码。 PMON2000是一个高度定制化的系统监控和开发环境,通过模块化设计和对特定硬件的支持,使得嵌入式开发者能够更高效地进行系统维护和开发工作。它的升级和改进反映了嵌入式领域对性能、兼容性和效率日益增长的需求。