在基于or1200处理器的SoC上移植linux

Posted gccbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在基于or1200处理器的SoC上移植linux相关的知识,希望对你有一定的参考价值。

经历了前端的艰苦奋斗。SoC前端设计已经调试完毕,如今直接进入uboot移植

 

首先cd入u-boot-master

找到子文件夹include下得de2_115.h文件进行改动:

(下一步计划:加入flash固化uboot;加入网卡替代串口下载uImage)

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享


 

Cd 进入u_boot_master: 

1)      $  make de2_115_config

2)      $  make

3)      生成u_boot文件,然后用or1ksim.cfg进行仿真

技术分享

生成的u_boot;

 技术分享

得到仿真结果:

 技术分享

技术分享

把QuartusII编译好的SoCproject下载文件soc_top.sof下载到DE2-115开发板:

 技术分享

 技术分享

连上Ubuntu的usb设备接口后:

打开dbg终端:

技术分享

再开一个终端,cd进去u_boot:

1)      输入or32-linux-gdb

2)      进入gdb协议

3)      输入file u_boot  读取u_boot二进制文件

技术分享

 

技术分享

Load完毕后例如以下:

技术分享

1)      set $pc=0x100

2)      打开串口,设置好波特率38400

3)      输入:c  

4)      在串口得到uboot启动结果:

技术分享

 

 

到此。uboot移植已经完毕,接下来完毕移植linux系统

 

1)           cd进入u-boot-master。

2)           再cd 进入tools,找到mkimage。

3)           复制uboot编译后的子文件夹tools下的mkimage工具到/usr/bin;(记住一定要是编译后得到的mkimage工具)

技术分享

技术分享

4)             測试下mkimage : 输入mkimage:得到下图则没问题。

技术分享

 

測试成功;

然后,cd入linux目录(虚拟机soc_design里面有。可是必须得更改makefile的默认配置)

技术分享

打开makefile,改动默认设置。例如以下图:

技术分享

 

然后再cd进子文件夹dts进行设备树改动:

技术分享

打开.dts文件:主要进行时钟频率、波特率以及地址等的改动

技术分享

凝视掉临时未用的mac: 等串口调试能起linux再改网卡:

技术分享

 

依照以下的步骤编译linux内核:

技术分享

上图最后一步就是利用uboot编译后生成的mkimage来制作uboot识别的linux镜像;

技术分享

技术分享

就可以生成

技术分享

进行vmlinux仿真:

技术分享

 

得到仿真结果:

技术分享

 技术分享

利用上图指令生成uImage:

技术分享

把uImage拉出来放到win下串口工具secureCRT的upload文件夹中:

 技术分享

在u_boot上板执行后,输入loady,准备通过secureCRT传输uboot识别的linux镜像uImage到板子上:

 

 技术分享

 技术分享

 

选择Send Ymodem,选择uImage文件进行传输

技术分享


技术分享


传输完成,输入bootm:


技术分享

                              图39

内核成功启动,移植先告一段落,回过头去完毕flash固化uboot。加入mac模块来下载镜像。

 

Keep    fighting   !!!!
































以上是关于在基于or1200处理器的SoC上移植linux的主要内容,如果未能解决你的问题,请参考以下文章

OR1200中指令Cache的结构

SPI在linux3.14.78 FS_S5PC100(Cortex A8)和S3C2440上驱动移植(deep dive)

OR1200处理器中Wishbone总线接口模块WB_BIU介绍

瑞芯微 | 摄像头ov13850移植笔记

uboot之初体验

uboot之初体验