对于一个非计算机专业的学生来说,要想成为一名嵌入式系统工程师至少应该学那些课程??
发布网友
发布时间:2022-05-07 08:39
我来回答
共2个回答
热心网友
时间:2023-10-22 19:01
这样的提问只会引来一堆培训机构的托,
成天如附骨之蛆的发广告拉人全国上下天南海北的跑。
肉麻的鼓吹低门槛高就业的神话。
卖学历发证书撒工作,要什么都有,
没有基础没有条件也上,满足所有想象力的赞美之词,
现身说法/道听途说,自己/朋友/亲戚多么感激涕零五体投地。
你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
热心网友
时间:2023-10-22 19:01
这样的提问只会引来一堆培训机构的托,
成天如附骨之蛆的发广告拉人全国上下天南海北的跑。
肉麻的鼓吹低门槛高就业的神话。
卖学历发证书撒工作,要什么都有,
没有基础没有条件也上,满足所有想象力的赞美之词,
现身说法/道听途说,自己/朋友/亲戚多么感激涕零五体投地。
你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
热心网友
时间:2023-10-22 19:02
学嵌入式有三个方面:底层硬件(数电、模电、pcb布板、芯片(如单片机、arm、dsp、cpld)裸板程序设计(汇编或者c)),操作系统内核和驱动(如linux、ucosII、wince、Vxworks等,对于不同硬件平台的移植),上层软件(相对于不同系统而言的软件编写)。嵌入式就是软件、硬件、操作系统都得会才行。
热心网友
时间:2023-10-22 19:02
学嵌入式有三个方面:底层硬件(数电、模电、pcb布板、芯片(如单片机、arm、dsp、cpld)裸板程序设计(汇编或者c)),操作系统内核和驱动(如linux、ucosII、wince、Vxworks等,对于不同硬件平台的移植),上层软件(相对于不同系统而言的软件编写)。嵌入式就是软件、硬件、操作系统都得会才行。
热心网友
时间:2023-10-22 19:01
这样的提问只会引来一堆培训机构的托,
成天如附骨之蛆的发广告拉人全国上下天南海北的跑。
肉麻的鼓吹低门槛高就业的神话。
卖学历发证书撒工作,要什么都有,
没有基础没有条件也上,满足所有想象力的赞美之词,
现身说法/道听途说,自己/朋友/亲戚多么感激涕零五体投地。
你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
热心网友
时间:2023-10-22 19:02
学嵌入式有三个方面:底层硬件(数电、模电、pcb布板、芯片(如单片机、arm、dsp、cpld)裸板程序设计(汇编或者c)),操作系统内核和驱动(如linux、ucosII、wince、Vxworks等,对于不同硬件平台的移植),上层软件(相对于不同系统而言的软件编写)。嵌入式就是软件、硬件、操作系统都得会才行。