- 论坛徽章:
- 0
|
不知你对嵌入式系统了解多少。也不知道你拿嵌入式系统做什么??如果是工业应用的话就要多学一些了,如果只是做个家庭网关之类的就简单学习一下就可以了。
以比较常用的ARM为例,说说都用到什么知识:
1、ARM芯片以及相关汇编语言,建议直接看三星的说明书,如果你知道一点单片机知识,通过比较你就会知道ARM为什么叫精简指令集。你看出来为什么就算是理解了40%了。这里的知识在高级编程中用的不多,主要是系统移植、bootloader移植、开发等。你可以大概先了解一下。
2、硬件相关知识。从软件角度说,硬件是一些寄存器,以及寄存器的地址,没什么大不了的。但是从硬件本身来说,要弄的东西就很多了,你就要学习protel99等设计软件,以便出PCB图,进而自己焊接开发办,并进行调试。嵌入式系统的特点就是软硬件可裁剪,自己动手弄板子,对你来说很重要。但你要是用现成的一些班子,这个就做不到了。如果侧重网关等非工业应用,且没有精力的话,这些也不要做了。
3、一般一个嵌入式系统要高效运作起来,还要用到CLPD、dsp等常见的外围辅助芯片,如果你侧重的是工业应用,这也是必学的。
4、软件知识就是Linux系统、WinCE等操作系统,如果你侧重非工业应用,这些系统学个差不多就可以编程了。但如果你侧重工业应用,则一般不学Linux与WinCE,而是ucLinux、RTLinux、VxWorks等。每一个操作系统都要精学。
5、为了在PC上开发程序,一般你还要装VMware、ADS等,这些软件不是太好弄的。
6、建立在Linux上的其他知识,就看需要不需要了。一般通讯类编程知识是必学的,非通讯网关类应用,就学个socket、串口就可以,若是研究通讯类网关则要深入学习网络通讯协议了。另外硬件驱动一般也是很有意思的。
总之要学的东西确实非常之多。要是想简单了解一下或者应付毕业论文的话,在网上买个班子所有的一切都是弄好的。你编点程序用minicom传到开发板上就可以了。也确实很简单。 |
|