为什么80%的码农都做不了架构师?>>>   

boot loader:看名字就知道,这是在系统启动时使用的,最重要的功能

就是加载操作系统。其它包括一些硬件的初始化,或者其它的一些自定义功

能,例如OS升级什么的。  启动流程:  一般的arm/MIPS 架构的CPU都

有一个固定的地址,硬件上电后,CPU就去这个地址读取第一条指令。  

通常硬件上都会把这个地址连接在非易失存储器(简单的理解就是掉电不丢

失,一般是FLASH)上。也就是说,这个阶段的代码都是运行在FLASH上的,

所以,这个FLASH必须是可以随机访问的。这些代码通常都是汇编写成的,

初始化CPU,内存等等硬件相关的一些指令。  内存初始化完毕后,就可

以将代码拷贝到内存里了。在内存里运行,就可以写了,速度上也要快很多

。  之后继续其它设备的初始化,比如串口,网口什么的。现在用不着的

设备不做初始化,等OS起来以后再说。  再往后就准备启动OS了。嵌入式

设备为了节省FLASH的容量,通常OS都是压缩过的,所以boot loader就必须

将OS从FLASH上,解压到内存当中去。然后跳转到OS在内存中的第一个函数

中去。这个地址就是双方约定好的了,因为boot loader并不关心OS到底是

什么,它只管将CPU交给OS,它的使命就结束了。如果这个地址双方不一致

,那就彻底悲剧了……   设备驱动:  就是可以屏蔽硬件特性,让操

作系统中的应用程序可以更好的操作硬件。比如现在有一块屏,4*4个点阵

,单色。没有驱动的时候,我只要告诉硬件,在(0,0),(0,1),(0

,3),(0,4)这几个点亮一下,就可以在屏幕最上方显示一条线了。但

是应用程序不可能这样去做啊,不可能每个字,每条线都用点阵去画吧。所

以,我就可以写一个程序,将点亮4个点封装成函数,第一个参数作为变量

,给操作系统。这样应用程序只需要调这个函数,就可以在任意地方画一条

横线了。字符显示也是类似的。那什么还要有操作系统呢,不直接给应用程

序?因为应用程序不需要关心硬件,这块屏可大可小,或者可显示多种颜色

。操作系统就是在中间作为标准,抽象出一个显示设备,底下是驱动跟硬件

配合,提供操作接口,上面是应用程序去调用接口。

在网上看到这篇好文章,希望对大学有所帮助,呵呵!

更多内容欢迎交流:15238336542  qq:2905283896(宋老师)

欢迎登录:www.edu118.com

转载于:https://my.oschina.net/u/866271/blog/232716

嵌入式系统中的几个关键基本概念!相关推荐

  1. 嵌入式系统中进程间通信的监视方法

    概述 复杂的嵌入式系统中,常常同时运行着相当多的进程.这些进程之间频繁的进行着大量的通信动作.进程的运行状态与这些不断发生的通信有着直接和紧密的联系.通过对进程间通信的监视,开发人员可以掌控系统内部运 ...

  2. python嵌入式系统开发_Python在开发实时嵌入式系统中的作用

    原标题:Python在开发实时嵌入式系统中的作用 在过去的几年里,Python已经成为一种热门的程序语言.以著名的Monty Python喜剧小组命名,该语言是面向对象和解释.该属性导致Python在 ...

  3. 网络通讯技术在嵌入式系统中的应用

    网络通讯技术在嵌入式系统中的应用 一.嵌入式系统的由来 1.1 嵌入式系统的概念:       嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能.可靠性.成本.体积.功耗.环境 ...

  4. 嵌入式系统中看门狗的使用

    最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,现在总结如下: 一.看门狗原理     在产品化的嵌入式系统中,为了使系统在异常情况下 ...

  5. 嵌入式系统中时间的应用以及rtc的验证过程

    在嵌入式系统中时间分为3种,分别为当前时间,系统时间,硬件时间,三种之间有一定的关联关系,如果开发板没有电池,用于保持开发板的时钟,那么当开发板断电后,时钟恢复为默认时间,一般为1970年1月1日,0 ...

  6. python好还是c+-嵌入式系统中,Python与C/C++哪方更为适用?

    [51CTO.com快译]长久以来,C/C++一直编译着嵌入式系统编程领域,但二者亦拥有自己的缺陷.相比之下,Python则成为嵌入式系统中的另一大***语言选项.在今天的文章中,我们将共同探讨双方的 ...

  7. 【原创】QT在嵌入式系统中显示中文的方法

    [原创]QT在嵌入式系统中显示中文的方法 此篇文章主要借鉴:http://zzqh007.blog.163.com/blog/static/44434847201011312168296/ 移植QT4 ...

  8. 嵌入式系统中对汉字的处理

    现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能.例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能: 一个 ...

  9. 看门狗(Watch Dog)是嵌入式系统中一种常用的保证系统可靠性的技术,()会产生看门狗中断。【详细!小白也能看懂!】

    看门狗(Watch Dog)是嵌入式系统中一种常用的保证系统可靠性的技术,()会产生看门狗中断. A. 软件喂狗 B. 处理器温度过高 C. 外部中断 D. 看门狗定时器超时 解析: 思考方式: 每个 ...

最新文章

  1. [BZOJ3832][Poi2014]Rally
  2. 斯坦福大学深度学习与自然语言处理第一讲:引言
  3. STM32之中断与事件---中断与事件的区别
  4. 第五章 运输层(UDP和TCP三次握手,四次挥手分析)
  5. php ip访问mysql什么配置_PHP与MYSQL配合完成IP的存取
  6. Linux下访问window挂载的磁盘
  7. AWS Loft的数据库周
  8. [react] React的触摸事件有哪几种?
  9. LeNet网络配置文件 lenet_train_test.prototxt
  10. linux 解压tar.jz,linux系统压缩文件和解压缩命令
  11. 28留数及其应用(四)
  12. php操作access数据库类代码
  13. 和catch的区别_面试刷题2:Exception和Error的区别?
  14. 计算机专业论文答辩ppt,计算机专业毕业答辩ppt模板
  15. 微信小程序 转发功能实例讲解
  16. 分享几个软件测试逻辑思维和综合面试题【含答案】
  17. 搭建容器私有创库Harbor
  18. 1078: 字符串加密
  19. 【项目】出库流程记录
  20. 三相电机驱动电路详解

热门文章

  1. iOS开发-UITableView常用方法
  2. 《从Excel到R 数据分析进阶指南》一第1章 生成数据表1.1 导入数据表
  3. Script to Setup NTP/DNS/Powerpolicy for new server
  4. iptables基础概念
  5. 如何动态获取UILabel的高度、宽度
  6. Proxmox VE2.2虚拟化安装配置学习笔记(三)
  7. 怎么用php myadmin连接远程MYSQL数据库
  8. Mysql查看编码方式专题
  9. 先知-Baidu的系统测试
  10. 关于LINUX权限的一个题目