嵌入式开发都要学什么课程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
条件:各种嵌入式芯片、存储器等电路器件,protel99等电 路设计软件,电路板制作。 方法:这时候该有开发条件了,最起码是51系列,这个比较 方便。电路的设计内容较多,不过看起来吓人,实际上比软 件要简单的多。只要下功夫,实践会告诉你一切。 最后如果你把以上的知识都有所了解后,就该去阅读阅读一 些优秀的代码,比如结合arm芯片手册学习去学习下 UBOOT的源代码,了解下最小的系统开发,那对你整个嵌 入式开发的非常有帮助的,可以的话,还可以学习下linux 的源代码,当然如果你直接阅读2.6的代码,我想你会很痛 苦的,可以先看看linux 代码早期的版本,比如0.12 的代码 等等,麻雀虽小,五脏俱全,如果你全看完了,那我想你就 是一名很成功的嵌入式工程师。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
对于 R13 寄存器来说,它对应6个不同的物理寄存 器,其中的一个是用户模式与系统模式共用,另外 5个物理寄存器对应于其他5种不同的运行模式。采 用以下的记号来区分不同的物理寄存器: R13_ 其 中,mode为以下几种模式之一:usr、fiq、irq、 svc、abt、und。
条件:Linux 方法:随便,主要是掌握ANSI C编程(不包括gtk,qt等图形 可视化开发) 首先C语言,这个是毋庸置疑的,不管是学嵌入式软件还是 硬件开发的人员,对C语言的掌握这个是必需的,特别是对 于以后致力于嵌入式软件开发的人,现在绝大部分都是用C 语言,你说不掌握它可以吗?至于如何学习C语言,我想这 些基础的知识每个人都有自己的方法,关键要去学习,看书 也好,网上找些视频看也好。很多人会问,C语言要学到怎 么样,我觉得这没有标准的答案。我想至少你在明白了一些 基础的概念后,就该写代码了,动手才是最重要的,当你动 手了,遇到问题了,再反过来学习,反过来查查课本,那时 的收获就不是你死看书能得到的。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
条件:Linux,各种书,算法、例程。 方法:通过C编程实现简单的网络等知识的算法和 过程。 开发者应该对操作系统有所了解,这对你对硬件和 软件的理解,绝对有很大的帮助。应该把系统的管 理理解一下,比如进程、线程,系统如何来分配资 源的,系统如何来管理硬件的,当然,不是看书就 能把这些理解透,如果不是一时能理解,没关系, 多看看,结合以后的项目经验,会有更好的理解的。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
条件:各个嵌入式网站,讨论组,书籍 方法:少提问(尤其是等着天上掉馅饼,这主要是 防止增长惰性,也解决不了实际问题),多思考。 还有应该学习嵌入式系统,如linux或者wince下的 编程,这些对以后做应用的编程很有帮助,当然, 如果做手机的话,那可以学习MTK、塞班、 Android等操作系统,Android是以后发展的趋势, 现在很热门,Android也是基于linux系统封装的, 所以建议先学习下linux。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
有四种类型的堆栈: 堆栈是一种数据结构,按先进后出(First In Last Out, FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当 前的操作位置,堆栈指针总是指向栈顶。 当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(Full Stack),而当堆栈指针指向下一个将要放入数据的空位置时,称 为空堆栈(Empty Stack)。 同时,根据堆栈的生成方式,又可以分为递增堆栈 (Ascending Stack)和递减堆栈(DecendingStack),当堆栈 由低地址向高地址生成时,称为递增堆栈,当堆栈由高地址向低 地址生成时,称为递减堆栈。这样就有四种类型的堆栈工作方式, ARM 微处理器支持这四种类型的堆栈工作方式,即: ◎ Full descending 满递减堆栈堆栈首部是高地址,堆栈向低地址增长。 栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的 数据)。 ARM-Thumb过程调用标准和arm、Thumb C/C++ 编译器总是使用Full descending 类型堆栈。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
寄存器R13在arm指令中常用作堆栈指针,但这只 是一种习惯用法,用户也可使用其他的寄存器作为 堆栈指针。而在Thumb指令集中,某些指令强制 性的要求使用R13作为堆栈指针。由于处理器的每 种运行模式均有自己独立的物理寄存器R13,在用 户应用程序的初始化部分,一般都要初始化每种模 式下的R13,使其指向该运行模式的栈空间,这样, 当程序的运行进入异常模式时,可以将需要保护的 寄存器放入R13所指向的堆栈,而当程序从异常模 式返回时,则从对应的堆栈中恢复,采用这种方式 可以保证异常发生后程序的正常执行。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
◎ Full ascending 满递增堆栈堆栈首部是低 地址,堆栈向高地址增长。栈指针总是指向堆栈最 后一个元素(最后一个元素是最后压入的数据)。 ◎ Empty descending 空递减堆栈堆栈首部 是低地址,堆栈向高地址增长。栈指针总是指向下 一个将要放入数据的空位置。 ◎ Empty ascending 空递增堆栈堆栈首部是 高地址,堆栈向低地址增长。栈指针总是指向下一 个将要放入数据的空位置。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
现在很多人都在学习arm 嵌入式系统 嵌入式开发 arm核心板 arm9等有关arm的知识,那么在学习 过程中了解arm指令也是必然的,下面我就自己在 学习arm指令中记录的关于队长方面的知识做一个 简单的总结,希望对大家有所帮助 寄存器 R13 在 arm 指令中常用作堆栈指针
www.embedtrain.org www.mobiletrain.org
ຫໍສະໝຸດ Baidu
千锋嵌入式学院 最专业的嵌入式培训机构
条件:各种嵌入式系统开发工具的demo版,包括编译器,仿真器。 可以找高手们要,也可以下载。 方法:这里有两个分支,一个是基于MCU/MDSP的嵌入式系统开 发,一个是象Palm OS,WinCE,uC/OS II等RTOS下的应用软件 开发。对硬件感兴趣,想成为真正高手的由第一个分支入手,以 后进入第二个分支;如果十分厌烦硬件,只想停留在软件开发上 的,可以只由第二个分支入手,以后就和pc上的开发没有什么本 质上的区别了,找份不错的工作应该没问题,可以不用进行下面 的步骤了,感兴趣可以参考第6条。 还有,应该学习下单片机或者ARM或者MIPS,很多人说我没有单 片机的经验,直接学ARM可以吗?我觉得那完全没有问题的,当 然如果你学习过单片机,那最好不过了,以后学习ARM就更简单 了。
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
操作堆栈的汇编指令堆栈类型 入栈指令 出栈指令 Full descending STMFD (STMDB) LDMFD (LDMIA) Full ascending STMFA (STMIB) LDMFA (LDMDA) Empty descending STMED (STMDA) LDMED (LDMIB) Empty ascending STMEA (STMIA) LDMEA (LDMDB)
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
C语言开发 网络、操作系统、体系结构 嵌入式系统概念 嵌入式开发实践 ARM学习之R13寄存器 R13对应的物理寄存器 R13功能 嵌入式之堆栈 硬件开发
www.embedtrain.org www.mobiletrain.org
千锋嵌入式学院 最专业的嵌入式培训机构
相关文档
最新文档