不断看到有网友在论坛发帖问学习嵌入式如何入门.
个人觉得, 主要还是要看个人的兴趣, 看你想向偏软方向还是偏硬方向发展了
向偏软方向的话建议首先看好C, 注意这个看好C,不是指语法层面的, 基本的C语言语法相信一般都没任何问题了. 更重要的是C的编译器是怎么工作地,一个程序编译好后,各项资源是怎么分配的,堆栈是怎么分配的,以及连接器是怎么工作的等等等等, 因为做嵌入式是直接和硬件打交道, 所以需要明白自己写的程序是放在内存的哪里的,运行时各种变量是放在哪的,堆栈是放在哪的,大约要使用多少堆栈.建议有时间看看编译原理, OS原理也是必看的,不过不要一上来就想弄LINUX,这个说实话是不大现实的,LINUX太大了
可以先看看原理的东西,比如说实时OS是什么,进程调度算法有哪些,文件系统是怎么回事等等,然后找个小的OS玩玩,比如UCOSII,然后再上LINUX吧
如果是偏硬的方向,那数电是必须学好的,当然最好能学学CPLD/FPGA,这个在嵌入式系统中也很有用,还有,要学会分析时序,学会看datasheet,不然对着各种器件的时序图和几百页E文datasheet你会很郁闷.
以上是我个人在学嵌入式系统时的体会, 希望可以解除部分网友的疑问.
1楼
0
0
回复
个人觉得, 主要还是要看个人的兴趣, 看你想向偏软方向还是偏硬方向发展了
向偏软方向的话建议首先看好C, 注意这个看好C,不是指语法层面的, 基本的C语言语法相信一般都没任何问题了. 更重要的是C的编译器是怎么工作地,一个程序编译好后,各项资源是怎么分配的,堆栈是怎么分配的,以及连接器是怎么工作的等等等等, 因为做嵌入式是直接和硬件打交道, 所以需要明白自己写的程序是放在内存的哪里的,运行时各种变量是放在哪的,堆栈是放在哪的,大约要使用多少堆栈.建议有时间看看编译原理, OS原理也是必看的,不过不要一上来就想弄LINUX,这个说实话是不大现实的,LINUX太大了
可以先看看原理的东西,比如说实时OS是什么,进程调度算法有哪些,文件系统是怎么回事等等,然后找个小的OS玩玩,比如UCOSII,然后再上LINUX吧
如果是偏硬的方向,那数电是必须学好的,当然最好能学学CPLD/FPGA,这个在嵌入式系统中也很有用,还有,要学会分析时序,学会看datasheet,不然对着各种器件的时序图和几百页E文datasheet你会很郁闷.
以上是我个人在学嵌入式系统时的体会, 希望可以解除部分网友的疑问.