经历了前端的艰苦奋斗,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编译好的SoC工程下载文件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 !!!!