LinuxDown

LinuxDown.com
Linux系统下载网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

嵌入式工程师的修炼日记——学习设计中的日记

2023年5月19日 49点热度

老话说万事开头难(之后中间难,最后难?),刚开始的时侯,你是否根本就不知怎么开始,上网查资料被一堆堆新名词搞的找不到北,去图书馆看书也是找不到方向?又是arm,又是linux,又是uboot头都大了。不晓得自己到底从那里开始?

下边就跟随我学习设计嵌入式工程师的修练日记吧!

简单说,从arm基础知识到裸机编程,从uCOSII到linux,从linux基础的命令到shell编程,从u-boot到文件系统,最后到现今的linux驱动程序。从简单到复杂,从基础到中级基本是根据这个来的。

第一阶段:嵌入式硬件基础以及裸机程序开发

1.知识点:

(1)arm处理器基础知识,工作模式,寄存器,中断与异常,轮询形式,汇编指令集

(2)熟悉ADS集成开发环境为裸机程序开发做打算

(3)裸机程序开发:LED,并口,LCD,触摸屏,NANDFLASH,IIC,IIS,DMA等

2.过程以及目的:

这一阶段的学习主要是熟悉嵌入式的硬件,为之后的linux驱动打基础。由于嵌入式主打处理器构架就是arm,所以针对arm来学习。首先学习基础知识,之后通过在开发板上的练习来把握。这一阶段所用的资料主要有:

(1)《ARM嵌入式基础教程》这本书主要看arm基础的知识。这本书是讲arm7的,并且arm的基础的指令集以及模型是一样的。

(2)《嵌入式linux应用开发完全指南》这本书主要看介绍s3c2410插口模块的部份,实验裸机的时侯须要硬件的知识。

3.所用时间:大概两个月。

第二阶段:linux基础以及shell编程

1.知识点

(1)linux基础知识

(2)linux安装与使用

(3)linux常用命令

(4)vi使用

(5)简单shell编程

2.过程以及目的:

这一阶段的学习主要是熟悉linux,会安装linux,了解Linux的基础知识,会简单的操作。刚开始安装linux还是在虚拟机上安装比较好,安装开发板推荐的Fedora9,根据开发板配套的说明一步一步的安装,之后在里面练习各类命令。这一阶段主要要看《鸟哥的linux私房菜基础学习篇》,这个书有电子版,也不用全看,主要是看上面对Linux基础知识的描述,以及基本的命令。命令只是了解,这么多记也记不出来,之后用时的再查阅。这一阶段主要目的是对linux有一个整体的了解,最至少要晓得基础的一些概念,还有会一些基本的操作。

3.时间:大概一个月

第三阶段:linux应用程序基础开发

1.知识点:

(1)GCC,GDB,Make基础

(2)文件,时间编程

(3)多进程,多线程程序设计

(4)进程间通讯

2.过程以及目的:

arm嵌入式linux系统构建与驱动开发_arm2440平台linux系统时间的设置修改方法_linux arm修改ip

这一阶段的学习主要是了解linux应用程序的编撰调试,也都是基础知识,主要目的还是熟悉Linux。熟悉其中应用程序有关的一些概念,为之后打基础。这一阶段主要看了《嵌入式Linux应用程序开发标准教程》,这本书对linux上应用程序编撰讲的很详尽,但是不是很难,那本最精典的《UNIX中级环境编程》讲的比较深入,刚开始看有点难,万事开头难还是从简单的开始。学习应用编程之后也不一定搞应用,从事嵌入式linux行业的人,这是必须的基本技能。

3.时间:大概一个月

第四阶段:uCOSII操作系统学习

1.知识点:

(1)嵌入式实时操作系统的概念以及基础知识

(2)uCOSII操作系统源代码阅读

(3)移植uCOSII

(4)uCOSII操作系统应用编程

2.过程以及目的:

这一阶段的学习主要是了解嵌入式实时操作系统的基础,由于uCOSII是开源的,可以研究他的代码。对操作系统的任务调度以及资源管理有直观的认识。而且阅读他的源码才能提升自己的编程能力与虽然友规范自己的编程习惯。善之臂提供了uCOSII的移植版本。并且自己实际移植一次就能有更深刻的认识。这个操作系统比较简单,所以应用程序的编撰就很重要arm2440平台linux系统时间的设置修改方法,在里面实现几个功能还是有助于对系统的理解。这一阶段主要看的就是绍贝贝翻译的uCOSII作者所著的《嵌入式实时操作系统uCOS-II》,上面对操作系统的源码有这详尽的剖析。看穿这本书后才会对uCOSII有一个深入的了解。这一阶段的主要目的是了解操作系统的知识linux社区,例如任务调度,并发与竞态。还有一个目的就是锻练自己的编程能力。由于假如看介绍操作系统原理的书会比较沉闷,我觉得阅读一个操作系统的源码比看一千本介绍原理的书来的便宜的多。

3.时间:大概一个月

第五阶段:bootloader学习

1.知识点:

(1)bootloader基础知识

(2)u-boot基础与命令

(3)u-boot移植

2.过程以及目的:

bootloader是一个linux嵌入式系统的不可缺乏的部份。这一阶段的学习主要是了解bootloader的作用,以及通用bootloader---u-boot的知识,刚开始学会用u-boot的各类命令。之后剖析u-boot的启动流程和Makefile以及u-boot加载内核过程。之后根据他人的步骤一步一步的移植内核,多做几编以熟悉这个过程。之后在熟悉整个u-boot的基础上,只身完成u-boot的移植,并添加自己更改。这一阶段主要参考资料就是光碟自带的u-boot移植参考指南和一些网路上的文章。个人觉得u-boot移植这方面的网路资源相当的丰富。

3.时间:大概一个月

第六阶段:文件系统学习

1.知识点:

(1)linux文件系统的种类与作用

(2)熟悉busybox的使用,以及linux系统启动过程

(3)建立自己的根文件系统

2.过程以及目的:

文件系统也是一个linux嵌入式系统不可缺乏的部份,这一阶段的学习主要是熟悉根文件系统的作用以及基础知识。而且自己建立自己的根文件系统。这一阶段所看的书有《构建嵌入式linux系统》,这本书详尽讲解了嵌入式linux的所有元素linux系统怎么样,包括文件系统.这儿主要看文件系统这块。我还参考了网上的一些文章。这儿首先要熟悉基本的一些Linux文件系统,然后学习busybox的使用以及linux的启动过程,最后参考他人的一步一步来建立自己的文件系统。

3.时间:大概半个月

第七阶段:嵌入式图形界面GUI

1.知识点:

(1)嵌入式图形界面GUI的种类与特征

(2)minigui基础知识

(3)minigui移植与程序编撰

2.过程以及目的:

嵌入式图形界面GUI作为嵌入式下层系统的东西也是须要了解的,这儿我只学习了minigui,由于QT是须要C++的知识,而我没有学过C++.所以只看了minigui的相关知识。这个阶段的目的主要是熟悉一下嵌入式图形接界面的开发流程,由于之后也不准备搞应用。只是熟悉一下嵌入式组成的一些方面。这儿只要将minigui移植到板子上能跑hello程序就可以了。其他的也不用深入了解。通过移植minigui对linux上运行的软件以及函数库,程序运行原理,编译器就会有一个新的认识。

3时间:大概半个月

第八阶段:linux驱动程序基础知识

1.知识点:

(1)看完《LINUX设备驱动程序》除了网路驱动程序,tty驱动程序,块驱动程序这几章不看,其他的都要看完。

(2)实验书中所有类库,要仔细剖析结果,理解相关知识点。

(3)即使是反例,程序编程习惯一定要统一,文档一定要规范。

2.过程以及目的

这一阶段的目的就是为了linux驱动打基础,《LINUX设备驱动程序》(第三版)也就是你们所说的ldd3,是最精典的一本讲linux驱动的书,一定要看并且多看几遍。第一次看很难看进去arm2440平台linux系统时间的设置修改方法,觉得讲的冗长难懂。并且多看几遍都会由恍然活泼的觉得。看完了书,之后就是实验书中的事例。

3.时间:大概两个月

第九阶段:linux驱动实战

1.知识点:

(1)通过led驱动理解杂项字符设备的注册与实现,并把握MINI2440的IO操作过程。

(2)通过button驱动程序把握基本的中断实现方式。

(3)把握PWM驱动程序。

(4)通过触摸屏驱动程序把握input设备模型的实现。

(5)把握ADC驱动程序的设计

(6)把握看门狗,rtc驱动程序的设计

(7)通过LCD驱动程序剖析platform设备模型的实现。

2.过程以及目的:

这一阶段的学习主要是把握实际的简单的驱动程序的实现与ldd3中的差异,但是剖析一些linux子系统。通过这一阶段的学习,才能对linux驱动程序有更深入的认识。而且锻练自己阅读海量代码的能力。这一阶段主要工作就是看代码,实验,看代码,实验,通过现象学习知识。

3.时间:大概一个月

第十阶段:深入理解linux内核与USB子系统的研究

