文章目录

  • Linux开发(驱动&应用)学习路线规划
    • 入门操作篇:
    • ARM裸机篇:
    • 系统移植篇:
    • 驱动开发篇:
      • 字符驱动开发
    • 应用开发篇:

Linux开发(驱动&应用)学习路线规划

关于Linux驱动开发路线学习的一个规划(驱动为主,应用为辅),学习内容以博客形式记录,打钩的表示学习完成

入门操作篇:

  • Linux常用指令
  • vim 编辑器使用
  • Makefile 基础语法
  • shell 基础语法

总结文章: Linux驱动开发系列:入门Ubuntu知识

Linux入门操作篇学习完成

ARM裸机篇:

  • 了解 Cortex-A7 MPCore 架构:ARM裸机开发:Cortex-A7 MPCore架构基础
  • 了解 Cortex-A7 常用汇编指令:ARM裸机开发:ARM汇编基础
  • 熟悉 IMX 芯片程序下载下载流程:ARM裸机开发:I.MX6UL 程序编译下载(SD卡)
  • 了解 IO 配置有关寄存器,汇编编程点亮LED灯:ARM裸机开发:汇编LED灯实验(I.MX6UL芯片)
  • 了解 IMX 启动方式和启动原理:ARM裸机开发:I.MX6U 启动方式
  • 使用汇编准备C语言开发环境,用C语言点亮LED灯:ARM裸机开发:C语言点亮LED
  • 熟悉官方 SDK 移植开发流程:ARM裸机开发:I.MX6U官方SDK包使用
  • 对 SDK 进行管理,建立 BSP 工程意识:ARM裸机开发:BSP工程管理
  • GPIO 控制加强,控制蜂鸣器:ARM裸机开发:蜂鸣器实验
  • GPIO 控制加强,读取按键输入:ARM裸机开发:按键输入实验
  • ARM 时钟树学习,理解时钟配置原理:ARM裸机开发:主频与时钟
  • I.MX 中断系统学习: ARM裸机开发:中断系统
  • I.MX 配置按键触发中断:ARM裸机开发:输入中断
  • 定时器学习,学会配置定时器:ARM裸机开发:EPIT定时器
  • 定时器学习加强,用定时器来做精准延时:ARM裸机开发:GPT定时器
  • 了解串口收发器有关寄存器配置,学习使用串口收发数据:ARM裸机开发:串口通信
  • 将串口映射到C库函数,方便直接调用:ARM裸机开发:串口格式化输出
  • 补充处理器内存几个概念:ARM裸机开发:RAM、ROM、FLASH概念

ARM裸机篇学习完成(基于IMX6ULL)

系统移植篇:

  • 了解 U-Boot,编译烧写一个 uboot:Linux系统移植:正点原子 U-Boot 移植
  • 了解 U-Boot 常用的指令:Linux系统移植:U-Boot常用指令(上)
  • 了解 U-Boot 常用的指令:Linux系统移植:U-Boot常用指令(下)
  • 分析 U-Boot 源码目录:Linux系统移植:U-Boot 工程分析
  • 分析 U-Boot 源码的顶层 Makefile 文件:Linux系统移植:U-Boot 顶层 Makefile 分析(上)
  • 分析 U-Boot 源码的顶层 Makefile 文件:Linux系统移植:U-Boot 顶层 Makefile 分析(下)
  • 分析 U-Boot 源码的链接脚本文件:Linux系统移植:U-Boot 链接脚本
  • 分析 U-Boot 源码的运行流程:Linux系统移植:U-Boot 启动流程(上)
  • 分析 U-Boot 源码的运行流程:Linux系统移植:U-Boot 启动流程(中)
  • 分析 U-Boot 源码的运行流程:Linux系统移植:U-Boot 启动流程(下)
  • 分析 U-Boot 运行完成结束时,启动 Linux 内核的过程:Linux系统移植:U-Boot 启动内核过程
  • 移植官方 U-Boot 到 IMX 开发板:Linux系统移植:NXP 官板 uboot 移植
  • 修改NXP官板设配阿尔法开发板:Linux系统移植:官板 uboot 修改(上)
  • 修改NXP官板设配阿尔法开发板:Linux系统移植:官板 uboot 修改(下)
  • 从 U-Boot 启动 Linux 的方式:Linux系统移植:uboot 启动 Linux
  • 学会使用图形化配置 U-Boot ,加快开发:Linux系统移植:图形化配置 U-Boot
  • 分析图形化配置原理:Linux系统移植:menuconfig 原理分析
  • 内核获取编译:Linux系统移植:内核获取和编译
  • 内核目录分析:Linux系统移植:内核源码目录分析
  • 从 Linux 顶层 Makefile 分析其内核编译流程:Linux系统移植:Kernel 顶层 Makefile(上)
  • 从 Linux 顶层 Makefile 分析其内核编译流程:Linux系统移植:Kernel 顶层 Makefile(下)
  • 从 Linux 内核的启动流程源码分析:Linux系统移植:Kernel 启动流程
  • 移植原厂kernel源码到原子开发板上:Linux系统移植:原厂 Kernel 移植到开发板
  • 学习如何配置根文件系统:Linux系统移植:根文件系统构建
  • 将配置好的uboot、kernel、rootfs、dtb下载到开发板的emmc:Linux系统移植:系统烧写

系统移植篇学习完成

驱动开发篇:

字符驱动开发

  • Linux 字符驱动原理:Linux 驱动开发:字符设备驱动开发
  • Linux 设备号:Linux 驱动开发:设备号
  • Linux 字符驱动开发代码实践:Linux驱动开发:字符设备驱动开发实战

应用开发篇:

应用开发基础:

  • 了解文件IO基本操作:Linux应用开发:文件IO基础
  • 了解文件IO高级操作:Linux应用开发:文件IO进阶
  • 学习标准IO操作:Linux应用开发:标准IO库(上)
  • 学习标准IO操作:Linux应用开发:标准IO库(下)
  • 了解文件属性与目录相关内容:Linux应用开发:文件属性与目录(上)

应用开发实战:

  • 待更新

更多推荐

Linux开发(驱动&应用)学习路线规划