嵌入式系统怎样学习
我想学习嵌入式系统,请问买那种开发板比较好,价格适中的。还有就是嵌入式该怎样学习,望前辈请教。我是通信专业的,今年刚考上研究生,现在没事想学习...
我想学习嵌入式系统,请问买那种开发板比较好,价格适中的。还有就是嵌入式该怎样学习,望前辈请教。我是通信专业的,今年刚考上研究生,现在没事想学习
展开
5个回答
展开全部
如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关于这个方向,我认为大概分3个阶段:
1、嵌入式linux上层应用,包括QT的GUI开发
2、嵌入式linux系统开发
3、嵌入式linux驱动开发
嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等
Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
所以你可以尝试以下路线:
(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脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
推荐到华清远见的网站上了解嵌入式的课程体系和学习方法。
1、嵌入式linux上层应用,包括QT的GUI开发
2、嵌入式linux系统开发
3、嵌入式linux驱动开发
嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等
Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
所以你可以尝试以下路线:
(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脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
推荐到华清远见的网站上了解嵌入式的课程体系和学习方法。
展开全部
请参照“嵌入式学习指南(必备)”
1、找个方向
2、从你导师项目做起,跟导师要开发板
3、自己确定方向之后再问买那个开发板比较好--此时你自己就可以知道了
AVR开发板--长沙的一公司(QQ:313569424)
arm9开发版---天嵌
1、找个方向
2、从你导师项目做起,跟导师要开发板
3、自己确定方向之后再问买那个开发板比较好--此时你自己就可以知道了
AVR开发板--长沙的一公司(QQ:313569424)
arm9开发版---天嵌
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你的兴趣在哪,如ARM还是FPGA,个人学习的话建议选一些外设资源较丰富的,最好带显示模块,不一定要有很多接口。嵌入式学习最主要还是实践,硬件功能的实现最能检验你的嵌入式技术掌握到哪种程度。
PS:学嵌入式linux的话我用过一种Up-Atom510,,凌动开发板,挺不错的
PS:学嵌入式linux的话我用过一种Up-Atom510,,凌动开发板,挺不错的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,我是凌阳培训的,但是不是发广告的。希望我的回答又参考意义。
首先强调,嵌入式不好学,因为涉及的面比较多,所以,贵在坚持,不能坚持,还是不要学嵌入式了。
开发板其实差不多,现在ARM开发的资料一搜索就能找到好几吨。只要自己把硬件看明白了,改一改就可以了。所以个人觉得价格适中的就好,因为价格太低的不可靠,触摸屏偏差高的吓人。价格高的,有点浪费,因为以后工作用不上。
至于怎么样学,刚才说了,面比较多,得一点一点来,贴一个培训的课程体系,标有时间和目标,仅供参考,你可以仿照这个学习,这个是最精简的应对工作的课程体系,其中时间是按照每周6天每天12时计算的(包括实践时间),所以要根据自己的时间安排换算下:
第一阶段:嵌入式C语言编程
时间:2周
目标:嵌入式C语言在整个过程中起着至关重要的作用。C语言有功能强、使用方便灵活等特点,更重要的是可移植性比较强。一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、C编程语法基础,以及C语言高级编程,为将来的编程工作打下结实的基础。
第二阶段:Linux应用及系统编程
时间:7周
目标:嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境、系统编程以及网络编程,熟悉C++、QT编程并且深刻体会整个嵌入式Linux项目开发流程,强化对Linux应用开发的能力.
第三阶段:嵌入式微处理器及平台开发
时间:3周
目标:平台开发是嵌入式Linux底层开发必备的基本技能,本阶段主要任务有:了解ARM体系结构和编程,掌握bootloader和kernel的移植技能,并了解Linux内核开发相关内容,具备ARM硬件接口的基础知识、制作自己的Linux系统。
第四阶段:嵌入式Linux驱动开发
时间:2周
目标:驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。本课程介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动开发的关键技术点,重点讲解嵌入式Linux下常用接口驱动的编写方法,包括:GPIO驱动、SPI驱动、flash驱动、块设备驱动、网卡驱动、液晶驱动、sd卡驱动等。
首先强调,嵌入式不好学,因为涉及的面比较多,所以,贵在坚持,不能坚持,还是不要学嵌入式了。
开发板其实差不多,现在ARM开发的资料一搜索就能找到好几吨。只要自己把硬件看明白了,改一改就可以了。所以个人觉得价格适中的就好,因为价格太低的不可靠,触摸屏偏差高的吓人。价格高的,有点浪费,因为以后工作用不上。
至于怎么样学,刚才说了,面比较多,得一点一点来,贴一个培训的课程体系,标有时间和目标,仅供参考,你可以仿照这个学习,这个是最精简的应对工作的课程体系,其中时间是按照每周6天每天12时计算的(包括实践时间),所以要根据自己的时间安排换算下:
第一阶段:嵌入式C语言编程
时间:2周
目标:嵌入式C语言在整个过程中起着至关重要的作用。C语言有功能强、使用方便灵活等特点,更重要的是可移植性比较强。一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、C编程语法基础,以及C语言高级编程,为将来的编程工作打下结实的基础。
第二阶段:Linux应用及系统编程
时间:7周
目标:嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境、系统编程以及网络编程,熟悉C++、QT编程并且深刻体会整个嵌入式Linux项目开发流程,强化对Linux应用开发的能力.
第三阶段:嵌入式微处理器及平台开发
时间:3周
目标:平台开发是嵌入式Linux底层开发必备的基本技能,本阶段主要任务有:了解ARM体系结构和编程,掌握bootloader和kernel的移植技能,并了解Linux内核开发相关内容,具备ARM硬件接口的基础知识、制作自己的Linux系统。
第四阶段:嵌入式Linux驱动开发
时间:2周
目标:驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。本课程介绍嵌入式Linux驱动开发相关概念及开发流程,了解驱动开发的关键技术点,重点讲解嵌入式Linux下常用接口驱动的编写方法,包括:GPIO驱动、SPI驱动、flash驱动、块设备驱动、网卡驱动、液晶驱动、sd卡驱动等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意楼上,我的板子是天嵌的,有什么问题可以问我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询