嵌入式系统之软件篇

姓名:任佩怡        学号;19020100348        学院:电子工程学院

转自:https://blog.csdn.net/weixin_38815998/article/details/102778007

【嵌牛导读】在软件方面,完善的嵌入式操作系统已经成熟,比如Symbian, Linux,WinCE。基于完善的操作系统,诸如字处理,图像,视频,音频,游戏,网页浏览等各种应用程序层出不穷,其功能性和复杂度比诸PC软件不遑多让。原来多选用专用硬件和专用系统的一些商业设备公司也开始转换思路,以出色而廉价的硬件和完善的操作系统为基础,用软件的方式代替以前使用专有硬件实现的功能,从而实现更低的成本和更高的可变更,可维护性。

【嵌牛鼻子】嵌入式系统架构

【嵌牛提问】嵌入式系统之软件

【嵌牛正文】

1.嵌入式系统overview


嵌入式系统框架图

2. Uboot

        Uboot(universal bootloader(通用的启动代码)),Uboot属于一段裸机程序,最终的目的是启动内核。历史的发展Uboot的功能也越来越强大。如今的Uboot主要具备如下主要功能:

1.初始化硬件平台,初始化处理器核心接口:时钟、内存、中断、串口...,初始化板级接口:网卡、USB、LCD...(不是说启动内核吗?为什么要初始化硬件呢?后面会说。)

2.提供命令行操作以及一些小工具

      为什么需要有命令行操作,因为内核启动可以传递一些参数,设计者可以在命令行中进行相关操作,同时Uboot还提供tftp、fastboot等小工具,tftp在我们下载文件时会用到,fastboot在刷机时可以用到。而这些小工具都需要硬件支持,所以Uboot中会具有硬件的驱动代码。

3.启动内核。

3. linux APP

        linux APP主要是处于操作系统上层的应用层,通过各种系统调用实现业务要求。比如linux系统中的各种应用(浏览器、播放器、编辑器)都属于linux APP。

4.roofs


文件系统在系统中的层次关系

        文件系统在嵌入式系统中非常重要,玩过STM32操作FLASH的同学就知道了,直接操作FLASH需要注意起始位置,长度,是否换页,加入文件系统之后,我们就有了一种文件路径的概念,更加形象方便。

        应用程通过系统调用(SCI)操作虚拟文件系统(VFS),为什么需要VFS,因为linux支持多种文件系统类型,接口个不一定兼容,VFS就是将这些接口进行又一层的封装,消除差异。

        说这么多,roofs难道就是一个文件系统?当然不是,roofs称为根文件系统,既然能称为“根”,重要性不言而喻,根文件系统是内核加载后第一个挂载得称为根文件系统,其他文件系统只能挂在在这个文件系统得某个目录(例如插入一个U盘,就会挂载到 /mnt/udisk/ 下)。根文件系统除了存储文件之外,为了系统更好得运行,还会包括一些shell命令工具、应用程序运行所需要的动态库、系统环境变量配置信息以及系统工作信息等。

5. linux kernel

        linux kernel(内核)是嵌入式的软件大脑,地位十分重要,主要提供如下几个功能:

1.内存管理

        内存管理主要完成的是如何合理有效地管理整个系统的物理内存,同时快速响应内核各个子系统对内存的请求。linux内存管理支持虚拟内存,虚拟内存有助于实现进程内存的独立性和安全性、有助于系统数据共享以及内存的“扩充”(通过SWAP分区实现)

2.进程管理

        进程管理主要是进程调度,所谓的进程调度,就是在多任务领域,操作系统合理分配单一的CPU资源的过程。进程管理决定了某个进程什么时候等待CPU资源、利用CPU资源以及释放CPU资源。(这些话语只是为了更加明了表达,深入学习进程管理会遇到 单核以及多核处理器、时间片、进程状态转换等概念)

3.进程间通信

        由于需要保证单个进程的独立性和安全性,每个进程的内存在虚拟内存中的隔开的,但是由于进程之间的相互协作是不可缺少的(例如微信访问相册),相互协作的基础是信息交流,linux设计基于这种需求,引入内核作为中间交换信息的桥梁,内核提供多种接口提供给进程间通信。

    1.无名管道、有名管道

    2.消息队列

    3.信号量、共享内存

    4.信号

    5.套接字

4.虚拟文件系统(VFS)

    linux支持多种文件系统(ext2、ext3、ext4、xfs、btsfs),各个文件系统的驱动程序各不相同,甚至向上开放给应用程序的接口也不相同,VFS就是为了消除底层差异,将文件系统接口做了层封装,抽象称为虚拟文件系统。

5.网络接口

    网络知识深如海,但是却不可或缺,linux内核提供各种常用的网络接口,例如常见的TCP/IP,网络接口提供了各种网络通讯协议和网络驱动设备,进而形成各种网络通讯工具提供给应用层。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容