嵌入式系统移植课笔记5Linux内核网卡移植(华)

我们除了CPU 有差异以外 , 外围的各种器件board 也是有差异的,
我找到最接近我们板子的 config 配置,
我们要选择一个跟我们功能配置最接近的config 文件,比如三星发布了三款样机,一款三针对平板,一款三针对手机,一款样机针对路由器,而你的产品是针对手机的,你可能比较可能拿了一款针对平板的或者针对路由器的,很多配置都不一样,你要做大量的移植, 所以选配的时候我们要选和我们产品最类似的,

如果你第一次编译uImage 并且运气好, 运行再板子上串口没有问题 可以打印出 CPU版本信息 , 串口输出信息, 只要你看到这些信息那恭喜你,移植内核的第一个大关口 过了, 也就是说. 这个产品支持CPU 支持串口 ,内存是支持的能看到相关的信息, ,但是如果说你运行内核 板子上电运行uImage 这个屏幕是黑的 ,什么信息都没有, 那这个怎么办 ?
那就是第二个问题, 移植对串口的支持, 是不是串口搞错了, 设置得CON2 你用得CON3, 或者地址搞错了

有了串口信息之后就方便你后面得调试了, 如果串口不好, 后面得网卡 摄像头, 移植得时候 没有串口信息帮助, 你怎么知道正常不正常,

移植得工作量, 根据公司得 定制化程度来决定得 ,如果你网卡换了,串口换了 ,usb换了, sd卡换了,换了很多,那工作量就很大.

1.内核选配置 然后编译 , 不顺利得话还要配置一下串口
2.移植改过得设备, 比如网卡移植
3.驱动移植

Linux 内核 配置编译

+嵌入式系统移植课笔记5Linux内核网卡移植(华)

刚才官网下载 Linux 内核 过后找一个最类似的配置,选配过后编译生成我们的uImage , 我们选择一个官方的配置和开发板最接近的,这个配置包括对cpu的支持对外围器件的支持,和最大限度的相似,一般厂商在生产出来cpu过后它都会做个样机,然后把这个样机相关的内容和内核相关的配置, 比如正cpu外面接内存接flash怎么接怎么选配接网卡接摄像头怎么接它都会有一个参考配置,而我们很多公司在开发产品的时候也是去找方案提供商提供的方案和原厂的芯片厂商发布的开发板方案是类似的,我们在它的基础上做一下修改,每个公司可能修改的情况不一样,但是都是基于它作修改,所以我们下载内核过后第一件事情就是选配,进行配置编译,

如果不进行配置 默认是编译 x86 得, 所以这个时候就需要,需要我们去选配一下, 并且我们linux内核默认支持x86的 那么你要编译生成我们的这个arm系列的 A9 4412的这个cpu我们知道不同的cpu他的交叉编译工具链是不一样的, 所以编译的时候你要指定我们的交叉编译工具链, 所以我们要先改一下交叉编译工具链,

arm发布的配置文件目录在,arch/arm/configs/