文章目录

  • 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开发(驱动应用)学习路线规划相关推荐

  1. 网络安全工程师零基础入门:(企业级)从入门到精通学习路线规划,学完即可就业

    前言 最近总能在网上看到很多诸如:"怎样成为网络信息安全工程师"等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,似乎网络信息安 ...

  2. 网络安全自学入门:(超详细)从入门到精通学习路线规划,学完即可就业

    很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样. 算上从学校开始学习,已经在网安这条路上走了1 ...

  3. java学习路线规划

    java学习路线规划 一.写在前面 兄弟,我整理了一下关于自己之前学习java的一些方向,给你归纳在这里,有空就来看看,希望对你有帮助. 二.java基础篇 1.认识java ​ 了解java历史,大 ...

  4. 毕业倒计时 — 科班仔Java后端的点滴与学习路线规划

    毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 文章目录 毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 一.前言 二.选好方向-"站在风口上,猪都能上天" 三.学 ...

  5. 黑客零基础入门教程,从入门到精通学习路线规划,看完这篇就够了。

    很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样. 想要成为黑客,却苦于没有方向,不知道从何学起 ...

  6. 大学四年Java后端学习路线规划,所有私藏资料我都贡献出来了,不看毕业肯定后悔!!!

    一定要走在学校前面自学,规划好自己的时间,按照自己的路线走. 大学四年Java后端学习路线规划,所有私藏资料我都贡献出来了,不看毕业肯定后悔!!! 学习路线与资源方法 一.第一件事,很重要!!! 二. ...

  7. C/C++开发进阶的学习路线

    这一阶段的目标才是达到C/C++软件工程师开发行业的基本要求,这个阶段是走向C/C++开发的进阶之路,更是一个让自己找份薪水比较体面的工作的筹码. C/C++开发进阶的学习路线 1.C++进阶之STL ...

  8. python量化分析前景_Python3 量化分析笔记从小白到破产-学习路线规划

    文:蓝兔子读难NOTES 图: 配图 来源于网络 Python3 量化分析从小白到破产 学习路线规划 编码:0002 上一次我们安装了 jupyter notebook 作为我们的开发环境,但是我们在 ...

  9. 大数据专业就业方向和考研院校及系统学习路线规划

    一.大数据的就业方向: 小标题 一.大数据专业的方向较多,以下是一些常见的方向: 1.数据挖掘与机器学习:主要关注数据的提取.处理.分析和预测,以及机器学习算法的应用. 2.大数据平台与分布式系统:主 ...

  10. 一个C/C++开发工程师的学习路线

    来源连接:https://blog.csdn.net/TeFuirnever/article/details/103388058?depth_1-utm_source=distribute.pc_re ...

最新文章

  1. 在报No suitable driver found for jdbc:mysql情况下,我是如何一步一步实现jmeter成功连接mysql...
  2. 005_logback介绍
  3. wxWidgets随笔(13)-wxBoxSizer类Basic Box Sizer(2)
  4. 对数据科学家来说最重要的算法和统计模型
  5. es6 去掉空格_es6 filter() 数组过滤方法总结
  6. 【Unity Shaders】Mobile Shader Adjustment —— 为手机定制Shader
  7. 将摄像头拍摄图像或者本地图片设置为头像的方法
  8. 文件的基本管理和XFS文件系统备份恢复
  9. cannot import name ‘Imputer‘ from ‘sklearn.preprocessing‘
  10. LTE核心网中,SGW、PGW、PCRF都有计费的功能,请问这几个网元的计费功能有什么区别与联系呢?...
  11. Unity设置和显示FPS
  12. javascript中mouseover和mouseout事件详解
  13. 加多芬科技讲解目前趋势“不带钱包出门”已成趋势 无现金支付你准备好了吗?
  14. 关于DNS的配套工具
  15. Quartus II 13.0sp1 (64-bit)使用教程
  16. SCUPI 第十四周编程作业 SCU 题目笔记
  17. JavaScript轻应用UI介绍
  18. vb.net在自己的应用中嵌入谷歌地球的方法
  19. html5中阴影,HTML5 Canvas 中的颜色、样式和阴影的属性和方法
  20. Flappy Bird开发者接受采访,解释上瘾的危害

热门文章

  1. office下载哪个版本比较好
  2. rss阅读器Reeder 5 for Mac
  3. JSON-RPC是什么东西
  4. 人人商城小程序下单付款报错:“服务器暂时无法处理您的请求,请稍后再试”
  5. 谁来给电视盒子接班?
  6. duet设置_一秒把平板变 PC 电脑的扩展屏幕:TwomonUSB Duet Display 对比评测
  7. PB通过VDN实现Http上传、下载
  8. 机器学习(聚类八)——密度聚类
  9. 红外红外传感器电路图及工作原理
  10. 协同过滤推荐算法总结(转载)