@[TOC](嵌入式Linux设备驱动程序开发指南(2)——读书笔记
2022/2/25 7:25:41
本文主要是介绍@[TOC](嵌入式Linux设备驱动程序开发指南(2)——读书笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
嵌入式Linux设备驱动程序开发指南(2)——读书笔记
- 一、构建系统
- 1.1 引导加载程序
- 1.2 Linux内核
- 1.3 系统调用接口和c运行时库、系统共享库
- 1.4 根文件系统
- 1.5 Linux启动过程
一、构建系统
1.1 引导加载程序
常用加载程序使用功能强大的U-boot,实现配置系统内存、在正确地址加载内核映像和设备树、在正确的地址加载内存磁盘设备、设置的命令行和设置内核启动参数。
U-boot是ARM-Linux的主要引导加载器,U-boot主线代码位于:
git.denx.de/u-boot.git
Wiki上有关U-boot介绍:
www.denx.de/wiki/U-Boot/SourceCode
U-boot主要特性:
尺寸小、启动快、可移植、可配置、可调式。
1.2 Linux内核
Linux是由Linux Torvalds主笔形成。
1.3 系统调用接口和c运行时库、系统共享库
有三个概念要讲清楚:系统调用接口、c运行时库、系统共享库。
系统调用接口
系统调用接口指的是应用程序和内核之间的接口。
c运行时库
c运行时库,又名标准c库,有几种标准c运行时库如: glibc、uClibc、eglibc、dietlibc、newlib. c运行时库提供以下功能:定义宏、类型、字符串处理函数、数学运算函数、输入输出处理、内存分配和与操作系统服务相关功能。
系统共享库
系统共享库是程序启动时预加载的库,如:
lib(系统启动需要的库) /usr/lib(大部分系统库) usr/local/lib(非系统库) libc(标准c库) libm(数学库) libdl(动态链接库) libpthread(POSIX线程库)
1.4 根文件系统
所有二进制文件、应用程序、数据都放在 / 根目录。
1.5 Linux启动过程
启动过程分bootRom加载、SPL(U-boot)、内核、文件系统执行第一个用户进程。
首先,启动的第一步是上电复位(POR),硬件复位逻辑强制 执行 ARM核心从片上ROM,判断启动模式选择(BMS)引脚来判断,扫描不通媒介设备,例如串行闪存、NAND闪存、SD/eMMC卡,和串行EEPROM。如Microchip SAMA5D2会从NAND闪存上读取AT91Bootstrap二级引导程序,管理硬件、时钟和DRAM初始化。AT91Bootstrap将会从NAND闪存获取U-boot,并存入到DDR RAM.
感谢阅读,祝君成功!
-by aiziyou
这篇关于@[TOC](嵌入式Linux设备驱动程序开发指南(2)——读书笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法