学习ARM嵌入式开发应准备哪些开发工具和要求?
感谢邀请。
信任这个问题是困扰所有嵌入式初学者的问题,
嵌入式学习必须学习以下课程内容: C语言; C++;操作系统;计算机组成原理; linux编程; 51单片机; arm;硬件编程语言(FPGA);模拟电路&数字电路。
1、cc++语言,这是计算机行业的必修课,必须扎实学习,才能安装 turbo 为了开发环境,C编译器联系C语言编程; 学习C++编程安装vc++6.0。
2、操作系统首先在计算机上安装vmware work station,然后在vmware work 在station中安装一个linux(redhat 企业版)虚拟机。学习操作系统的基本原理,熟悉linux环境下的开发环境,然后你可以根据自己的操作系统写一个操作系统。
3、计算机组成原理,熟悉计算机的基本原理,看一台计算机的基本组成和软件是如何运行的。
4、《unix/linux编程实践教程可以说是linux编程的必修课。这是一本非常好的书。初学嵌入式的朋友可以看看。
5、单片机实际上是一台电脑。例如,它可以实现汽车掌握、led掌握和屏幕亮度掌握。如果你买一块开发板,你可以学到很多别人学不到的东西。
6、arm,现在时髦 说白了,微机是32位的单片机,也可以运行操作系统哦,自己想办法 移植一个操作系统
7、硬件编程语言(FPGA),如何制作芯片,学习这门课,你就知道了
8、模拟电路&数字电路,硬件的基础,如果可以的话,学习protel ,试试自己做个硬件pcb板。
计算机行业都是偏向实践的课程,所以要注意动手能力,
学习嵌入式基础课程时,可以按照这个顺序学习:
1:C语言,计算机组成原理,模拟电路&数字电路
2:汇编语言,单片机,操作系统,C++
3:硬件编程语言,arm
嵌入式开发大致分为硬件、驱动、核心和使用四个方向。如果是嵌入式软件的发展方向,目前很常见
嵌入式Linux+ARM方向可分为三个阶段:
1、嵌入式linux用于上层,包括QTGUI开发
2、开发嵌入式linux系统
3、嵌入式linux驱动开发 目前嵌入式主要面向几个操作系统,LINUX,WINCE、VxWorks等等 Linux是免费开源的,它的源代码是开放的,更适合我们学习嵌入式。
如果自学,可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机,DSP、类似ARM的各种芯片的编程都可以用C语言完成),所以一定要非常熟练 的把握。 推举书:谭浩强很好,《The C Programming Language》 这本经典教材是外国人写的,也有翻译版。
(2) 操作系统原理是必要的。如果你毕业于计算机专业,那没关系。如果你是非计算机专业的学生,你必须找一本相对简单的计算机原理书来阅读一本书,并找出喊“过程”、“线程”、“系统调度”等基本问题。
(3) Linux操作系统是用C语言编写的,所以你也应该首先学习Linux编程。只有当你能使用它时,你才能在近一步中理解它核心的本质。 推荐书籍:UNIX环境高级编程(第二版)
(4) 了解ARM的架构、原理及其汇编指令,我们在嵌入式开发中很少写汇编,但至少要求是理解ARM汇编。
(5) 当系统移植时,您需要从下层bootloader开始,然后进行核心移植、文件系统移植等。移植非常依赖硬件,其配置步骤相对复杂,没有太多详细信息。
(6) 驱动开发 Linux驱动程序设计不仅是一个极具挑战性的领域,也是一个博大精深的内容。 linux驱动程序设计的本质属于linux内核编程的范畴,因此对linux内核和内核编程有要求。在学习之前,如果你想了解linux内核的组成,因为如果你想详细研究每个部分,你可以把它扩展成一本厚书。
给大家搭建一个嵌入式开发学习的学习框架
。最后,祝大家学习成功。