当前位置: 首页 > news >正文

手机网站与PC网站用墨刀做视频网站

手机网站与PC网站,用墨刀做视频网站,网站怎么做音乐播放器,小公司有必要买财务软件吗今天在GitHub上看到一个C语言项目#xff0c;用大约600行代码实现了一个RISC-V CPU核#xff0c;甚为感叹#xff0c;分享一下。不管是学习C#xff0c;还是学习RISC-V#xff0c;这个项目都有非常高的学习价值#xff0c;开源万岁#xff01; rv 用 ANSI C 编写的RISC…今天在GitHub上看到一个C语言项目用大约600行代码实现了一个RISC-V CPU核甚为感叹分享一下。不管是学习C还是学习RISC-V这个项目都有非常高的学习价值开源万岁 rv 用 ANSI C 编写的RISC-V CPU 内核。 特征 RV32IMC用户级实现通过 riscv 测试中所有支持的测试~600 行代码不使用任何大于 32 位的整数类型即使对于乘法也是如此简单 API两个函数加上您提供的两个内存回调函数无内存分配 应用程序接口 /* Memory access callbacks: data is input/output, return RV_BAD on fault, 0 otherwise */ typedef rv_res (*rv_store_cb)(void *user, rv_u32 addr, rv_u8 data); typedef rv_res (*rv_load_cb)(void *user, rv_u32 addr, rv_u8 *data);/* Initialize CPU. */ void rv_init(rv *cpu, void *user, rv_load_cb load_cb, rv_store_cb store_cb);/* Single-step CPU. Returns 0 on success, one of RV_E* on exception. */ rv_u32 rv_step(rv *cpu);用法 #include stdio.h #include string.h#include rv.hrv_res load_cb(void *user, rv_u32 addr, rv_u8 *data) {if (addr - 0x80000000 0x10000) /* Reset vector is 0x80000000 */return RV_BAD;*data ((rv_u8 *)(user))[addr - 0x80000000];return RV_OK; }rv_res store_cb(void *user, rv_u32 addr, rv_u8 data) {if (addr - 0x80000000 0x10000)return RV_BAD;((rv_u8 *)(user))[addr - 0x80000000] data;return RV_OK; }rv_u32 program[2] {/* _start: */0x02A88893, /* add a7, a7, 42 */0x00000073 /* ecall */ };int main(void) {rv_u8 mem[0x10000];rv cpu;rv_init(cpu, (void *)mem, load_cb, store_cb);memcpy((void *)mem, (void *)program, sizeof(program));while (rv_step(cpu) ! RV_EECALL) {}printf(Environment call %08X: %u\n, cpu.pc, cpu.r[17]);return 0; }为rv编译程序 使用 riscv-gnu-toolchain 工具链和 rv链接脚本。 建议使用gcc命令行 riscv64-unknown-elf-gcc example.S -nostdlib -nostartfiles -Tlink.ld -marchrv32imc -mabiilp32 -o example.o -e _start -g -no-pie然后用obj工具将0x80000000起始的二进制代码生成能被rv加载的二进制文件 riscv64-unknown-elf-objcopy -g -O binary example.o example.bin支持的指令列表 参见 支持指令列表。 公众号 | FunIO 微信搜一搜 “funio”发现更多精彩内容。 个人博客 | blog.boringhex.top
http://www.dnsts.com.cn/news/158191.html

相关文章:

  • 人才招聘网站开发 源代码网站建设怎么付费
  • 广州做外贸网站多少钱南昌搜索引擎优化
  • 渭南华阴建设银行的网站是多少威海微网站建设
  • 自己如何做购物网站如何修改公司网站内容
  • 网站模板目录一个新品牌怎样营销推广
  • wordpress 插件路径seo优化能提高网站的流量吗
  • 北京市住房城乡建设部网站古镇免费网站建设
  • 做网站纸张大小邢台ps网络设计
  • 起重机网站怎么做只做一页的网站多少钱
  • 公司需要一个简单的网站保定市网站制作
  • 海口公司网站建设西安市建设工程交易信息网
  • 贵阳网络营销推广专家大连网站seo顾问
  • 做静态网站步骤如何优化关键词提升相关度
  • 一键网站建站系统房屋设计软件有哪些
  • 给企业做网站用什么程序机械类外贸网站建设
  • 制作app免费网站模板下载什么是网络广告营销
  • 邵阳做网站的公司网站的关键词
  • 中国人做外贸网站都卖什么wordpress 工具安装教程
  • 站长怎么添加网站内容二级域名注册平台
  • 做轮播海报的网站网站后台上传图片失败
  • 哪个网站做的游戏好玩wordpress mu下载
  • 网站访客qq号码获取mine-video wordpress
  • 网站地图无法生成2023一般纳税人企业所得税怎么算
  • 如何找网站制作wordpress 国产主题
  • 青岛网站制作设计设计工作一般多少工资
  • 大型大型网站制作兰州网站建设运营方案
  • 品牌建设 网站网站建设费属于哪个税种
  • 外贸网站优势注册公司流程和费用公司注册
  • 标准网站建设合同网站备案每年一次
  • 古董交易网站怎么做泰州做网站淘宝