请选择 进入手机版 | 继续访问电脑版
搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-7-31 12:00:45 6051 浏览 0 回复

iTOP-4412开发板Linux内核移植

本帖最后由 翠花儿 于 2021-7-31 12:04 编辑

迅为的 4412 开发板已经得到官方(www.kernel.org)的默认支持,但这并不意味这下载完以后可以直接使用,仍需要一些基本的配置和编译,以下给出步骤供大家参考:
1 从官网下载linux 内核
从 Linux 官网下载内核,因为在 4.10 以后的内核版本中 Linux 官方增加了对迅为 itop 开发板的支持。所以我们要下载这个版本之后的。
Linux 官方网站是“https://www.kernel.org/ 如下图所示:
我们进入 linux 官网,为了和之前的教程统一,这里我们选择 4.14.2 的内核版本。下载完成后,我们放在 ubuntu 里面备用,如下图所示:
2 安装编译器
编译器版本:gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz ubuntu 版本:ubuntu12.04我们把编译器在/usr/local/arm/下解压,得到 gcc-4.6.2-glibc-2.13-linaro- multilib-2011.12 的目录。如下图所示:
接着我们修改环境变量,在.bashrc 文件底行添加环境变量,注意这里,大家要屏蔽掉其他的编译器,如下图所示:
更新环境变量,我们使用命令 source .bashrc 更新环境变量,然后重启 ubuntu,如下图所示:
3 配置内核
1)在 ubuntu 上解压我们下载的 linux 源码,然后进入到解压的文件,打开顶层Makefile,如下图所示:
2)在顶层 Makefile 里面找到 251 和 252 行,修改平台和编译器,修改完成后, 如下图所示:
3)生成.config,我们直接使用官方的默认配置即可,直接输入命令 make exynos_defconfig,如下图所示。
4)配置平台和调试串口。在内核源码下输入命令 make menuconfig 打开menuconfig,如下图所示:
5)选择芯片类型,我们进入下面的路径,
System Type        --->        
Samsung EXYNOS        --->
把这个路径的选项配置成下图所示:
6)配置调试串口,我们返回到 menuconfig 第一级目录,从第一级目录进入到以下路径:
Kernel hacking        --->
选中 Kernel low-level debugging functions (read help!),
如下图所示:
然后选择 Kernel low-level debugging port (Use Samsung S3C UART 0 for low- level debug) 选项,把串口设置成串口 2,如下图所示:
返回到 menuconfig 第一级目录,从第一级目录进入到以下路径:
Device Drivers        --->        
Character devices        --->        
Serial drivers--->
选中
Samsung SoC serial debug (NEW)
Support for console on SamsungSoC serial port
如下图所示:
返回到 menuconfig 第一级目录,从第一级目录进入到以下路径:
Device Drivers        --->
去掉 DMA 支持,如下图所示:
设置完成后,保存并退出。
4 编译内核
我们输入以下命令:
make uImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- LOADADDR=0x40007000 -j4
其中 LOADADDR=0X40007000 表示指定内核的加载地址,如下图所示:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml4924\wps15.jpg
编译完成如下图所示:
5 修改dts文件
第一处:注释我们进到内核 arch/arm/boot/dts/下,里面默认有 itop 的设备树文件,如下图所示: 我们打开 exynos4412-itop-scp-core.dtsi 文件,修改设备树文件。
注释掉掉 29 到 32 行的代码,如下图所示
第二处:因为没有 events 这个属性,所以我们要把 71 行的 events 修改成 event,如下图所示:
第三处:配置核心板电源芯片,这部分大家可以对照下 scp 的核心板原理图,把下面的代码修改成如下图所示:
第四处,我们打开exynos4.dtsi 这个文件,如下图所示,
然后找到第 473 行代码,注释掉pdma0 18,如下图所示:
编译设备树,我们输入以下命令,如下图所示:
make dtbs ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
6 烧写镜像
我们把编译生成的uImage 和dtb 文件拷贝fastboot 工具,uboot 使用我们移植好的uboot_2015.04 即可,具体烧写方法大家可以看设备树视频烧写章节。
后记:这章我们给出了从官网下载原生内核,然后通过各种配置运行到开发板的步骤。由于开发板上的接口非常多,接下来大家如果有兴趣,可以对各个不同的外设移植驱动了,大家可以尝试从移植和研究当中学习Linux 的开发技巧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表