在基于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   !!!!



posted @ 2017-04-24 18:00  gccbuaa  阅读(377)  评论(0编辑  收藏  举报