PMON2000框架详解:设备驱动与系统模块
需积分: 38 12 浏览量
更新于2024-08-25
收藏 186KB PPT 举报
PMON是一个早期的嵌入式操作系统,最初由中科大开发,用于龙芯1和2处理器的BIOS。它经历了从最初的PMON到PMON2000的重大改进。PMON2000版本相较于早期版本,增强了硬件支持,包括硬盘、文件系统(如ext2)和显卡,同时也提升了debug功能和系统扩展性,使得移植到新系统更加便捷。
PMON2000的框架设计相当模块化,主要包括以下几个关键部分:
1. **Arch**: 这个目录包含了处理器相关的代码,如Flush_Cache等,这些是与硬件底层交互的基础,负责处理与处理器指令集架构相关的操作。
2. **Dev**: 驱动程序模块,针对不同类型的设备,如IDE的ATA接口、北桥的网卡控制器(如IC)以及PCI设备eepro100。这确保了硬件设备在操作系统中的正常工作。
3. **Kern**: 主要包含系统调用的实现,如内存管理(malloc)、时间处理(time)、信号处理(signal)和网络编程接口(socket),这些都是操作系统的核心功能组件。
4. **Net** 和 **netinet**: 实现网络协议栈,可能包括TCP/IP协议,为系统提供了网络通信的能力。
5. **Scsi**: 对SCSI协议的支持,可能是对磁盘或其他SCSI设备的控制。
6. **Pmon**: 共享代码模块,包含了一些通用的PMON核心功能,可能涉及到shell、命令解析和其他基础服务。
7. **Cmds**: 用于Pmon shell中的命令实现,这些命令提供了用户与系统的交互界面。
8. **Fs**: 文件系统模块,负责存储和管理数据,ext2文件系统在此处得到了应用。
9. **Loaderelf**: 负责加载和执行elf文件,这通常是引导加载程序或者应用程序的加载机制。
10. **netio** 和 **tftp**: 实现网络相关功能,如网络命令和通过TFTP协议传输文件。
11. **Lib**: PMON的库文件,提供了基础的C语言函数,如memcpy、memset和printf,以简化开发过程。
12. **X86emu**: 一个x86模拟器,用于运行显卡BIOS并初始化显卡,体现了对不同平台的兼容性。
在PMON2000的开发环境中,Targets目录下的子目录针对不同的硬件平台进行了定制。例如,在Bonito目录下,有start.S汇编代码用于引导加载,tgt_machdep.c处理板子特定的功能,pci_machdep.c关注PCI空间的管理和分配,dev目录则存放板子特有的设备驱动。
PMON2000作为一款针对特定嵌入式平台的定制操作系统,其框架设计注重硬件兼容性和可扩展性,通过模块化的结构,方便了新功能的添加和旧问题的修复。
2015-03-24 上传
2024-07-04 上传
2018-07-03 上传
2022-09-24 上传
2017-10-10 上传
2021-08-11 上传
清风杏田家居
- 粉丝: 21
- 资源: 2万+
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常