第二部分:bisheng 使用指南¶
本项目使用的 bisheng 基于 Clang/LLVM 15.0.5,AI Core 目标不是默认 host target,因此每条命令都必须明确指定 triple 和 CPU。
两种调用模式¶
| 模式 | 入口 | 用途 |
|---|---|---|
| 编译驱动 | ./bisheng -target ... |
C/Ascend C 预处理、优化、代码生成及目标文件生成 |
| 集成汇编器 | ./bisheng -cc1as -triple ... |
汇编 .s、显示机器码、生成可重定位目标文件 |
CPU 选择¶
驱动模式:
汇编器模式:
不要用普通 -mcpu=dav-c220-vec 替代上述参数。当前驱动会提示该参数未使用,随后可能因为目标 feature 未启用而拒绝 builtin。
Windows 环境¶
随项目使用的 bisheng 是 Linux ELF。Windows PowerShell 中应通过 WSL 运行:
后续页面使用 Linux shell 命令;在 WSL 中把工作目录切换到 bisheng 所在目录即可。
推荐工作流¶
flowchart LR
C["Ascend C / builtin"] -->|"-S"| S["目标汇编 .s"]
S -->|"-cc1as -show-encoding"| E["汇编 + 小端字节"]
S -->|"-cc1as -filetype obj"| O["ELF 目标文件"]
C -->|"-c"| O
I["GNU inline asm"] --> C