weiqi7777

centos6.5不联网安装terminator

terminator是一个很好用的终端分屏工具。在centos中,如果联网的情况下,直接使用yum命令即可安装。yuminstallterminator但是如果在不联网的情况,就不能使用yum命令了。如果使用源码安装的话,会发现依赖比较多,如果逐个处理依赖的话,就会比较麻烦。此时,使用第二种

获取gcc链接详细信息

gcc在链接过程中,会链接很多库,包括动态库或者静态库。而这些库,包含了若干的.o文件,而在链接的过程中,不是每一个.o文件,都会链接到最终生成的文件中的。那么如何知道,库中的哪些.o文件,链接到最终生成的文件中呢?通过查找资料,找到了gcc的链接选项,-Xlinker

ep3工具安装

在之前的博文(http://www.lujun.org.cn/?p=2099),讲解过如何使用ep3工具。ep3是perl的一个插件,但是从perl插件官网上,下载的ep3插件,是不支持@for和@endfor语法的。我将该插件上,增加了@for和@endfor关键字,并且上传到了我的github:https://github.com/weiqi77

如何往binutils中加入一条riscv指令

riscv支持自定义指令,但是自定义指令,在gcc工具链中,是不支持的,因此需要自己修改gcc工具链,以支持自己定义的指令。gcc工具链中,gcc工具负责将高级语言,转换为汇编程序。binutils中的as工具,负责将汇编程序,转化为二进制程序。我们增加的是汇编指令,因此只需

spike中增加uart外设

spike是官方发布的riscv的指令模拟器。但是在spike中,支持的外设比较少,有如下一些:irom:存放复位之后的boot代码clinc:实现中断ram:模拟DRAM如果我们想要做一个soc级的riscv指令模拟器,那么我们就需要往spike中,增加我们自己的外设。下面介绍下,如何往spike中

centos6.5升级bugzilla版本至5.0.6版本

之前,介绍了如何在centos6.5中,安装bugzilla。当时安装的bugzilla版本是4.4.13。版本相对比较老了。现在bugzilla,都已经升级到5版本,稳定的版本是5.0.6。但是该版本的bugzilla,要求mysql的版本,至少是2.6版本以上。稳妥一点,直接安装2.7版本的mysql。这个mysql的

centos6.5安装bugzilla超详细教程

经过自己的摸索,与尝试,成功在centos6.5上,安装bugzilla。并且可以发送邮件。一、安装软件首先,需要安装一些软件yuminstallmysql-devel-yyuminstallmysql-server-yyuminstallhttpd-yyuminstallgccgcc-c++graphvizgraphviz-develpatchutilsgdgd-develwgetperl*-xperl

eclipse联和DGB在qemu平台调试riscv linux

之前说到了,如何在qemu上,运行riscvkernel。下面说一下,如何使用eclipse+GDB,在qemu平台上调试kernel。${SIFIVE_DIR}是freedom-u-sdk开源项目的本地跟目录。一、配置bbl配置bootloader,生成调试信息。进入到${SIFIVE_DIR}/work/riscv-pk目录,这个目录是编译riscv-

riscv linux在qemu上仿真

经过几天的斗争,终于在qemu上,成功跑通了linux。下面将整个流程,记录下。大致分为如下几步:编译工具链编译linuxkernel编译bootloader编译跟文件系统编译qemu使用qemu,仿真kernel看是有这么多步,挺麻烦的。如果真要自己做,那中间会有很多坑。在这里,我们要感谢si

Make命令的-n选项不起作用

Make命令,提供了-n参数,用来调试makefile。当make有-n参数时,make工具只打印执行的命令,但是却不会真正的执行。比如上面的makefile,执行makeall-n将执行的命令打印出来,但是不会真正的执行。但是当,命令中,有+号,或者${MAKE}时,那么-n选项,就不会起作用了。M

cadence indago征程(六) eswd工具配置与仿真

上一文介绍了eswd工具的使用,该工具,可以将cpu的执行流,与elf程序对应起来,让我们方便的去debug。下面,就说一下,怎么实现上述过程。需要三个文件cpu架构描述文件cpu执行的指令流文件,下文简称tarmac文件eswd配置文件一、cpu架构的描述eswd工具,需要cpu架构的描

ARM DynamlQ架构的power介绍

ARM的处理器,在power架构,根据cluster的架构的变化而发生了变化。一、big-little的power架构如下图,是big-little的power架构,整个cluster的所有组件,均使用相同的电压域。用虚线框包围的区域,表示该模块,有单独的powerdomain。二、DynamlQ的power架构arm在推出Dy

ARM external debug寄存器的访问

在ARM处理器的内部,实现了若干的externaldebug(以下简称ED)寄存器,用来实现处理器的externaldebug功能。一、ED寄存器访问的条件对于ED寄存器的访问,是有条件限制的,一般是如下的几个条件。OFF:core状态是powerdown还是powerupDLK:doublelock状态是lock还是unlock

cadence indago征程(五)最强cpu debug工具-eswd

我们在编写c程序,在调试的时候,希望能够使用visualstudio工具,或者eclipse工具,实现单步调试,让我们能够查看c程序的执行状态,从而帮助我们去调试我们写的c程序。那在soc验证或cpucore验证(以下简称core验证)的时候。我们也是写了c程序(或者汇编程序,以下不区

cadence indago征程(四)仿真加速indago database

indago工具很强大,对于debug环境,非常好用。但是因为仿真过程中,会产生indagodatabase,而database,会记录仿真的所有状态,因此必然就会造成仿真速度慢。如果环境非常复杂,那么仿真速度会奇慢无比。因此,就需要一些手段,来限制indagodatabase的生成,不能记录仿