嵌入式Linux (二)

姓名:杨乔   学号:19020100280    学院:电子工程学院

转自:

https://max.book118.com/html/2021/0122/6011000144003053.shtm

【嵌牛导读】嵌入式一般指嵌入式系统。嵌入式系统由硬件和软件组成。是能够独立进行运作的器件。Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

【嵌牛鼻子】剖析嵌入式系统

【嵌牛提问】嵌入式系统结构如何?

【嵌牛正文】

图2-1是一个典型嵌入式系统的框图。这个例子很简单,描述了一个系统的高层硬件架构,无线接入点设备可能就是采用这种硬件构架。这个系统架构以一个32位的RISC处理器为中心,系统中的闪存用于存储非易失性程序和数据,主存储器是SDRAM(同步动态随机存储器),其容量可以从几兆至几百兆字节,视应用而定。一个通常由电池供电的实时时钟模块记录着当前时间(包括日期)。这个例子里面包含以太网和USB接口,也包含串行端口,利用串行端口可基于RS-232标准访问控制台。802.11芯片组或模块实现了无线调制解调器的功能。通常,嵌入式系统的处理器完成很多功能,不仅仅是处理传统的核心指令流。图2-1中的假想处理器包含集成的串行接口UART、集成的USB和以太网控制器。很多处理器都包含集成在处理器中的外设,有时这些处理器被称为片上系统(SOC,System On Chip)。第3章会考察几个集成处理器的例子。

2.2.1 典型的嵌入式Linux开发环境

嵌入式Linux开发新手经常提出的一个问题,就是开发之前需要准备些什么。为了回答这个问题,图2-2展示了一个典型的嵌入式Linux开发环境。图中展示了一个主机开发系统,其中运行你最喜欢的桌面Linux发行版,比如Red Hat、SUSE或Ubuntu Linux。嵌入式Linux目标板通过一根RS-232串行端口线与开发主机相连。目标板的以太网接口插接到本地以太网集线器或交换机上,开发主机也通过以太网连接到上面。开发主机包含开发工具和程序以及目标文件,通常这些都可从一个嵌入式Linux发行版中获得。

在这个例子中,主机和嵌入式Linux目标板主要通过一个遵循RS-232标准的串行端口连接。主机上运行的串行端口终端程序用于和目标板通信。minicom是最常用的串行端口通信应用程序之一,几乎所有的桌面Linux发行版中都有这个应用程序[2]。本书使用screen作为串行端口通信程序,这个程序可以取代minicom的功能,而且更灵活,特别是在trace捕捉方面。对于系统启动或解决故障时串行端口线上的垃圾信息,screen也更加宽容。为了在USB转串行端口线上使用screen,可以在主机终端调用它并指定速率:

2.2.2 启动目标板

第一次加电时,目标板上的引导加载程序立即获得处理器的控制权。该程序执行一些非常底层的硬件初始化,包括处理器和内存的设置,初始化UART用于控制串行端口,以及初始化以太网控制器。代码清单2-1显示了目标板加电后从串行端口接收到的字符。在这个例子中,我们选择了飞思卡尔半导体公司的目标板PowerQUICC III MPC8548 可配置开发系统(Configurable Development System,CDS)。这个开发系统包含了PowerQUICC III MPC8548处理器。这个目标板从飞思卡尔出厂时就预装了U-Boot引导加载程序。

当MPC8548CDS目标板加电时,U-Boot执行一些底层的硬件初始化,包括配置串行端口,然后打印标题行,见代码清单2-1中显示的第一行。接着显示了CPU和核心(Core)的型号及版本,接下来是描述时钟配置和缓存配置的数据,再后面是一串文字描述了这个目标板。

初始的硬件配置完成后,U-Boot根据其静态设置来配置其他硬件子系统。这里,我们看到U-Boot配置了I2C、DRAM、闪存(FLASH)、2级缓存(L2 cache)、PCI和网络子系统。最后U-Boot等待来自串行端口控制台的输入,显示为命令行提示符“=>”。

2.2.3 引导内核

现在U-Boot已经初始化了硬件、串行端口和以太网接口,在其短暂但有益的生命中还剩一件工作:加载并引导Linux内核。所有的引导加载程序都提供了命令用于加载和执行操作系统镜像。

代码清单2-2开头的tftp命令指示U-Boot使用TFTP[3]协议将内核镜像uImage通过网络加载到内存。在这个例子中,内核镜像存放于开发工作站(通常,这个开发工作站就是通过串行端口与目标板相连的那台主机)。执行tftp命令时,需要传入一个地址参数,这个地址用于指定内核镜像将要被加载到的目标板内存的物理地址。读者现在不用担心这些细节,第7章将会详细介绍U-Boot。

第2次执行tftp命令加载了一个目标板配置文件,称为设备树(device tree),这个文件还有其他的名字,包括扁平设备树(flat device tree)和设备树二进制文件(device tree binary)或dtb。你将在第7章了解到这个文件的更多信息。现在,你只要知道这个文件与具体目标板相关,包含了内核所需的用于引导目标板的信息就足够了。这些信息包括内存大小、时钟速率、板载设备、总线和闪存布局。

接着,执行bootm(从内存镜像引导)命令来让U-Boot引导刚才加载至内存的内核,起始地址就是在tftp命令中指定的地址。在这个使用bootm命令的例子中,我们让U-Boot加载放在地址0x600000处的内核,并将加载到地址0xc00000处的设备树二进制文件(dtb)传给内核。bootm命令会将控制权移交给Linux内核。假设内核配置正确,这个命令的结果是引导Linux内核直至在目标板上出现控制台命令行提示符,如同登录提示符所示。

注意bootm命令为U-Boot敲响了丧钟。这是一个重要的概念。与桌面PC的BIOS不同,大多数的嵌入式系统都采用这样一种架构:当Linux内核掌握控制权时,引导加载程序就不复存在了。Linux内核会要求收回那些之前被引导加载程序所占用的内存和系统资源。将控制权交回给引导加载程序的唯一方法就是重启目标板。

最后还需要注意一点。在代码清单2-2的串行端口输出中,下面这行之前的信息(包含这一行)都是由U-Boot引导加载程序产生的:其余引导信息是由Linux内核产生的。对于这一点,我们在后续章节还要详细说明,但我们需要注意U-Boot是在哪儿离开的以及Linux内核是在哪儿取得控制权的。

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

推荐阅读更多精彩内容