先和大家聊一聊我对于系统移植学习的感悟,之前在老师的带领,我们移植系统的时候执行了一条条指令,但是总感觉哪里有一些问题又说不出来,这些指令都解决了很多问题;但是说到底,自己却不明白这些指令到底是怎么去实现的,这样一套学习下来达不到真正学习系统移植的目的,最重要的还是应该培养一种解决问题的思维,老师不可能随时在身边,上班了需要我们亲自去解决系统移植过程中遇到的问题。
以后我们在做每一步的时候,都必须想清楚,我到底在干什么?我要解决什么问题?搞明白这些,以后不管我们在什么开发环境中,拿到什么芯片板子,都会有自己的思路去上手。
好了进入正题,fristly:什么是系统移植?
相信很大部分人曾今都有抱着自己的电脑,去找修电脑的重装系统吧,维修人员拿着大白菜u盘往你电脑一插,一会功夫收费20。其实这也是系统移植,但是我今天要说的不是教大家怎么去赚这20块钱,而是在我们今后的工作中如何给我们拿到手的一个全新开发板移植一个系统。
所以系统移植就是:让系统在一个全新的板子上可以运行起来。
分开来看,
系统:指操作系统
移植:在植物层面上来说就是嫁接,甚至可以把不同植物的枝相互嫁接;在动物层面上来说移植,大家都知道器官移植,必须要求两个人之间相似度极其吻合,不然会出现强烈的排异性导致移植不成功,还必须一直服用避免排异的药物。
那么对于我们全新的开发板来说,系统移植也要衡量新旧板子之间的相似程度。
一般我们这样来认为:CPU一致,RAM最好相似,FLASH最好相同。
所以,我们系统移植的工作量也由这里来决定,越相似,我们移植干的事情越少。
这就是系统移植。
嵌入式的Linux系统移植主要由这四大部分组成:
1.搭建交叉开发环境
2.bootloader的选择和移植
3.kernel的配置,编译和移植
4.根文件系统的制作

本文详细探讨了嵌入式系统移植的过程,强调了理解每一步操作背后的目的和解决问题的思维。系统移植包括环境搭建、Bootloader选择和移植、Kernel配置编译以及根文件系统制作。在环境搭建中,重点介绍了交叉开发环境的必要性和工作原理,包括交叉编译工具链和常用的网络连接方式如tftp和nfs。此外,文章还讨论了如何构建和选择交叉编译工具链,提供了三种方法供开发者参考。
最低0.47元/天 解锁文章
523

被折叠的 条评论
为什么被折叠?



