首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

构造嵌入式Linux 03

构造嵌入式Linux 03

 定在ROM BIOS中,ROM BIOS一般是在FEOOOh到FFFFFh中),而此处的内容则是
  一个jump指令,jump到另一个位于ROM BIOS中的位置,开始执行一系列的动
  作。
  紧接着系统测试码之后,控制权会转移给ROM中的启动程序
  。这个程序会将磁盘上的第零轨第零扇区读入内存中,至于读
  到内存的哪里呢? --绝对位置07C0:0000(即07C00h处),这是IBM系列PC的特
  性。而位于Linux开机磁盘的boot sector上的,正是Linux的bootsect程序。
  把大家所熟知的MS DOS 与Linux的开机部分做个粗浅的比较。MS DOS 由
  位于磁盘上boot sector的boot程序负责把IO.SYS载入内存中,而IO.SYS则负
  有把DOS的kernel --MSDOS.SYS载入内存的重任。而Linux则是由位于
  的bootsect程序负责把setup及Linux的kernel载入内存中,再将控制
  权交给setup。
  驱动程序
  在Linux系统里,设备驱动程序所提供的这组入口点由一个结构来向系统
  进行说明。
  设备驱动程序所提供的入口点,在设备驱动程序初始化的时候向系统进
  行登记,以便系统在适当的时候调用。Linux系统里,通过调用
  向系统注册字符型设备驱动程序。
  在Linux里,除了直接修改系统核心的源代码,把设备驱动程序加进核心
  里以外,还可以把设备驱动程序作为可加载的模块,由系统管理员动态地加
  载它,使之成为核心的一部分。也可以由系统管理员把已加载的模块动态地
  卸载下来。Linux中,模块可以用C语言编写,用gcc编译成目标文件(不进行
  链接,作为*.o文件存在)。为此需要在gcc命令行里加上-c的参数。在成功
  地向系统注册了设备驱动程序后(调用register_chrdev成功后),就可以用
  命令来把设备映射为一个特别文件。其它程序使用这个设备的时候,只
  要对此特别文件进行操作就行了。
  将X-Window换成
  MicroWindows是使用分层结构的设计方法。允许改变不同的层来适应实
  际的应用。在最底一层,提供了屏幕、鼠标/触摸屏和键盘的驱动,使程序能
  访问实际的硬件设备和其它用户定制设备。在中间一层,有一个轻巧的图形
  引擎,提供了绘制线条、区域填充、绘制多边形、裁剪和使用颜色模式的方
  法。在最上一层,提供了不同的API给图形应用程序使用。这些API可以提供
  或不提供桌面和窗口外形。目前,MicroWindows支持
  和Nano-X API。这些API提供了Win32和X窗口系统的紧密兼容性,使得别
  的应用程序可以很容易就能移植到MicroWindows上。
返回列表