嵌入式linux怎么学
5个回答
展开全部
你装一个linux系统。当然虚拟机就行。先学习标准C、然后学习linux的Unix C当然这种C很相似。就是函数不太一样。思想都是一样的。
上面两个网上都有教学视频。把网上的教学视频看完就差不多了。当然教程中要求练习的地方必须要动手做。只想大体思路是绝对不行的,这样学到的东西很不扎实。
这两个学习差不过了。就可以买一块开发板玩了。
如果你趋向于裸跑的程序,可以买一个arm7、arm9的板子,当然可以用cortex-m系列的也就是stm32系列的单片机开发板。裸跑和单片机没什么区别了。就是arm的cpu比单片机寄存器复杂一些。这就看你阅读cpu芯片手册的能力了。当然这个平台上也能跑一些系统比如uCOS就是个很好的实时操作系统。
如果你趋向于操作系统,你可以上cortex-a8 、a9系列的cpu了。这个需要学习的东西比较多。学习操作系统的启动代码必须要学。现在最流行的是u-boot。
然后学习一下系统移植方面的东西:
1、文件系统制作 。流行的软件是busybox
2、系统裁剪。这个你买的开发板都会带平台代码。也可以在www.kernel.org上下载源码自己编译。
这个时候你就可以用u-boot(类似我们常见的主板bios)启动你的系统。加载你自己编译好的linux内核。系统就启动起来了。
最难学的是你要搞嵌入式系统的开发。基本要了解linux内核了。自己学的话需要在网上找一找相关教程看看。(这个我不知道有没有视频教程),没有的话要买一个《linux内核高级编程》学习。这本书太难啃了。
要学习带操作系统的嵌入式开发,还远不止我说的那些。还有库移植、makefile脚本也要学习。linux内核启动原理(启动过程加载那些文件、启动参数)。arm启动原理等等。
你可以边工作边学习,从事嵌入式周边行业的(嵌入式应用方面)所以可以学一学嵌入式的图形开发工具:QT,这个很有意思。然后慢慢的想嵌入式方向发展。这是一个漫长的过程。如果想速成也可以报班学习。
另外就是Unix c部分的网络编程很重要这个地方要学好。学好了也可以从事linux的网络协议栈相关工作。
上面两个网上都有教学视频。把网上的教学视频看完就差不多了。当然教程中要求练习的地方必须要动手做。只想大体思路是绝对不行的,这样学到的东西很不扎实。
这两个学习差不过了。就可以买一块开发板玩了。
如果你趋向于裸跑的程序,可以买一个arm7、arm9的板子,当然可以用cortex-m系列的也就是stm32系列的单片机开发板。裸跑和单片机没什么区别了。就是arm的cpu比单片机寄存器复杂一些。这就看你阅读cpu芯片手册的能力了。当然这个平台上也能跑一些系统比如uCOS就是个很好的实时操作系统。
如果你趋向于操作系统,你可以上cortex-a8 、a9系列的cpu了。这个需要学习的东西比较多。学习操作系统的启动代码必须要学。现在最流行的是u-boot。
然后学习一下系统移植方面的东西:
1、文件系统制作 。流行的软件是busybox
2、系统裁剪。这个你买的开发板都会带平台代码。也可以在www.kernel.org上下载源码自己编译。
这个时候你就可以用u-boot(类似我们常见的主板bios)启动你的系统。加载你自己编译好的linux内核。系统就启动起来了。
最难学的是你要搞嵌入式系统的开发。基本要了解linux内核了。自己学的话需要在网上找一找相关教程看看。(这个我不知道有没有视频教程),没有的话要买一个《linux内核高级编程》学习。这本书太难啃了。
要学习带操作系统的嵌入式开发,还远不止我说的那些。还有库移植、makefile脚本也要学习。linux内核启动原理(启动过程加载那些文件、启动参数)。arm启动原理等等。
你可以边工作边学习,从事嵌入式周边行业的(嵌入式应用方面)所以可以学一学嵌入式的图形开发工具:QT,这个很有意思。然后慢慢的想嵌入式方向发展。这是一个漫长的过程。如果想速成也可以报班学习。
另外就是Unix c部分的网络编程很重要这个地方要学好。学好了也可以从事linux的网络协议栈相关工作。
展开全部
1、学C
2、学C++
3、学APUE
4、学VIM
总之学的东西太多了,建议买一两本书回来看或者报个学习班学习。
自己学还是听花时间的。
2、学C++
3、学APUE
4、学VIM
总之学的东西太多了,建议买一两本书回来看或者报个学习班学习。
自己学还是听花时间的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-06-01
展开全部
嵌入式系统作为除PC端外的另一种系统,应用领域极其广泛,分为单片机、ARM、FPGA、DSP、IC设计、微处理器体系结构几个方面。推荐华清创客学院的教程,每个知识点都有对应的案例,理解起来很容易,零基础入门的量身教程。技术问答让你的每天的问题可以得到及时的解答,不留尾巴。课程内容干货多,废话少,交互式让枯燥的课程变得生动有趣,加强你的学习欲望。线上无费用试听
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先试着在PC机上编译内核和编写驱动,可以参考《Linux设备驱动程序》,然后找个ARM板子练习一下,尝试编写一个小的驱动,比如LED灯,蜂鸣器等等。不要忘了多看看关于Linux内核的书,《Linux内核设计与实现》《深入理解Linux内核》等等。
纯手打,求采纳!
纯手打,求采纳!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
linux入门比较难,学的东西很多。首先,C语言要过硬!!一般学习的顺序是:C语言 数据结构 linux操作系统、linux系统编程、arm裸机开发,如果有能力的话 然后进一步的学习linux内核及驱动开发。你可以在网上搜搜嵌入式教程什么的:像卫东山视频,国嵌视频。有免费的视频自己可以看看!!我不是打广告啊,我现在也在学习中,希望对你有点帮助!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询