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

时间: 2024-10-26 20:03:04

在基于or1200处理器的SoC上移植linux的相关文章

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

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 WB_BIU模块是OR1200处理器与外部Wishbone总线连接的接口模块,15.1节给出了WB_BIU模块的对外连接关系,并指出WB_BIU模块的三个作用.因为OR1200处理器支持Wishbone B3版本,所以在15.2节介绍了Wishbone B3版本中的寄存反馈总线周期,重点说明了其中的周期类型识别地址标签CTI_O/CTI_I.突发类型扩展地址标签BTE_O/BTE_I的作用. 15.1 WB_BIU模块的对外连接关系 通过

基于OR1200的一个简单SOPC

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 在本书第2章建立了最小系统,最小系统只由CPU.QMEM模块组成,借助于最小系统,我们分析了OR1200各类指令的执行过程.熟悉了流水线的工作原理以及CPU内部各个模块的代码实现,第10章在最小系统上增添了IMMU.DMMU模块,借此分析了OR1200中内存管理单元的实现原理.本章将建立一个基于OR1200的简单SOPC,后面的示例程序将运行在这个简单SOPC之上,借助于该SOPC分析OR1200中ICache.DCache.Wishbo

OR1200处理器的Store Buffer分析

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 14.1 SB模块的作用与工作过程 ICache是直接与Wishbone总线接口单元WB_BIU相连的,但是在DCache与Wishbone总线接口单元WB_BIU之间插入了一个Store Buffer(SB)模块,如图1.6所示. SB的作用是通过缓冲存储操作,从而加快存储操作.其原理是这样的:当执行存储操作时,可能需要通过WB_BIU将要写的数据写入外部Memory,尤其是在通写法模式下,每次执行存储操作都要将数据写入外部Memory

在android上移植ios

Android与IOS是最受人们欢迎的两大移动平台,Android与IOS之争是一个永久的话题.接下来笔者就结合自己的知识和网上的一些文章,谈谈这两个系统的不同以及关于移植的话题,希望也是大家比较关心的话题. 一.关于Android与IOS的不同 应该会有很多机友都有类似疑问,感觉大多数安卓手机在流畅度上不如iPhone手机.先不说一些配置低的安卓机,即便是最新版安卓系统的旗舰手机,有时会感觉达不到iPhone手机的那种流畅度,因此有人以此判断安卓手机不好.其实,这都是二者系统机制不同导致的差异

or1200处理器的异常处理类指令介绍

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 我们在计算机体系结构的学习中知道:中断实质上包括由外部事件引起的硬中断(又称外中断)和由内部预先安排的特定指令或内部异常引起的软中断(又称内中断或异常)两大类.在OR1200处理器中将中断称之为异常(exception),硬中断是其中的一种异常,当然这只是说法的不同而已.当异常发生时,有关处理器的状态信息被存储到某些寄存器,OR1200处理器转移到事先定义好的一个地址,在那个地址中往往有异常处理例程,在其中进行异常处理,这个地址称为异常处

腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人、QQ公仔、定制开发板等礼品等

一.产品介绍 TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率.TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如STM32全系列)及模组芯片上.而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云

SFTP基于Key多进程批量并发上传文件实现案例(python)

最近在研究Paramiko,Paramiko可以非常方便的实现基于SSH协议的远程连接,可以基于 口令,也可以无口令RSA非对称密钥,亦可以实现SFTP上传下载操作,安全高效,再结合多 进程或者是多线程就可以实现并行处理,写了一个简单的SFTP基于Key多进程批量并发上传 文件的实现案例,供以后参考. 安装加密模块和Paramiko模块 下载:pycrypto-2.6.1.tar.gz paramiko-1.10.1.tar.gz 安装: tar -zxf pycrypto-2.6.1.tar.

OR1200处理器的可编程中断控制器PIC分析

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 16.3可编程中断控制器PIC分析 16.3.1 PIC介绍 可编程中断控制器Programmable Interrupt Controller(PIC)用来响应各种中断事件,如:键盘事件.串口数据到达等,PIC收集所有的中断,并通知CPU中断到达,后者转入到中断处理例程进行处理.OR1200最多支持32个中断.其功能实现主要依靠两个特殊寄存器:中断屏蔽寄存器PICMR.中断状态寄存器PICSR.通过PICMR可以设置是否屏蔽某些中断,通

OR1200处理器的计时器模块TT介绍

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 16.2.1 TT介绍 计时器模块(Tick Timer:TT)一般用在操作系统的进程调度.用户程序的定时参考等.TT内部会对时钟周期计数,当计数值达到一个预设值时,会产生中断,通知处理器进行处理.其实现的主体是两个特殊寄存器:计时器单元计数寄存器TTCR.计时器单元模式寄存器TTMR,通过这两个SPR的不同配置,实现不同的工作模式,以及计时中断的产生.TTCR.TTMR是第10组特殊寄存器,如表16.4所示.TTCR.TTMR的格式分别