当前位置: 技术问答>linux和unix
linux/arm迷茫中望指点方向
来源: 互联网 发布时间:2016-07-28
本文导语: 我是一名大四学生,很想进入嵌入式行业,自学了linux系统,现在只能说入门了吧,对于arm没多少了解,学过单片机,我总是觉得arm和单片机没什么区别(我知道arm比单片机复杂)。在网上看了很多资料以后,大概的能...
我是一名大四学生,很想进入嵌入式行业,自学了linux系统,现在只能说入门了吧,对于arm没多少了解,学过单片机,我总是觉得arm和单片机没什么区别(我知道arm比单片机复杂)。在网上看了很多资料以后,大概的能够理解嵌入式的整个过程,就是在PC机上写程序,编译,调试,然后传到arm板子上去运行,但具体是怎么做的,就不知道了,现在我很迷茫,我很想从0一步一步的学习。
我想请教下面问题:
1、linux要学到什么程度才能进行arm开发。
2、进行arm开发需要什么基础。
3、现在arm主要是用什么语言进行开发.
4、如果要买开发板的话,最好买哪个(我是学生没多少钱)
5、有没有系统学习linux/arm开发的一个流程(就是从0开始,需要学习的东西。我应该看什么书做些什么,入门了又看什么书,又做些什么····)
因为这些都是我自学,学校没有开课,现在我非常希望能得到指点方向。
我想请教下面问题:
1、linux要学到什么程度才能进行arm开发。
2、进行arm开发需要什么基础。
3、现在arm主要是用什么语言进行开发.
4、如果要买开发板的话,最好买哪个(我是学生没多少钱)
5、有没有系统学习linux/arm开发的一个流程(就是从0开始,需要学习的东西。我应该看什么书做些什么,入门了又看什么书,又做些什么····)
因为这些都是我自学,学校没有开课,现在我非常希望能得到指点方向。
|
1. 熟悉基本的Linux命令,基本的Linux开发环境(脚本语言, C语言的交叉编译/Makefile编写)即可
2. 如果是开发应用程序,高级语言(如C/C++语言)即可,不需要了解ARM体系结构
如果开发驱动程序,一般开始也不需要了解ARM体系结构,
如果要做Bootloader(或者了解ARM启动的全过程),需要了解ARM体系结构及ARM汇编语言。
3. Bootloader用C语言和ARM汇编,驱动程序用C语言,应用程序用C/C++,或其他
4. 网上搜搜,500多就可以买个不错的了。
5. 学嵌入式最重要的是动手实践(Learn by doing)。我的建议是先从驱动程序开始,通常三剑客就是
芯片的SPEC,电路图的schematic,写Linux驱动程序的通用框架(如audio对于alsa,video对于v4l2,clock对于clock通用框架,就连驱动程序本身也是设备模型)。对于Linux驱动程序的编写,看LKD2(Linux Kernel Development 2nd),LDD3(Linux Device Driver,3rd),UTLK3(Understanding the Linux Kernel 3rd)。
2. 如果是开发应用程序,高级语言(如C/C++语言)即可,不需要了解ARM体系结构
如果开发驱动程序,一般开始也不需要了解ARM体系结构,
如果要做Bootloader(或者了解ARM启动的全过程),需要了解ARM体系结构及ARM汇编语言。
3. Bootloader用C语言和ARM汇编,驱动程序用C语言,应用程序用C/C++,或其他
4. 网上搜搜,500多就可以买个不错的了。
5. 学嵌入式最重要的是动手实践(Learn by doing)。我的建议是先从驱动程序开始,通常三剑客就是
芯片的SPEC,电路图的schematic,写Linux驱动程序的通用框架(如audio对于alsa,video对于v4l2,clock对于clock通用框架,就连驱动程序本身也是设备模型)。对于Linux驱动程序的编写,看LKD2(Linux Kernel Development 2nd),LDD3(Linux Device Driver,3rd),UTLK3(Understanding the Linux Kernel 3rd)。