在基于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的主要内容,如果未能解决你的问题,请参考以下文章
SPI在linux3.14.78 FS_S5PC100(Cortex A8)和S3C2440上驱动移植(deep dive)