7 Star 0 Fork 10

OpenHarmony / third_party_vixl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

VIXL

简介

VIXL是一个用于生成和解码ARM、AArch64平台指令的开源库。

VIXL包括三个组件:

  • 汇编器:在运行时生成AArch64、AArch32 (Arm and Thumb-2) 指令。汇编器抽象了ISA(Instruction Set Architecture)的约束,例如,大多数指令支持即时操作。
  • 反汇编:可以输出汇编程序编译出的指令所对应的反汇编内容。
  • 模拟器:可以模拟AArch64汇编器编译的任何指令。模拟器允许生成的代码在另一个体系结构(如AArch32架构)上运行,而不需要完整的ISA模型。

为了方舟编译器运行时公共组件能够编译ARM、AArch64平台代码,引入了VIXL。

接口说明

VIXL的一些常用接口说明:

  • MacroAssembler类:用于生成ARM指令的类。它提供了一组函数,用于生成不同类型的指令,如MOV、ADD、SUB等。

  • Label类:用于标记指令的类。它提供了一个Bind函数,用于将标签绑定到指令地址上。

  • CodeBuffer类:是存储生成的指令的类。它提供了一组函数,用于将指令写入缓冲区中。

  • Decoder类:是解码ARM指令的类。它提供了一个DecodeInstruction函数,用于解码指令。

  • Instruction类:是表示ARM指令的类。它提供了一组函数,用于获取指令的不同部分,如操作码、寄存器等。

  • CPUFeatures类:是表示CPU特性的类。它提供了一组函数,用于设置和查询CPU特性。

更多详细信息可以参考接口文档

编译

使用OpenHarmony中编译部件的方式进行编译即可:

  1. 主干代码下载
    repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'
  2. 预处理
    ./build/prebuilts_download.sh
  3. 编译
    ./build.sh --product-name rk3568 --build-target libvixl_frontend_static
    编译生成物对应路径:out/rk3568/obj/third_party/vixl/libvixl_frontend_static.a

许可证

本项目遵从LICENCE中所描述的许可证。

空文件

简介

Third-party open-source software vixl | 三方开源软件vixl 展开 收起
C 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/openharmony/third_party_vixl.git
git@gitee.com:openharmony/third_party_vixl.git
openharmony
third_party_vixl
third_party_vixl
master

搜索帮助