weiqi7777

centos6.5 安装wps linux

wps现在有linux版本,linux里面自带的soffice工具,又感觉比较挫,因此考虑在linux中安装wps工具,来操作excel和work文档。安装的linux系统为64位系统的centos6.5,因为该系统没有联网,因此是离线安装。本来以为安装很容易,其实,在安装过程中,遇到了不少坑。特此进

riscv架构printf函数传参研究

printf函数,作为一个经典的函数,经常在c程序中,被使用。printf函数和一般函数的区别在于,参数不定,因此要使用可变参数方式传参。从网上查阅的资料,得知,可变参数传参,是使用栈进行传参。将参数,压入栈中,后续使用参数,再从栈中将参数给弹出来。但是在riscv架

python3出现parser stack overflow解决方案

在使用python3的时候,执行程序,出现了如下错误:s_push:parserstackoverflows_push:parserstackoverflows_push:parserstackoverflows_push:parserstackoverflows_push:parserstackoverflow在程序里面,有使用递归算法。通过在网上查找解决办法,最终找到了解决办法。

riscv32位架构如何进行64位加减运算

在rv32架构下,一个64位变量,是要用2个寄存器保存的。在c程序中,我们是可以直接对64位变量进行加减操作的。那么rv32下,又是如何实现64位加减运算的了?下面来讨论一下。一、64位加测试程序:intmain(){int64_ta=0xbbbbbbbb;int64_tb=0xcccccccc;int64_tc=a+b;printf(

gdb no symbol in current context研究

使用gdb调试程序,当我们需要查看一个变量值,使用p变量,会提示nosymbolxxxincurrentcontext。查阅资料,得知,需要再编译的时候,加上-g选项,并且不能加-On选项,即关闭优化。但是即使使用-g选项并且关闭优化,编译程序,使用gdb调试,依然会出现上述问题。这说明了

riscv-gcc multilib研究

编译riscv工具链的时候,在configure阶段,有--enable_multilib选项,该选项会控制,生成多个仿真库。通过./configure-h,可以查看--enable_multilib选项的功能。--enable-multilibbuildbothRV32andRV64runtimelibraries[--disable-multilib]下面,就要探究以下,这个选

linux module工具安装与使用

linux中的环境变量管理,让人烦不胜烦。但是有了module这个开源的环境变量管理工具,就让linux中的环境变量管理变得容易。以下链接,是module工具的介绍:https://modules.readthedocs.io/en/latest/index.html一、安装module工具,依赖tcl工具,因此首先要安装tcl工具

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-