766培训网
电脑培训
怎么学嵌入式开发

怎么学嵌入式开发

发布时间 :2021-02-03 11:30:35 浏览量:334 收藏
导读:

嵌入式系统是一种专用的计算机系统,运用的技术范围越来越广,想进入嵌入式行业,那么该怎么学嵌入式开发呢?现在就来看看吧。

怎么学嵌入式开发

嵌入式学习方法

1、学好C语言

对于学习嵌入式来说,C语言就是基础部分,它就像你的双脚,你想要跑起来,你对C语言的掌握就一定要达到精通。C语言是可以跟汇编结合对硬件进行操作,嵌入式开发基本用的都是C语言。所以你必须努力将C语言学好。

2、学习嵌入式LINUX

我们知道ARM嵌入式都是带系统,也就是ARM+WinCE、ARM+LINUX或者ARM+VXWORKS。从事嵌入式的工程师至少要掌握一个嵌入式操作系统,这是所以项目中的关键。

3、学习arm体系结构

即使大家觉得汇编设计较枯燥乏味,学汇编可以让你掌握处理器的运行机制,让你写出比较秀、高效率的C语言代码。

4、深入学习内核驱动

学习驱动呢,你就必须看得懂各个内核函数代码,所以你的C语言要过关,刚开始学习的时候,可以模仿驱动的源代码,尽管是很简单的驱动。

嵌入式入门知识点

1、C 语言

嵌入式 Linux 工程师的学习需要具备一定的 C 语言基础,C 语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解 C 语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。

2、Linux 基础

Linux 操作系统的概念、安装方法,详细了解 Linux 下的目录结构、基本命令、编辑器 VI ,编译器 GCC,调试器 GDB 和 Make 项目管理工具, Shell Makefile 脚本编写等知识,嵌入式开发环境的搭建。

3、Linux 系统编程

重点学习标准 I/O 库,Linux 多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对 Linux 应用开发的理解和代码调试的能力。

4、Linux 网络编程

计算机网络在嵌入式 Linux 系统应用开发过程中使用非常广泛,通过 Linux 网络发展、TCP/IP 协议、socket 编程、TCP 网络编程、UDP 网络编程、Web 编程开发等方面入手,全面了解 Linux 网络应用程序开发。重点学习网络编程相关 API,熟练掌握 TCP 协议服务器的编程方法和并发服务器的实现,了解 HTTP 协议及其实现方法,熟悉 UDP 广播、多播的原理及编程方法,掌握混合 C/S 架构网络通信系统的设计,熟悉 HTML,Javascript 等 Web 编程技术及实现方法。

5、数据结构与算法

数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其 C 语言实现过程。

6、C++ 、QT

C++是 Linux 应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及 C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于 QT 具有跨平台、面向对象、丰富 API、支持 2D/3D 渲染、支持 XML、多国语等强大功能,在嵌入式领域的 GUI 开发中得到了广范的应用,在本阶段通过基于 QT 图形库的学习使学员可以熟练编写 GUI 程序,并移植 QT 应用程序到 Cortex-A8 平台。包括 IDE 使用、QT 部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。

嵌入式学完可以做什么

嵌入式软件开发工程师,从事领域很宽泛,特别是工业控制、消费电子与通信设备三大领域,因为就业面很大,所以人才需求也大。既然嵌入式技术应用领域非常广泛,那嵌入式工程师的从业方向可以说是多元化的,在嵌入式培训之后,可以从事消费电子、安全安防、汽车电子、医疗电子、电信等行业的计算机应用设计开发岗位就业,担任嵌入式产品及应用系统的设计与开发工程师,从事嵌入式技术的应用项目设计开发、产品维护与技术服务等工作。

先讲一讲需要掌握的基本技能。首先C语言是所有编程语言中的王者(单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握,大学本科教学中的C语言是远远不够的,有两个非常重要的内容没有讲“文件的操作”和“IO的操作”,其中“IO的操作”是必须掌握的技术。

另外操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。计算机原理应该指的是x86的微机原理吧,但是在嵌入式领域x86处理器只是冰山的一小角,还有很多叫做ARM、XScale、SuperH、68K、PowerPC等等等等,无数的其它处理器,有一些我也叫不上名字。但是,X86总规是基础,万变不离其宗,深入学一下还是非常有必要的。