2021.5.10学习笔记

1、bootloader的工作原理及作用?

bootloader 引导装载程序

工作原理

嵌入式系统上电后先执行uboot、然后uboot负责初始化DDR,初始化Flash,然后将OS从Flash中读取到DDR中,然后启动OS

作用

uboot就是一个bootloader,作用就是用于启动Linux或其他系统。Uboot最主要的工作就是初始化DDR。Uboot的主要目的就是为系统的启动做准备。

2、u-boot两个阶段的工作任务有哪些?

第一阶段的功能:

硬件设备初始化
加载U-Boot第二阶段代码到RAM空间
设置好栈
跳转到第二阶段代码入口

第二阶段的功能:

初始化本阶段使用的硬件设备
检测系统内存映射
将内核从Flash读取到RAM中
为内核设置启动参数
调用内核

3、经常使用的u-boot命令有哪些?

help或?:查看当前uboot支持的所有命令
?命令名:查看某一个命令帮助信息
bdinfo:信息查询
printenv:查看当前板子的环境变量
saveenv:保存环境变量
setenv:设置环境变量,也可以自定义环境变量,也可以删除环境变量
md:显示内存值
nm:修改指定地址的内存值
mm:修改指定地址并自增
mw:使用一个指定的数据填充一段内存
cp:用于将 DRAM 中的数据从一段内存拷贝到另一段内存中,或者把 Nor
Flash 中的数据拷贝到 DRAM 中。
cmp:用于比较两段内存的数据是否相等
ping:验证网络是否正常
dhcp:从路由器获取 IP 地址,前提得开发连接到路由器上的,如果开发板是和电脑直连的,那么 dhcp 命令就会失效
nfs:通过 nfs 可以在计算机之间通过网络来分享资源
tftp:tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中,只是 tftp 命令使用的 TFTP 协议

4、如何编译u-boot并烧写到开发板?

编写一个shell脚本文件,将编译uboot的命令都写入里面,编译的时候直接执行这个文件,将将uboot 烧写到 SD 卡中,然后通过 SD 卡来启动来运行 uboot。使用 imxdownload 软件烧写,命令如下:
chmod 777 imxdownload
./imxdownload u-boot.bin /dev/sdd
等待烧写完成,完成以后将 SD 卡插到 I.MX6U-ALPHA 开发板上,BOOT 设置从 SD 卡启动,使用 USB 线将 USB_TTL 和电脑连接,也就是将开发板的串口 1 连接到电脑上。打开 SecureCRT,设置好串口参数并打开,最后复位开发板。在 SecureCRT上出现“Hit any key to stop autoboot: ”倒计时的时候按下键盘上的回车键,默认是 3 秒倒计时,在 3 秒倒计时结束以后如果没有按下回车键的话 uboot 就会使用默认参数来启动 Linux 内核了。

二、

1、Linux内核组成模块有些哪些?Linux版本号的作用?

内核模块

1 、进程调度模块
Linux 以进程作为系统资源分配的基本单位,并采用动态优先级的进程高级算法,保证各个进程使用处理机的合理性。进程调度模块主要是对进程使用的处理机进行管理和控制。
2 、内存管理模块
Linux 的内存管理模块采用先进的虚拟存储机制,实现对 多进程的存储管理。它提供了十分可靠的存储保护措 施,对进程赋予不同的权限,用户不能直接访问系统 的程序和数据,保证了系统的安全性。同时,为每个用户进程分配一个相互独立的虚拟地址空间。
3 、文件系统模块
Linux 的文件系统模块采用先进的虚拟文件系统 (VFS) 技术,屏蔽 了各种文件系统的差别,为处理各种不同的文件系统提供了 统一的接口,支持多种不同的物理文件系统达 90 多种。同 时, Linux 把各种硬件设备看作一种特殊的文件来处理,用管 理文件的方法管理设备,非常方便、有效。
4 、 网络接口模块
Linux 具有最强大的网络功能。网络接口模块通过套接字 (Socket) 机制实现计算机之间的网络通信,并采用网络层次模型提供 对多种网络协议和网络硬件设备的支持。
5 、进程间通信模块
进程间通信模块保证了 Linux 支持多种进程间通信机制,包括最基 本的信息和管道,同时支持信息队列、信号量和共享内存等。

Linux版本号作用

Linux内核版本号由3组数字组成:第一个组数字.第二组数字.第三组数字
第一个组数字:目前发布的内核主版本。
第二个组数字:偶数表示稳定版本;奇数表示开发中版本。
第三个组数字:错误修补的次数。

2、Linux内核配置裁剪内核?

在Linux内核中找到 ././arch/arm/configs/目录下查看与该单板相适应的配置文件,使用该配置文件

3、Linux内核的启动流程?

linux内核的启动全过程主要分为三个阶段。第一阶段为内核自解压过程,第二阶段主要工作是设置ARM处理器工作模式、使能MMU、设置一级页表等,而第三阶段则主要为C代码,包括内核初始化的全部工作

三、

1、根文件系统的作用?

是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和
服务加载到内存中去运行。

2、如何制作根文件系统?

下载busybox
编译busybox,在进行编译时需要指定编译器和编译平台

3、nfs、ftp的作用?

nfs作用:通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利
ftp作用:用于文件的上传和下载

一、Linux一切皆为文件:访问硬件就可以像访问文件一样
open write read lseek close

设备文件:/dev
应用层软件如何访问设备?访问这个设备对应的设备文件
open(“/dev/led”,O_RDWR);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值