0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【赛昉科技昉·星光RISC-V单板计算机试用体验】在starfive下面测试跑一下setjmp和longjmp用于statethread

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-14 10:50 次阅读

本文来源电子发烧友社区,作者:jf_06445065, 帖子地址:https://bbs.elecfans.com/jishu_2293504_1_1.html

因为starfive是riscv的指令集,所以也就需要了解一下寄存器和常用的指令。
主要是参考这里:https://en.wikipedia.org/wiki/RISC-V

主要就这么一个表格。

但是在srs的statethread里面sp被移动了一个位置,便于修改,所以稍微修改一下位置即可:

.file "md_linux.S"
.text


/* _st_md_cxt_save(__jmp_buf env) */ /* The env is $a0, https://en.wikipedia.org/wiki/MIPS_architecture#Calling_conventions */
.globl _st_md_cxt_save
.type _st_md_cxt_save, %function
.align 2
_st_md_cxt_save:
sd    sp,0(a0)
sd    ra,8(a0)
sd    s0,16(a0)
sd    s1,24(a0)
sd    s2,32(a0)
sd    s3,40(a0)
sd    s4,48(a0)
sd    s5,56(a0)
sd    s6,64(a0)
sd    s7,72(a0)
sd    s8,80(a0)
sd    s9,88(a0)
sd    s10,96(a0)
sd    s11,104(a0)
li    a0,0
jr ra
.size _st_md_cxt_save, .-_st_md_cxt_save

/****************************************************************/

/* _st_md_cxt_restore(__jmp_buf env, int val) */
.globl _st_md_cxt_restore
.type _st_md_cxt_restore, %function
.align 2

_st_md_cxt_restore:
ld        sp,0(a0)
ld        ra,8(a0)
ld        s0,16(a0)
ld        s1,24(a0)
ld        s2,32(a0)
ld        s3,40(a0)
ld        s4,48(a0)
ld        s5,56(a0)
ld        s6,64(a0)
ld        s7,72(a0)
ld        s8,80(a0)
ld        s9,88(a0)
ld        s10,96(a0)
ld        s11,104(a0)
li a0,1
jr ra
.size _st_md_cxt_restore, .-_st_md_cxt_restore

然后就放到srs目录里面就可以编译SRS跑功能强大的流媒体直播服务器了,甚至支持WebRTC。

不过starfive提供的fedora在编译环境方面好像略有些别扭,不过也还勉强可以用:

[riscv@fedora-starfive helloworld]$ g++ -dM -E - null | grep riscv
#define __riscv 1
#define __riscv_atomic 1
#define __riscv_cmodel_medlow 1
#define __riscv_fdiv 1
#define __riscv_float_abi_double 1
#define __riscv_mul 1
#define __riscv_muldiv 1
#define __riscv_xlen 64
#define __riscv_fsqrt 1
#define __riscv_compressed 1
#define __riscv_flen 64
#define __riscv_div 1
[riscv@fedora-starfive helloworld]$

后来我是用__riscv来做环境分析的,然后不影响其他平台编译兼容了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RISC-V
    +关注

    关注

    44

    文章

    2230

    浏览量

    46037
  • 赛昉科技
    +关注

    关注

    3

    文章

    146

    浏览量

    14261
收藏 人收藏

    评论

    相关推荐

    预售启动!·星光 2 AI套件正式发布,基于RISC-V构建AI算力

    10月24日,·星光2(VisionFive2)AI套件正式开启预售。该套件由中国RISC-V软硬件生态领导者科技携手边缘人工智能(A
    的头像 发表于 10-25 08:05 172次阅读
    预售启动!<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2 AI套件正式发布,基于<b class='flag-5'>RISC-V</b>构建AI算力

    Ubuntu现已适配RISC-V单板计算机Milk-V Mars

    近期,Canonical宣布优化的Ubuntu24.04镜像已可用于RISC-V单板计算机Milk-VMars。Milk-VMars由深圳市群芯闪耀科技有限公司(Milk-V)设计并推
    的头像 发表于 06-12 08:19 426次阅读
    Ubuntu现已适配<b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>Milk-<b class='flag-5'>V</b> Mars

    畅玩·星光 2|手把手教你搭建基于RISC-V的家用NAS

    方案。通过科技与开源社区的共同努力,·星光2(VisionFive2)RISC-V单板计算机
    的头像 发表于 06-04 08:19 851次阅读
    畅玩<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2|手把手教你搭建基于<b class='flag-5'>RISC-V</b>的家用NAS

    信用卡大小的 RISC-V 单板计算机介绍

    信用卡大小的 RISC-V 单板计算机 —— Mars Mars 由深圳市群芯闪耀科技有限公司(Milk-V)设计并推出,搭载科技
    发表于 04-12 16:39

    科技为RISC-V人才培育赋能

    中国RISC-V软硬件生态领导者,科技受邀峰会发表主题演讲,并正式加入RISC-V国际人才培养认证中心。
    的头像 发表于 04-02 08:18 454次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技为<b class='flag-5'>RISC-V</b>人才培育赋能

    科技VisionFive 2生态进展双周报(2.1-2.29)

    Image for VisionFive 2) 社区开发者发布4篇【·星光 2高性能RISC-V单板计算机体验】系列文章,内容包括:为Ubuntu安装Docker及常用软件;以容器
    发表于 02-29 15:45

    RISC-V智能化网络解决方案|科技·星光 2成功运行OpenWrt

    。近期,科技·星光2(VisionFive2)RISC-V
    的头像 发表于 02-23 08:18 631次阅读
    <b class='flag-5'>RISC-V</b>智能化网络解决方案|<b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2成功运行OpenWrt

    ·星光 2 高性能RISC-V单板计算机体验】以容器的方式安装 HomeAssistant

    ·星光 2 高性能RISC-V单板计算机体验】以容器的方式安装 HomeAssistant 下载并启动容器 HomeAssisatant 官方并没有提供基于
    发表于 02-21 18:07

    ·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件

    ·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件 目的 为了更好的利用星光2,决定使用容器
    发表于 02-21 17:54

    ·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu

    ·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu 前言 很感谢
    发表于 02-21 17:49

    ·星光2 RISC-V单板计算机体验(三) - SSH连接

    ·星光2 RISC-V单板计算机体验(三) - SSH连接 、官方资料 RISC-V官网:
    的头像 发表于 02-21 10:21 470次阅读
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>体验(三) - SSH连接

    ·星光2 RISC-V单板计算机体验(二) - 系统环境

    ·星光2 RISC-V单板计算机体验(二) - 系统环境 、官方资料 RISC-V官网: [
    的头像 发表于 02-21 10:15 615次阅读
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>体验(二) - 系统环境

    ·星光2 RISC-V单板计算机体验() - 开箱

    ·星光2 RISC-V单板计算机体验() - 开箱 、开箱
    的头像 发表于 02-21 10:10 642次阅读
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>单板计算机</b>体验(<b class='flag-5'>一</b>) - 开箱

    ·星光 2 高性能RISC-V单板计算机试用体验】开箱及装载Debian系统

    上周收到了·星光 2高性能RISC-V单板计算机开发板,在此非常感谢科技提供的
    发表于 01-24 00:32

    256核!发布全新RISC-V众核子系统IP平台

    Coherency)和内存子系统。该RISC-V众核子系统IP平台可广泛应用于服务器、DPU、计算存储、网络通信、AI等领域。 StarLink-700 RISC-V众核子系统IP
    发表于 11-29 13:37