免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux

[驱动] 嵌入式操作系统内核探秘----提问有奖活动开始了! [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:53 |显示全部楼层
这书带源码不?像《自己动手写操作系统》那样,每章都有个练习,最后写出个小操作系统。
ww2000e 发表于 2011-03-17 10:24



    是的,本书就是这么设计的。单讲理论不去实践或者仅仅实践没有理论都会让人觉得不痛不痒。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:53 |显示全部楼层
我很想知道,嵌入式LINUX内核和普通LINUX内核的区别。
renxiao2003 发表于 2011-03-20 17:17



    从源码的角度上看,二者没有区别。无论什么领域内的linux内核,只要版本一致,都源自于同一系列的官方源码包。对它进行适当的修改和配置,就变成“所谓”的嵌入式linux内核了。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:54 |显示全部楼层
我的问题是:嵌入式系统开发都要涉及到嵌入式的BSP开发,即板级支持包,主要包括哪些方面,BSP设计与开发的 ...
shenlanyouyu 发表于 2011-03-23 11:18



    BSP的开发主要包括驱动,协议,文件系统,用户接口等诸多方面,当然,开发BSP到什么样的程度具体还要看OS平台和开发目的。但是如果要一言以蔽之,可以说是抽象和标准化。BSP的根本目的就是提供一套标准化的程序环境和抽象的层次结构。因此怎样实现这种标准化和抽象化,就是我们最应注意的问题。开发出一些优秀的BSP,我想需要具备3个方面,1是硬件平台的深入理解,2是相应OS的深入理解,3是抽象的程序设计能力。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:54 |显示全部楼层
内核启动时怎么加载根文件系统

假设启动参数是root=/dev/mtdblock,也就是说根文件系统在/dev/mtdblock这 ...
0vk0 发表于 2011-03-25 12:32



    你的理解基本正确。只不过在linux内核中,不同于字符设备,块设备的设备号不是特别的重要,反而是设备名会很重要。块设备的主设备号通常会指定,而次设备号需要根据分区情况动态产生。因此,块设备驱动通常会将设备名(通常不包含数字部分)写到代码中。于内核参数进行枚举并匹配。内核能找到设备名,就自然可以找到驱动程序,从而加载根文件系统。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:54 |显示全部楼层
还有一个问题:在嵌入式系统开发中,调试是一个关键环节,使用开源的gcc、gdb软件,调试时没有集成的IDE环境 ...
shenlanyouyu 发表于 2011-03-25 22:06


系统级调试确实是一件很麻烦的事,操作系统的运行不但对时序,时限和多任务等方面有非常严格的要求,而且还需要经常考虑到是否是由硬件的原因产生的执行错误。因此,即便有在线调试工具,也很难解决所有问题。我的经验是,1反汇编。这可以解决绝大多数由于数据或逻辑等造成的执行错误。快速并且有效。2利用执行时的打印输出。这种方法就像在关键步骤添加类似于printf函数一样,虽然简单,但好处是程序是在实时的反应执行逻辑和关键变量的结果,能够解决由于单步调试所引发的超时等人为错误,能够解决单步调试所不能解决的问题。3自然是单步调试了,但跟反汇编相比,效率还是偏低的。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:55 |显示全部楼层
还有一个问题:在嵌入式系统开发中,调试是一个关键环节,使用开源的gcc、gdb软件,调试时没有集成的IDE环境 ...
shenlanyouyu 发表于 2011-03-25 22:06



    系统级调试确实是一件很麻烦的事,操作系统的运行不但对时序,时限和多任务等方面有非常严格的要求,而且还需要经常考虑到是否是由硬件的原因产生的执行错误。因此,即便有在线调试工具,也很难解决所有问题。我的经验是,1反汇编。这可以解决绝大多数由于数据或逻辑等造成的执行错误。快速并且有效。2利用执行时的打印输出。这种方法就像在关键步骤添加类似于printf函数一样,虽然简单,但好处是程序是在实时的反应执行逻辑和关键变量的结果,能够解决由于单步调试所引发的超时等人为错误,能够解决单步调试所不能解决的问题。3自然是单步调试了,但跟反汇编相比,效率还是偏低的。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:56 |显示全部楼层
完成一个操作系统,需要很大的毅力和坚持不放弃的精神,其中肯定会遇到很多问题,作者在开发过程中遇到问题 ...
shenlanyouyu 发表于 2011-03-25 22:10



    第一可以多参考别人的代码,看看别人是怎么实现类似过程的。

第二就是多调试。本书的操作系统是统一运行在一个虚拟平台下,因此调试问题于实际平台开发相比更加的容易。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:56 |显示全部楼层
我在学习u-boot和linux时有些疑问,现在请教下李老师:
1、在u-boot里面涉及到硬件驱动,这个驱动和linux下 ...
ddd010 发表于 2011-03-26 17:09



    uboot无论是从驱动还是文件系统的层面上看,都和linux内核没有一点关系。uboot的根本目的是引导内核,因此它的代码都是为方面引导内核而服务的。它可能会为了能够快速下载内核而开发了自己的网卡驱动,也可能为了能直接操作linux分区,写一些linux支持的文件系统代码,但这些东西在linux内核被引导之后就完全消失了,linux自然会利用它自己的驱动程序和文件系统去完成工作。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:57 |显示全部楼层
我还是个快毕业的学生,以下观点希望cu里德高手别拍砖。
1.国内介绍从头写系统的书不多,暂且不说基于什么 ...
Fine_oday 发表于 2011-03-26 17:27



    很对。国内在操作系统,尤其是操作系统实践方面的书确实不多,而学校教材有过于理论化,而且技术落后。这也是我写本书的初衷。

无论是想学习linux还是其他操作系统,我都会建议你首先阅读本书,诸如内存管理,进程管理,中断处理,设备和文件系统抽象等操作系统理论问题本书都有涉及,而且有代码可以实际运行,帮助理解。更重要的是,这些代码都是那些大型操作系统核心代码的精简版,容易看懂,甚至可以自己亲自编写。这样更能够彻底的掌握上述理论知识。

在本书读懂之后再去看别的操作系统,你会觉得它们其实就是本书代码和原理上的扩充,因为任何系统从原理上讲都是相通的。因此把握住了核心就把握了一切,再学习任何别的系统都不会很难。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2011-04-19 14:58 |显示全部楼层
上面答案都是我帮老师张贴的,不是本人的答案,大家有问题也可以在这留言,我们会转给该图书的作者的:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP