• 当前位置: 主页 > Linux安装教程 > 系统安装 >

    嵌入式Linux的学习路线

    时间:2022-06-03 11:03来源:网络整理 作者:Linux先生 举报 点击:
    湖南成人高考 成人高考 成人高考 成人高考  成人高考 成人高考 
    嵌入式Linux的学习路线,linux,虚拟机,应用程序,操作系统,编程

    想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。嵌入式操作系统一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系统也属于嵌入式的开发。

    嵌入式Linux的学习路线


    嵌入式系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。举例来说,大到工厂生产的流水线,小到家用电器,甚至组成普通PC终端设备的键盘、鼠标、硬盘、Modem等都会应用嵌入式处理器控制的。

    嵌入式系统是IT应用领域最有发展前途行业之一。嵌入式系统一般是用在一些特定专用的设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,大部分产品对成本很敏感,有时对实时响应要求很高等。特别是随着家用电器的智能化普及,嵌入式已经不知不觉走进了我们的生活中。

    既然嵌入式这么受欢迎,那么我们要怎么去学习它呢。

    编程基础

    C语言

    C语言是嵌入式开发必备的基础知识。在Linux下从事C语言的开发,你使用起来会感觉很爽,因为C语言是因unix的出现而诞生的,Linux内核几乎完全是由C语言编写完成的。学习C语言,一定要学会用指针。因为做嵌入式开发指针是非常重要的,做嵌入式开发除了掌握位操作、限定词等,对指针的掌握是不可或缺的。而且要掌握多级指针、函数指针等等。

    涉及到指针,那么必不可少的就是内存分配。在大学中,学习C语言时几乎没听说过内存分配,但是你要从事嵌入式开发,那么就必须懂得C语言是怎么做内存分配管理的。指针之外,还要学习模块化编译处理、指针与数组、gcc、 Makefile、GDB、递归、结构体、宏定义使用等。C语言是整栋嵌入式大厦的基础,所以在学习嵌入式时,必须把C语言的知识打牢固,多敲代码,多练。

    数据结构和算法

    如果说C语言相当于文字,那么数据结构和算法,就相当于在造句、写文章。代码质量有一部分取决于对数据结构的掌握程度。在数据结构部分我们要把链表、树、排序作为学习重点。而且我们也可以查看一些比较常见的函数(如strcopy、strcat、printf等)在内核中是如何实现的,以及编写代码模拟堆栈,这不仅有利于编写代码质量的提高,而且还可以初步了解Linux内核精髓,为今后工作打下坚实的基础。

    C++、QT在嵌入式开发领域,是用来开发图形界面的,如果打算从事上层应用开发及图形界面,那么在C++、QT方面需要比较深入的学习

    Linux学习顺序

    第一部分:Linux平台搭建与环境熟悉

    熟悉linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。

    1、Linux简介;

    2、Linux系统的主要特点;

    3、Linux的组成;

    4、主要的 Linux版本;

    5、嵌入式 Linux简介与发展

    第二部分:虚拟机安装和Linux系统安装

    1、虚拟机安装;

    2、Linux系统的安装;

    3、Linux系统的常用软件的安装;

    4、Linux快速入门

    5、熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell;掌握基本的Shell应用

    第三部分:嵌入式LINUX环境搭建

    1、建立嵌入式 Linux开发环境

    2、熟悉嵌入式开发平台

    3、嵌入式 Linux开发工具

    4、 Linux下的调试技巧

    5、 MAKE工程管理器

    6、硬件环境的搭建;arm-linux-gcc与 gcc安装配置

    第四部分:U-Boot

    熟悉 U-Boot的作用及工作流程;了解Bootloader的代码结构、编译过程;移植U-Boot;掌握常用的U-Boot命令。

    01、Bootloader介绍

    02、u-boot工程介绍

    03、u-boot的编译使用

    04、u-boot源码分析

    05、u-boot资源分配

    06、配置编译u-boot

    07、u-boot移植过程

    08、u-boot常用命令操作

    09、添加u-boot新命令

    10、设置u-boot环境变量

    11、u-boot驱动添加如网卡:DM9000

    第五部分:Linux内核移植

    熟悉内核的原码结构和kbuild Makefile语法;掌握和内核、驱动模块编译相关的原理及方法。

    1、Linux内核介绍

    2、Linux内核特点

    3、Linux内核源代码结构

    4、Linux内核选项解析

    5、Linux内核编译链接

    6、内核模块编译、使用方法

    第六部分:LINUX根文件系统

    1、busybox包移植、编译

    2、Linux跟文件系统制作过程

    3、根文件系统介绍

    4、nfs文件服务器系统搭建

    第七部分:LINUX应用学习

    嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。

    主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境、系统编程以及网络编程,熟悉C++、QT编程并且深刻体会整个嵌入式Linux项目开发流程,强化学员对Linux应用开发的能力。

    1、Linux系统中的进程的概念,在应用程序中线程与父子进程的创建与应用

    2、线程之间、进程之间的通信

    3、进程间通信基本概念

    4、管道(PIPE)

    5、信号(SIGNAL)

    6、内存映射(MAPPED MEMORY)

    7、消息队列(MESSAGE QUEUE)

    8、信号量(SEMAPHORE)

    9、共享内存(SHARE MEMORY)

    10、tcpip协议在应用程序中的编程开发(SOCKET套接字编程开发)

    ISO/OSI七层协议模型与IP网络四层模式

    TCP/IP协议簇

    基于嵌入式Linux的TCP/IP网络结构

    基于嵌入式Linux的SOCKET编程

    UDP与TCP的区别

    10.6. UDP SERVER-CLIENT关系程

    文件读写与存储

    五,嵌入式设计应具备的基本技能

    5.1Linux基础

    ·安装Linux操作系统

    ·Linux文件系统

    ·Linux常用命令

    ·Linux启动过程详解

    ·熟悉Linux服务能够独立安装Linux操作系统,能够熟练使用Linux系统的基本命令

    ·认识Linux系统的常用服务安装Linux操作系统

    ·Linux基本命令实践

    ·设置Linux环境变量

    ·定制Linux的服务Shell

    ·编程基础使用vi编辑文件

    ·使用Emacs编辑文件

    ·使用其他编辑器

    Shell编程基础

    ·Shell简介

    ·认识后台程序Bash编程

    ·熟悉Linux系统下的编辑环境

    ·熟悉Linux下的各种Shell

    ·熟练进行shell编程熟悉vi基本操作

    ·熟悉Emacs的基本操作

    ·比较不同shell的区别

    ·编写一个测试服务器是否连通的shell脚本程序

    ·编写一个查看进程是否存在的shell脚本程序

    ·编写一个带有循环语句的shell脚本程序

    Linux下的C编程基础

    ·linux c语言环境概述

    ·Gcc使用方法

    ·Gdb调试技术

    ·AutoconfAutomake Makefile代码优化

    ·熟悉Linux系统下的开发环境

    ·熟悉Gcc编译器

    ·熟悉Makefile规则编写Hello,World程序

    ·使用 make命令编译程序

    ·编写带有一个循环的程序

    ·调试一个有问题的程序

    本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!

    推荐内容