文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发其他语言ARM的嵌入式Linux移植体验之操作系统
精品推荐
特别推荐
·控制面板知多少
·给你十条学习Ruby语言的理由
·分页管理机制
·Perl 语言的重要价值体现
·经验技巧:分享两条Delphi开发经验
·Java编程思想:面向对象的逻辑思维方法
·Samba系统简介
热点TOP10
·程序八卦:胡子决定编程语言运势
·EZ-USB 68013A开发指南
·AIX 5L 学习大纲/简易教程(3)(未经许可,请勿COPY)
·Static和Final修饰类属性变量及初始化
·Servlet和Filter的url匹配url-pattern
·Flex挑战Java和.NET Adobe能否再度崛起?
·Java编程思想:面向对象的逻辑思维方法
·How to cross-compile OpenSSL for ARM
·在Pocket PC上编写游戏之十
·设计Pocket PC短消息服务简介

ARM的嵌入式Linux移植体验之操作系统

日期:2008年5月10日 作者: 查看:[大字体 中字体 小字体]


conswitchp = &dummy_con;
#endif
#endif
}
  j.修改arch/arm/mm/mm-armv.c文件(arch/arm/mm/目录中的文件完成与ARM相关的MMU处理)

  修改

init_maps->bufferable = 0;
  为

init_maps->bufferable = 1;
  要轻而易举地进行上述马拉松式的内核移植工作并非一件轻松的事情,需要对Linux内核有很好的掌握,同时掌握硬件特定的知识和相关的汇编。幸而mizi公司的开发者们已经合力为我们完成了上述工作,这使得小弟们在将mizi-linux移植到自身开发的电路板的过程中只需要关心如下几点: Photoshop教程 数据结构 五笔输入法专题 QQ病毒专题 共享上网专题 Google工具和服务专题
  (1)内核初始化:Linux内核的入口点是start_kernel()函数。它初始化内核的其他部分,包括捕获,IRQ通道,调度,设备驱动,标定延迟循环,最重要的是能够fork"init"进程,以启动整个多任务环境。

  我们可以在init中加上一些特定的内容。

  (2)设备驱动:设备驱动占据了Linux内核很大部分。同其他操作系统一样,设备驱动为它们所控制的硬件设备和操作系统提供接口。

  本文第四章将单独讲解驱动程序的编写方法。

  (3)文件系统:Linux最重要的特性之一就是对多种文件系统的支持。这种特性使得Linux很容易地同其他操作系统共存。文件系统的概念使得用户能够查看存储设备上的文件和路径而无须考虑实际物理设备的文件系统类型。Linux透明的支持许多不同的文件系统,将各种安装的文件和文件系统以一个完整的虚拟文件系统的形式呈现给用户。

  我们可以在K9S1208 NAND FLASH上移植cramfs、jfss2、yaffs等FLASH文件系统。

  3. init进程

  在init函数中"加料",可以使得Linux启动的时候做点什么,例如广州友善之臂公司的demo板在其中加入了公司信息:

static int init(void * unused)
{
lock_kernel();
do_basic_setup();

prepare_namespace();

/*
* Ok, we have completed the initial bootup, and
* we're essentially up and running. Get rid of the
* initmem segments and start the user-mode stuff..
*/
free_initmem();
unlock_kernel();

if (open("/dev/console", O_RDWR, 0) < 0)
printk("Warning: unable to open an initial console.\n");

(void) dup(0);
(void) dup(0);

/*
* We try each of these until one succeeds.
*
* The Bourne shell can be used instead of init if we are
* trying to recover a really broken machine.
*/

printk("========================================\n");
printk("= Friendly-ARM Tech. Ltd. =\n");
printk("= http://www.arm9.net =\n");
printk("= http://www.arm9.com.cn =\n");
printk("========================================\n");

if (execute_command)
execve(execute_command,argv_init,envp_init);
execve("/sbin/init",argv_init,envp_init);
execve("/etc/init",argv_init,envp_init);
execve("/bin/init",argv_init,envp_init);
execve("/bin/sh",argv_init,envp_init);
panic("No init found. Try passing init= option to kernel.");
}
  这样在Linux的启动过程中,会额外地输出:

========================================
= Friendly-ARM Tech. Ltd. =
= http://www.arm9.net =
= http://www.arm9.com.cn =
======================================== Photoshop教程 数据结构 五笔输入法专题 QQ病毒专题 共享上网专题 Google工具和服务专题 4.文件系统移植


上一页 [1] [2] [3] [4] [5] [6] 下一页 




上一篇:ARM的嵌入式Linux移植体验之BootLoader

下一篇:设计面向Pocket PC浏览器的Web站点

相关文章:
·新手入门:操作系统重装完全攻略
·快马加鞭 20秒进入Win XP操作系统
·关于提高操作系统重装
·打造N合1操作系统安装光盘
·如何卸载WindowsXP操作系统
·打造完美操作系统的秘籍
·板载RAID功能制作磁盘阵列并安装操作系统
·用.iso文件从硬盘安装redhat linux 7.3
·Windows XP操作系统内存性能优化技巧
·腾讯QQ首次官方支持Linux操作系统
相关软件:
·鸟哥的linux私房菜:基础学习篇
·understanding the linux kernel
·《异性合租:20位大学生的新新体验》
·体验Windows Vista beta 1
·红帽子Red Hat Linux 8.0(3G,5CD)
·Linux 系统命令及其使用详解(大全)
·LINUX设备驱动程序(内核2.2)
·第三方RedHat Linux认证学习指导资料
·LINUX命令整理 磁盘管理
·2000年下半年网络操作系统(全国卷)

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot