问题标签 [armv8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
544 浏览

arm - 在 Windows 上构建和调试 ARMV8 汇编器应用程序

我正在尝试学习 ARMV8 汇编程序,并正在尝试在 Windows 上构建一个测试应用程序。我已经安装了 ARM DS-5 社区版,版本 5.26.2。在尝试安装工具链后,我终于在这里安装了“mingw32”工具链:here。这似乎可行 - 我现在可以编译和链接我的应用程序(它由一个 c 文件和一个 .s 程序集文件组成。创建的目标是一个“.axf”文件。

但我无法调试。我将调试器设置为“\gcc-linaro-6.3.1-2017.02-i686-mingw32_aarch64-linux-gnu\bin\aarch64-linux-gnu-gdb.exe”,位于我下载工具链的目录之外。gdb 启动,但我收到以下错误: 最终启动序列中的错误 无法执行 MI 命令:-exec-run 来自调试器后端的错误消息:不知道如何运行。尝试“帮助目标”。不知道怎么跑。尝试“帮助目标”。

有什么建议么?坦率地说,我真的不知道我在这里做什么。我不确定我是否正确设置了工具链。问题是我找不到任何关于如何在 Windows 中执行此操作的文档。

提前致谢!

0 投票
1 回答
6389 浏览

verilog - 在 Verilog 中实现一个 32x64 的寄存器文件

以下是寄存器文件的规格:

  • 总线 A、B 和 W 为 64 位宽。

    当 RegWr 设置为 1 时,总线 W 上的数据在负(下降)时钟沿存储在由 Rw 指定的寄存器中。

    寄存器 31 必须始终读取为零。

    来自寄存器的数据(由 Ra 和 Rb 指定)分别在总线 A 和总线 B 上发送,延迟 2 次。

    写入寄存器文件必须有 3 个 tic 的延迟。

注册文件模块应具有以下接口:

这是我目前的程序

我想知道如何将 RA 和 RB 初始化为零,并想知道如何将数据从 RA 和 RB 正确发送到 BusA 和 BusB

0 投票
1 回答
901 浏览

c - 如何在 ARMv8 程序集中输入 EOF?

我正在使用具有 Aarch64 执行状态的 ARMv8 指令集。我遇到的问题是应该将 C 代码转换为程序集,我被困在以下问题上:

我知道 while 循环的基本设置,以及如何测试c != '\n',但我遇到的问题是如何EOF在汇编中编写。我可以打字吗

或者是别的什么?

0 投票
1 回答
2228 浏览

gcc - 为 64 位 arm 设计选择 gcc 编译器

我一直在 32 位 iMX6q SABRE-SD 板(ARM Cortex-A9)中进行一些裸机编程。我使用“arm-none-eabi”作为工具链。现在,我想将我编写的所有代码移植到 64 位 arm Cortex-A57(R-Car M3 板)。我将如何为此任务选择编译器。我可以使用带有一些标志更改的相同编译器来编译 64 位设计吗?或者是否有制造商提供的任何特定编译器。

有人会如何为他/她的嵌入式设计选择编译器。

请帮忙。

问候,

阿杰马尔

0 投票
1 回答
415 浏览

assembly - 条件分支是否更新 ARMv8 中的标志

我正在尝试实现类似于以下 C 代码的内容:

所以我想知道是否可以通过在 ARMv8、AArch64 指令集中执行以下操作来做到这一点:

这行得通吗?检查条件分支后标志是否保持设置(或不设置)?

0 投票
0 回答
661 浏览

assembly - ARM v8 汇编语言程序

您好我正在尝试在汇编中创建一个程序:

从键盘上读取一个整数和一个字符并进行一些计算。该计划是关于用水量的。如果输入错误,程序应打印错误消息然后终止。例如,如果我首先给出整数并且为负数,则程序应打印错误并终止。

虽然,它总是打印错误消息,我需要一些帮助......如果有人可以提供帮助,这是我的代码

https://drive.google.com/file/d/0B0HbcT5zQEuGaEYtNUhxYk9GcE0/view?usp=sharing

.Question_typos:

.string "请输入使用类型 (o/O e/E b/B) :"

.Question_kivika: .string "请输入您用过的水量:"

.ScanfStr: .string "%c"

.ScanfStr2: .string "%d"

.Reply: .string "结果是:%d\n"

.Reply_error: .string "无效的数据输入。\n" .text .align 2 .global main

主要的:

.LFB0:

计算账单:

结果: mov x1,x21 adrp x0, .Reply add x0, x0, :lo12:.Reply bl printf nop ldp x29, x30, [sp], 32 ret

错误消息:adrp x0, .Reply_error add x0, x0, :lo12:.Reply_error bl printf nop ldp x29, x30, [sp], 32 ret

执行的图片

http://imgur.com/cyKUJPW

0 投票
0 回答
299 浏览

c - 字符在 Assembly ArmV8 中未正确实现

我正在使用 armv8 程序集编写程序。问题发生在我尝试从键盘扫描字符的地方。我有两个输入调用。第一个扫描一个整数,第二个扫描一个字符。当我扫描大于 255 的数字时,我可以理解该字符无法正确读取。我正在使用以下命令进行扫描:

该程序的目的是获取一个整数和一个字符并进行一些计算。因此,我正在比较角色,并跳入所需的标签。但是,当数字大于 255 时,则无法正确读取字符并且不会跳转到正确的标签。当我使用“%s”而不是“%c”时,程序运行良好。

0 投票
2 回答
614 浏览

raspberry-pi - 在哪里可以找到有关 raspberry pi 3 外围设备的文档?

我知道这种东西有 armv5 和 armmv6 数据表,但没有 armv8 的数据表,至少没有公开给出。我经历了:https ://people-mozilla.org/~sstangl/arm/AArch64-Reference-Manual.pdf

我实际上并没有通读所有内容,但是解析以下内容:系统计时器、时钟、外围设备、基地址……并没有给我任何令人满意的结果。

我想要的只是一个基地址列表,告诉我基本外设地址是什么,系统时钟的相对地址是什么,邮箱相对地址是什么......以及任何和所有其他内存映射的外设。

0 投票
1 回答
200 浏览

assembly - armv7 的引导加载程序是否适用于 armv8?

我正在尝试使用 armv7 汇编指令集根据 armv7 架构编写引导加载程序?前任:

重置时将 cpu 设置为 svc 模式:

相同的引导加载程序是否可以在 armv8 上运行。由于 armv8 也支持 aarch32 。但另一方面,它也有许多不同之处。

0 投票
1 回答
336 浏览

assembly - 为什么 beaglebone black uboot 配置为 CONFIG_SYS_CPU="armv7"。bbb什么时候是armv8?

使用为 bbb 配置 uboot 后查看 .config 文件

制作 am335x_boneblack_defconfig

表明:-

为什么 bbb 的 uboot 配置为 armv7 ,因为它是 armv8 ?

我正在尝试探索引导加载程序。我正在尝试编写一个新的引导加载程序。所以以上配置的 a/c,armv7 的引导加载程序应该适用于 armv8 吗?

我很困惑,因为它是同时支持 aarch32 和 aarch64 执行状态的 armv8。如果它在 AArch64 中,那么它有不同的指令集。

加载 uboot 之前的处理器配置是什么模式?

如果这不是要问的正确论坛,请告诉我。