加载中
RISCV rvv扩展中的SEW与LMUL

SEW: selected element width 动态选择元素的宽度 当前版本spec中SEW可取8、16、32、64,对应的vsew为000、001、010、011。 当SEW取的值为这些数值的时候,VLEN/SEW反映了向量元素的个数 LM...

03/25 16:03
61
C语言如何查看展开宏

对于复杂的宏定义,其展开形式也会比较复杂,比如在宏定义中大量使用##这样的连字符 #define _RVVSETVL(SEW, LMUL, MLEN, T) extension extern __inline word_type attribute ((__always_inl...

03/25 11:58
138
树莓派4上连接阿里云物联网平台

第一步:安装aliyun-iot-linkkit pip install aliyun-iot-linkkit -i http://mirrors.aliyun.com/pypi/simple/ 接着可以根据下面的提示下载Demo文件 https://help.aliyun.com/document_detai...

树莓派4通过串口连接并且连接无线

有时候,手上有一块树莓派,但是没有鼠标和外接键盘,该怎么使用呢? 可以通过串口uart进行连接,并且通过命令行进行配置从而设置连接wifi,接着开启ssh,就可以无线操控了。那么该怎么做呢?...

03/10 17:12
63
探索平头哥开源gcc的P扩展自动向量化

对于平头哥的gcc的P扩展的自动向量化,可以通过对相关的设置进行 #include <stdlib.h> #include <stdio.h> #define N 4 signed short a[N]; signed short b[N]; signed short c[N]; unsigned...

分析riscv gcc中添加全局变量

分析riscv gcc中添加全局变量 文件 gcc/config/riscv/riscv.opt 里面可以添加自己的变量名称 比如 TargetVariable int riscv_test_subext 那么最后生成的文件中有如下的信息 此时可以在gcc中...

2021/12/16 22:27
129
关于在开发gcc时,添加日志log

可以选择 warning(0,"cur isa is %s\n", isa); 此时,在gcc编译后,则可以显示 riscv64-unknown-elf-gcc -march=rv64gc_zbb_zbs -mabi=lp64d main.c -o main riscv64-unknown-elf-gcc: warn...

2021/12/16 21:14
22
关于在开发gcc时,添加日志log

可以选择 warning(0,"cur isa is %s\n", isa); 此时,在gcc编译后,则可以显示 riscv64-unknown-elf-gcc -march=rv64gc_zbb_zbs -mabi=lp64d main.c -o main riscv64-unknown-elf-gcc: warn...

2021/12/16 21:14
0
关于平头哥开源的qemu的编译和运行

关于平头哥qemu的编译和运行 首先下载qemu git clone git@github.com:T-head-Semi/qemu.git 接着开始进行编译 ../configure --disable-werror --prefix=$CI_PROJECT_DIR/thead_qemu --disabl...

2021/12/15 16:55
66
如何编译平头哥的gcc工具链

如何编译平头哥的gcc工具链 平头哥的开源的gcc工具链的目录如下: https://github.com/T-head-Semi/xuantie-gnu-toolchain 当前的编译环境在ubuntu20.04上,首先需要安装如下的工具。 sudo a...

2021/12/14 19:24
219
指令集中RISC和CISC的介绍

1.RISCV vs CISC 关于RISC和CISC在通信领域的表现更加出色的争论是在上个世纪80年代,一段时间内,人们普遍认为RISC是比较好的架构设计,但是实际情况并非如此,主要是受限于芯片尺寸和处理器...

2021/12/09 11:50
160
如何查看riscv gdb的行为

目前可以通过下面的方式查看gdb的执行情况 set disassemble-next-line on

2021/12/08 14:27
128
qemu中如何增加调试信息

qemu中如何增加调试信息 [toc] qemu中增加调试信息非常的重要,下面主要操作一下如何添加调试信息并展示信息。 Invalid device register accesses can be reported with qemu_log_mask(LOG_...

2021/12/03 17:55
104
关于riscv gcc的机器描述文件${target}.md的概述

说明:本文主要摘选自《深入分析GCC》,阅读后做的笔记。 gcc的后端为不同的机器生成代码,关于机器描述文件(Machine Description)文件,描述了目标机器支持的每条指令模板(Instruction P...

2021/10/14 15:20
106
riscv gcc binutils加快开发

为了加快riscv-binutils的开发效率,可以采用一些办法进行操作。 一般来说,编译riscv-gnu-toolchain时间会很长,所以可以采用单独编译riscv-gcc,单独编译riscv-binutils。 刚开始时,需要全...

riscv gcc中如何添加自定义指令

gcc中如何添加自定义指令 概述: 在编译器中,可以直接在riscv64-unknown-elf-gcc中添加自己的指令进行编译。 int sum; int aa1=100; int aa2=200; //插入汇编代码调用add汇编指令进行加法操...

如何理解riscv p扩展的展开

由于riscv的p扩展目前还未完全的定义下来,所以其规范也是在不断的变更。但是有些信息是可以确定下来: 就是P扩展可能会被展开,也就意味着在编译riscv时,需要指定的march更多 march=rv64gc...

2021/09/16 10:58
72
如何查看编译器中的默认的宏定义

~/RISCV/091501/rvp/bin/riscv64-unknown-elf-gcc -march=rv64gcp -mabi=lp64 -E -dM 1.h| grep riscv...

2021/09/15 13:28
198
关于riscv中mv指令的分析

首先从一个错误开始进行分析 /tmp/cc5QntoL.s: Assembler messages: /tmp/cc5QntoL.s:114: 错误:illegal operands `mv a5,0' 编译器中编译时出现如下的错误,其中mv a5,0报错了,原因是什么...

2021/09/15 11:56
65
加快riscv-gcc的开发效率的办法

加快riscv-gcc的开发效率的办法 学习riscv gcc开发,非常重要的一点就是如何编译riscv gcc,当前开发riscv gcc整体上来说编译的速度很慢,原因是编译了riscv-binutils和riscv-gdb以及riscv-n...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部