前九个阶段完成了,自己觉得嵌入式Linux应当应当算是入门了。所以要开始计划第十个阶段了。这一阶段基本上要确定自己未来的发展方向了。由于现今嵌入式系统的标准插口都有USB,所以学会USB的相关知识是很有竞争力的。搞驱动的人对内核应当有一定的了解,所以《深入理解Linux内核》还是必须的。这一阶段主要是学习USB合同,阅读linuxUSB子系统全部的代码,通过阅读代码加深对USB的理解,此后就是熟悉各类USB类合同,编撰和移植USB驱动了。USB是我确定的方向,由于我想搞哪些东西都要专情,哪些都搞,哪些也搞不好。所以我决定学习USB。决定之后从事嵌入式有关USB方面的工作。这一阶段的学习正在进行中,如今正在linuxUSB子系统广袤的代码中漫游。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 嵌入 操作 移植 编程 阶段
最后更新:2023年5月19日

Linux系统下载网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

Linux系统下载网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
CentOS必备:高效编写代码,CodeBlocks安装教程 美国虚拟主机为什么钟情Linux操作系统,Linux有何优势 苹果电脑装Linux:实现双系统启动! 如何使用花生壳+SSH实现Linux服务的远程访问难题? Linux环境变量修改,让系统更智能 微软年度开发者大会Build2023:AI应用开发的关键一环 Linux基础命令大全,轻松掌握! 微软Build2023助力全球开发者共同把握新机遇 RedHat 6.5下载、安装配置,官网提供! 无需公网IP、不用路由器设置,就能实现Windows远程访问Linux系统办法 微软Build大会宣布了哪些重大产品和更新?回来了 Redhat启动界面问题解决,畅享系统体验! Linux解压zip文件9招 基于Linux系统的USBHOST驱动程序设计与实现(HC) Linux退出文本编辑,优雅又简单! 斑马智行王恺:智能网联汽车技术进步与商业化应用 安装必要工具**-- Linux内核24版源代码全解析! Linux系统管理 Fedora20安装指南:轻松上手
各个Linux系统设置开机自启动脚本示例代码:CentOS必备:高效编写代码,CodeBlocks安装教程轻松下载安装Linux操作系统ISO,快速上手!两年前的预言几乎都成为现实,Meizu魅族M9智能手机探秘Linux内核用户空间:你了解几个?(Linux基础知识)Linux系统安装ethtool固件版本的方法探究Linux网络操作系统各版本:详细分析8个方面如何在UbuntuLinux上安装Go开发环境嵌入式系统接口设计与Linux驱动开发:9方面详解Linux下配置JDK、Tomcat以及部署geowebcache配置地图发布环境掌握Linux系统调用头文件,轻松实现应用案例Linux操作系统的命令及管理命令汇总!!微软VisualStudio2015支持外接应用安装步骤和新功能Linux高效开发 | CodeBlocks编程利器node切换工具nvm安装并切换nodejs版本的注意事项!轻松查询20款主流Linux发行版本,全面了解最新动态韩国Linux多线程服务端编程使用C++网络库编程Linux也能玩安卓应用,9个简单安装步骤!掌握Linux查询版本命令,轻松获取系统信息Linux开机后自动运行用户的应用程序或启动系统服务的命令
美国Linux服务器系统账户的管理事项有哪些呢? 解锁Linux声卡创新 KX驱动,音效焕发新生! 解决Linux Zip文件中文乱码问题的有效方法 linux内核和系统的区别?系统和centos系统可能会使用 监控u盘格式化成什么格式好?和NTFS格式 Linux内核版本的命令(3种方法) Linux渗透利器:工具包解析 轻松安装RedHat和Oracle 10g,快速搭建服务器 探秘Linux内核用户空间:你了解几个? Linux系统管理 node切换工具nvm安装并切换nodejs版本的注意事项! Linux必备:零错误MQ下载、安装及使用全攻略 斑马智行王恺:智能网联汽车技术进步与商业化应用 进程读写数据时除了使用和readwrite,还需要执行一次拷贝 关键词:工控主板能支持什么版本的LINUX系统?依据 轻松搞定CentOS本地域名解析与静态IP设置 Linux中的文件系统:Linux支持超过12个采用NFS技术 如何查看Linux系统信息? Linux如何指定复制文件? CentOS轻松查看监听端口,实用技巧与案例
标签聚合
命令模式 电脑 虚拟机 linux服务器 sudo linux系统 文件目录 操作 软件 centos
书籍
课程
技术群
技术干货大合集↓
  • 2023年5月 / 114篇
  • 2023年4月 / 115篇
  • 2023年3月 / 265篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 LinuxDown.com ALL RIGHTS RESERVED.

京ICP备14023444号-2