查看: 1782|回复: 1

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

[复制链接]

该用户从未签到

发表于 2014-8-24 14:28:51 | 显示全部楼层 |阅读模式
分享到:
嵌入式系统中的几个关键基本概念!

    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个点封装成函数,第一个参数作为变量,给操作系统。这样应用

程序只需要调这个函数,就可以在任意地方画一条横线了。字符显示也是类似的。那什么还要有操作系统呢,不直接给应用程序?因为

应用程序不需要关心硬件,这块屏可大可小,或者可显示多种颜色。操作系统就是在中间作为标准,抽象出一个显示设备,底下是驱动

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

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

更多内容欢迎交流:13316822655  qq:2685896890(罗老师)

欢迎大家进入华南地区最大的单片机嵌入式学习群:127649878。共同交流、学习。



回复

使用道具 举报

  • TA的每日心情
    开心
    2014-10-15 08:59
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2014-10-15 19:21:18 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-24 03:46 , Processed in 0.127397 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.