动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

嵌入式Linux框架的理解

07-21 11:43 514浏览
举报 T字号
  • 大字
  • 中字
  • 小字

首先还是看下整个框架

关于bootloader

1.当板子一上电,因为芯片有boot的功能,自动会从flash搬启动代码并执行处理。这里的代码其实就是bootloader的第一个阶段。其实bootloader就是具有boot和loarder的功能。Boot就是搬代码,引导,loarder就是加载各个需要的驱动。

2.bootloader第一个阶段做的事情,具体做了什么可以看下图。

3.bootloader的第一阶段主要是汇编的代码,接着的第二阶段基本是c代码。这里主要是初始化了需要的外围设备,比如说网卡驱动,串行接口驱动等等,然后启动内核。

4.启动内核可以从网络启动,也可以sd/emmc卡启动。其主要就是把内核的代码给loard进DDR中,然后执行。

Bootloader的内存分布如下:

关于芯片内的IP核(各模块控制器)

对于芯片内的一些IP核,也就是各个模块的控制器了,其实都是通过FPGA来实现的。FPGA就是现场可编程门阵列。比如拿I2C控制器来说吧。I2C主要就是SDA和SCL两根线了,实现的功能就是传输数据了。在IP核的内部可以实现很多的逻辑,比如说当要发送一个设备地址的时候,主要配一下寄存器,该模块的状态机获取这个数据,然后发送了SDA线的数据是从设备的设备地址,那么从设备就会回应一个低电平,这时这个模块的SDA线有了这个低电平,那么就可以知道这个设备地址发送正确了。而我们不需要知道IP核内部是怎么去处理的,只需要配置个数据给一个寄存器,然后该模块就会做相应的处理。当然可以用模拟的方法,所以这就是IP核的作用了,用配寄存器来实现功能,从而隐藏了内部的工作时序,封装的很好。

至于其他的模块也是同一个原理。

关于内核

当bootloader把内核代码loard进了DDR之后,那么就要启动内核了。内核的启动简单的如下所示:

当内核启动完成后,就会调用用户的init守护进程了。

动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看Linux操作系统视频教程学习哦!

0人推荐
共同学习,写下你的评论
0条评论
代码小兵988
程序员代码小兵988

67篇文章贡献228982字

作者相关文章更多>

推荐相关文章更多>

RabbitMQ使用及工作原理

代码小兵86504-19 19:55

Nginx反向代理的简单实例

代码小兵49806-21 15:40

Linux删除文件夹命令

代码小兵69607-21 11:32

Nginx配置详解

代码小兵12407-22 10:47

Linux更改ip地址的三种方式

代码小兵87207-21 12:51

发评论

举报

0/150

取消