姓名:高静 学号:19020100031 学院:电子工程学院
转自:https://blog.csdn.net/u010299133/article/details/99879966
【嵌牛导读】嵌入式linux系统快速启动优化的一些方法
【嵌牛鼻子】嵌入式 Linux系统
【嵌牛提问】嵌入式linux系统快速启动优化的方法有哪些?
【嵌牛正文】
嵌入式linux快速启动的一些优化的方法,主要是要掌握嵌入式linux系统的启动流程,以便能够在优化时有所指引。
下面是一些总结:
嵌入式linux系统快速启动的优化主要是硬件和软件。
1硬件:
1.1因为在系统启动的时候,cpu需要从flash或者是emmc中读取uboot,kernel和rootfs,以及app相关的代码,并且写入到内存ddr中。所以flash或者emmc及ddr的读写速度,就会对系统上电后的启动时间有所影响,所以在内存和flash选型的时候需要注意芯片的读写时间。
1.2一般的芯片上电的reset,也就是por,都会分为内部por和外部por。例如海思的芯片,根据官方给出的资料显示,使用外部por可以比内部的por更加快速,具体的时间和具体的芯片相关。缺点是会增加硬件成本。
2软件:
2.1.缩减软件镜像的大小。包括boot,kernel和rootfs以及app,这些代码在上电之前都是在flash或者是emmc中的。当上电之后cpu会依次拷贝到ddr中并且解压启动。因此,代码镜像本省的大小也会影响启动的时间。
2.1.1boot
可以再boot中去掉命令的功能,以及去掉一些在boot阶段使用的一些硬件驱动的初始化,例如:usb,网口等。去掉调试信息的打印。保留基本的加载内核镜像以及引导内核的启动的基本功能。
2.1.2kernel
在内核的配置中去掉一些不必要的驱动模块的编译,这样既可以减少kernel的镜像大小也能够在内核镜像启动后减少加载内核模块的时间。去除打印信息,在bootargs中可以加上quiet的参数。由于boot将kernel镜像加载到内存中后,还需要解压才能够启动,所以最好是使用硬件解压的方法。比如海思的芯片中指明,当kernel镜像使用的gzip压缩的话,就会使用硬件解压。解压的时间会快很多。
2.1.3rootfs
rootfs同样的是在配置中去掉自己不需要使用到的命令,即少校了固件的大小,也加快了cpu读取到内存中的时间。其次是文件系统本身也会对挂载时间有一定的影响。使用ufs和squashfs比其他的文件系统,挂载的速度更快。
2.1.4app
去掉不必要的打印信息,这个尤为话费时间。涉及到视频处理的ae,awb,这些最好是作为动态库加载。
————————————————
版权声明:本文为CSDN博主「酸菜鱼的鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010299133/article/details/99879966