读《一步一步写嵌入式操作系统》

7 篇文章 0 订阅
6 篇文章 0 订阅

前段时间看了看SkyEye模拟器,期间留意到CSDN的一些大虾提到《一步一步写嵌入式操作系统》这本书,于是专门去书店买了一本。打开一看真是受益匪浅,这真是一本“写”出来的书,通篇行文流畅,主旨明确,比当下很多“拼”出来的技术书籍不知道高出多少。

 

这本书是一本基于ARM架构的关于操作系统的书籍,主旨是引导读者一步一步编写一个操作系统。相信你明白,当然作者也知道,仅靠一本书的引导是无法编写一个真正意义的操作系统的,这本书的真正意义在于通过简单可行的实践,让读者可以真正理解操作系统的诸多基本理论。

 

另外,因为是基于ARM架构的,所以,通过阅读这本书读者还可以深入学习ARM架构和ARM汇编。其实学习ARM汇编语言本身并不难,相关的基本知识都不难理解,学好ARM汇编的难点在于积累ARM汇编的开发经验。学习ARM汇编过程中,很多同学都无法参与真正的汇编项目,因而就缺少解决实际问题的经验,就不能真正的掌握ARM汇编。而《一步一步写嵌入式操作系统》提到的这个方法不失为一个好方法,就是通过编写自己的操作系统来学习ARM汇编。虽然编写的操作系统可能很简单,可能很脆弱,不过都没有关系,你的目的是学习知识,积累经验。

 

从阅读方式来讲,个人建议有两种读法,一种是通读的方法,一种是结合实践的方法。

时间比较紧张的同学可以采用通读法,通篇读下来也就几天时间,不需要深入细节,从中你可以了解到很多操作系统和ARM架构的知识。

时间允许的同学可以采用结合实践的方法,按着作者的方法一步一步编写自己的操作系统,中间可以加入自己的一些想法。不过采用这种读法之前还是建议先通读一遍,先有个整体了解再开始细致的工作。

 

如果你对操作系统有兴趣,如果你对ARM架构有兴趣,去买一本吧!

最后声明,我不是托,我不认识作者,虽然我很崇拜这种人。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一步嵌入式操作系统 linux平台实现代码 step 0 准备开发环境 1 安装交叉编译工具 sudo apt-get install gcc-arm-none-eabi sudo apt-get install gcc-arm-linux-gnueabihf sudo apt-get install g++-arm-linux-gnueabihf 2 手边编译skyeye 用apt命令安装的skyeye模拟器版本(1.2.5)有bug,需要手动编译更高版本的skyeye 下载并解压skyeye 1.2.6_rc1的代码, ~/Downloads/skyeye-1.2.6_rc1 根据执行skyeye-1.2.6_rc1/INSTALL的说明 1 执行 ./configure 2 执行 make 后 编译错误1: In file included from /usr/include/fcntl.h:289:0, from nandflash/nandflash_smallblock.c:19: In function ‘open’, inlined from ‘nandflash_sb_setup’ at nandflash/nandflash_smallblock.c:519:24: /usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:4: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments __open_missing_mode (); 解决方法: 修改skyeye-1.2.6_rc1/device/nandflash/nandflash_smallblock.c 519行 if ((nf->fdump= open(dev->dump, FILE_FLAG)) < 0) 改为: if ((nf->fdump= open(dev->dump, FILE_FLAG, 0777)) < 0) 编译错误2: gcc -g -O2 -o skyeye skyeye.o ./utils/libutils.a ./arch/arm/libarm.a ./device/libdev.a ./arch/mips/libmips.a ./arch/ppc/libppc.a ./arch/bfin/libbfin.a ./arch/mips/libmips.a ./arch/coldfire/libcoldfire.a -lc ./utils/libutils.a -lbfd -lm -lc ./arch/mips/libmips.a(decoder.o):在函数‘decode’中: /home/kolya/Downloads/skyeye-1.2.6_rc1/arch/mips/common/decoder.c:1079:对‘sign_extend_UInt32’未定义的引用 /home/kolya/Downloads/skyeye-1.2.6_rc1/arch/mips/common/decoder.c:1105:对‘sign_extend_UInt32’未定义的引用 /home/kolya/Downloads/skyeye-1.2.6_rc1/arch/mips/common/decoder.c:1049:对‘sign_extend_UInt32’未定义的引用 /home/kolya/Downloads/skyeye-1.2.6_rc1/arch/mips/common/decoder.c:1027:对‘sign_extend_UInt32’未定义的引用 /home/kolya/Downloads/skyeye-1.2.6_rc1/arch/mips/common/decoder.c:1013:对‘sign_extend_UInt32’未定义的引用 ./arch/mips/libmips.a(decoder.o):/home/kolya/Downloads/skyeye-1.2.6_rc1/arch/mips/common/decoder.c:1001: 跟着更多未定义的参考到 sign_extend_UInt32 ./arch/mips/libmips.a(decoder.o):在函数‘decode’中: /home/kolya/Downloads/skyeye-1.2.6_rc1/arch/mips/common/decoder.c:240:对‘divide_UI
嵌入式系统及应用的需求分析是指对特定的嵌入式系统或应用进行详细的需求分析和定义,以确保系统能够满足用户的需求和期望。以下是进行嵌入式系统及应用需求分析时的一般步骤: 1. 确定系统的目标和范围:明确系统所要解决的问题或提供的功能,确定系统的边界和范围。 2. 进行用户调研和需求收集:与系统的最终用户、相关利益方进行沟通和交流,收集用户需求和期望,了解他们对系统的功能、性能、界面等方面的要求。 3. 分析用户需求:对收集到的用户需求进行整理和分析,将其转化为可操作的需求,包括功能需求、性能需求、界面需求等。 4. 确定系统约束条件:考虑系统开发过程中的限制和约束条件,如时间限制、成本限制、资源限制等。 5. 制定系统规格说明书:在需求分析的基础上,编系统规格说明书,详细描述系统的功能、性能、接口、界面等要求,以及与硬件、软件、通信等相关方面的要求。 6. 需求验证和确认:与用户和相关利益方进行需求验证和确认,确保规格说明书准确地反映了他们的需求和期望。 7. 管理需求变更:在系统开发过程中,随着需求的变化,可能需要进行需求变更管理,及时评估和控制变更对整个系统的影响。 需求分析是嵌入式系统及应用开发中至关重要的一步,它为后续的设计、开发和测试提供了明确的目标和指导,有助于确保系统能够满足用户的需求,并提高系统开发的成功率和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值