or1200开发环境的安装

以下内容摘自《步步惊芯——软核处理器内部设计分析》一书     


      主要是GNU开发工具链的安装,有了GNU工具链提供的工具,我们可以在Linux环境下将汇编、C代码编译成OR1200平台的可执行代码,这就是交叉编译的过程。有了OR1200的可执行代码,就能够在OR1200模拟器OR1KSim中运行该可执行代码,观察其是否如预期那样执行。


       在介绍GNU开发工具链之前简单说明交叉编译的概念,在嵌入式开发中,开发平台与运行平台往往是不同的,这是因为运行平台上一般都资源有限,不能够安装编译开发环境,因此需要在其他性能更好的平台上安装编译环境,比如我们常在x86的平台上开发OR1200、ARM的应用程序,但是x86与OR1200、ARM是不同的处理器体系结构,也就是处理器的指令集不同,那么就需要x86上的编译器编译得到能够在OR1200、ARM架构下执行的目标代码,这就是交叉编译。图2.1显示x86平台与OR1200平台上“寄存器相与”指令对应不同的二进制编码。



图2.1 x86平台与OR1200处理器“寄存器相与”指令的二进制编码是不一样的


      因此我们在x86上开发程序的时候就需要针对不同的目标平台使用不同的编译工具,从而得到可以在目标平台上执行的二进制代码。在这方面GNU工具链是一个很好的选择。GNU工具链 (GNU Toolchain) 是一组用于开发应用程序和操作系统的编程工具的集合,这些工具构成了一个完整的系统,最重要的是其支持多种目标平台,其中就包括本书要介绍的OR1200。

      GNU工具链包括GCC、Glibc、GDB、GNU Binutils。

      1、GCC

      GCC(GNU Compiler Collection)主要的工具包括cpp、g++、gcc、gcov、gprof等。其中cpp是C预处理器,主要用于在编译C、C++或Objective-C源代码之前对它们进行预处理,由编译器自动调用。g++和gcc可以认为分别是C++和C编译器。

      2、Glibc

      Glibc(GNU libc)是GNU的C标准库,Glibc是移植GNU工具链时一个不可或缺的部分。Glibc主要由两部分组成,一部分是头文件,另一部分是库的二进制文件,包括动态和静态两个版本。有了Glibc就可以使用C语言开发程序。 

      3、GDB

GDB(GNU symbolic debugger)是一个功能很强大的调试工具,可以让用户调

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
开源处理器源代码,学习优秀的代码编写 ////////////////////////////////////////////////////////////////////// //// //// //// OR1200's ALU //// //// //// //// This file is part of the OpenRISC 1200 project //// //// http://www.opencores.org/cores/or1k/ //// //// //// //// Description //// //// ALU //// //// //// //// To Do: //// //// - make it smaller and faster //// //// //// //// Author(s): //// //// - Damjan Lampret, lampret@opencores.org //// //// //// ////////////////////////////////////////////////////////////////////// //// //// //// Copyright (C) 2000 Authors and OPENCORES.ORG //// //// //// //// This source file may be used and distributed without //// //// restriction provided that this copyright statement is not //// //// removed from the file and that any derivative work contains //// //// the original copyright notice and the associated disclaimer. //// //// //// //// This source file is free software; you can redistribute it //// //// and/or modify it under the terms of the GNU Lesser General //// //// Public License as published by the Free Software Foundation; //// //// either version 2.1 of the License, or (at your option) any //// //// later version. //// //// //// //// This source is distributed in the hope that it will be //// //// useful, but WITHOUT ANY WARRANTY; without even the implied //// //// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //// //// PURPOSE. See the GNU Lesser General Public License for more //// //// details. //// //// //// //// You should have received a copy of the GNU Lesser General //// //// Public License along with this source; if not, download it //// //// from http://www.opencores.org/lgpl.shtml //// //// //// //////////////////////////////////////////////////////////////////////

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值