在学习系统移植的相关知识,在学习和调试过程中,发觉了好多问题,也解决了好多问题构建嵌入式linux系统,但总是对于我们的开发结果有一种莫名其妙的觉得,纠其缘由,主要对于我们的开发环境没有一个深刻的认识,有时侯几个简单的命令就可以完成极其复杂的功能,而且我们有没有想过,为何会有这样的疗效?
若果没有去追问,只是机械地完成,但是见到实验疗效,这样做虽然并没有真正的把握系统移植的本质。
在做每一个步骤的时侯,首先问问自己,为何要这样做,之后再问问自己正在做哪些?搞明白这几个问题,我认为就差不多了,之后不管更换哪些平台,哪些芯片,哪些开发环境,你都不会迷糊,很快还会上手。对于嵌入式的学习方式,我个人方式就是:从宏观上掌握(解决为何的问题),微观上研究(解决正在做哪些的问题),下边以自己学习的arm-cortex_a8开发板为目标,介绍下自己的学习技巧和经验。
嵌入式物联网须要学的东西真的特别多,千万不要学错了路线和内容,引起薪水要不起来!
无偿分享你们一个资料包,差不多150多G。上面学习内容、面经、项目都比较新也比较全!某鱼上买恐怕起码要好几十。
点击这儿找小助理0元发放:嵌入式物联网学习资料(头条)
嵌入式Linux系统移植主要由四大部份组成:
一、搭建交叉开发环境
二、bootloader的选择和移植
三、kernel的配置、编译、和移植
四、根文件系统的制做
第一部份:搭建交叉开发环境
先介绍第一分部的内容:搭建交叉开发环境,首先必须得思索两个问题,哪些是交叉环境?为何须要搭建交叉环境?
先回答第一个问题,在嵌入式开发中,交叉开发是很重要的一个概念,开发的第一个环节就是搭建环境,第一步不能完成,前面的步骤从无谈起,这儿所说的交叉开发环境主要指的是:在开发主机上(一般是我的pc机)开发出才能在目标机(一般是我们的开发板)上运行的程序。嵌入式比较特殊的是不能在目标机上开发程序(狭义上来说)红联linux论坛,由于对于一个原始的开发板,在没有任何程序的情况下它根本都跑不上去,为了让它能否跑上去,我们还必需要利用pc机进行烧写程序等相关工作,开发板能够跑上去,这儿的pc机就是我们说的开发主机,想想若果没有开发主机,我们的目标机基本上就是难以开发linux认证,这也就是电子行业的一句格言:搞电子,说白了,就是玩笔记本!
之后回答第二个问题,为何须要交叉开发环境?主要诱因有以下几点:
缘由1:嵌入式系统的硬件资源有好多限制,例如cpu显存相对较低构建嵌入式linux系统,显存容量较小等,想想让几百MHZ外频的MCU去编译一个Linuxkernel会让我们等的不耐烦,相对来说,pc机的速率更快,硬件资源愈发丰富,因而借助pc机进行开发会提升开发效率。
缘由2:嵌入式系统MCU体系结构和指令集不同,因而须要安装交叉编译工具进行编译,这样编译的目标程序才才能在相应的平台上诸如:ARM、MIPS、POWEPC上正常运行。
交叉开发环境的硬件组成主要由以下几大部份:
1.开发主机
2.目标机(开发板)
3.两者的链接介质,常用的主要有3种形式:(1)并口线(2)USB线(3)网线
对应的硬件介质,还必需要有相应的软件“介质”支持:
1.对于并口,一般用的有并口调试助手,putty工具等,工具好多,功能都差不多,会用一两款就可以;
2.对于USB线,其实必需要有USB的驱动才可以,通常芯片公司会提供,例如对于三星的芯片,USB下载主要由DNW软件来完成;
因为时间缘由,先分享到这儿,更详尽的可以点击文中资料发放。