菜鸟求问,从零基础到学完掌握arm嵌入式要多久?
1.在仅剩的两年时间里,足不足够学好ARM?
2.学习ARM需要哪些基础知识做铺垫?
3.学习ARM的同时要不要学习Linux?
4.ARM嵌入式是否有分为几个小向方?
在这里先谢谢大家。
两年的时间足够了,C语言是必须的.
足够 , C ,shell linux
方向 : 系统应用 底层驱动 网络编程 内核定制
首先有C的基础 其实可以先不上系统 玩下单片机 再慢慢往上走
首先,以我本人的经历,我可以肯定的告诉你:肯定可以的。
我也是去年大三刚刚开学的时候,跟着老师做项目,做了差不多4个多月的样子,我主要是负责做底层的固件开发,包括内核移植、内核驱动的开发、文件系统的制作等等;刚刚接触嵌入式Linux的时候,也是零基础,要学的东西很多,当时也看了很多书,我觉得首先要熟悉Linux开发的流程。
学ARM的话,我个人觉得还是要以嵌入式Linux为主,毕竟不跑系统就觉得很浪费资源,学Linux要熟悉一些常见的shell命令、Kbuild和Kconfig规则(内核的Document目录下面有相关的介绍)。最常用的shell命令不是很多,前期入门的时候,不要花太多时间去学shell,熟悉最常用的十几个命令就可以了,后面遇到不懂得再去查。
嵌入式Linux,主要分为用户空间的应用程序开发和底层固件开发。一般而言,固件工程师的要求要高于应用软件工程师的层次,而其中的 Linux 设备驱动编程又是 Linux 程序设计中比较复杂的部分,究其原因,主要包括如下几个方面:
a. 设备驱动属于 Linux 内核的部分,编写 Linux 设备驱动需要有一定的 Linux 操作系统内核基础;
b. 编写 Linux 设备驱动需要对硬件的原理有相当的了解,大多数情况下我们是针对一个特定的嵌入式
硬件平台编写驱动的;
c. Linux 设备驱动中广泛涉及到多进程并发的同步、互斥等控制,容易出现 bug;
d. 由于属于内核的一部分,Linux 设备驱动的调试也相当复杂。
够得,不过要加把劲学呀。
新手表示只能慢慢学了
关键看看你否有C基础,2年的时间学好ARM足够了,还需多实践应用