armv8

    0热度

    1回答

    我一直在使用32位iMX6q SABRE-SD板(arm Cortex-A9)进行裸机编程。我使用“arm-none-eabi”作为工具链。现在,我想将我编写的所有代码移植到64位ARM Cortex-A57(R-Car M3板卡)。我将如何选择这个任务的编译器。我可以使用相同的编译器进行一些标志更改以编译64位设计。还是会有制造商提供的任何特定的编译器。 有人会为他/她的嵌入式设计选择编译器。

    0热度

    1回答

    我知道有对这种事情的ARMv5及更高版本armmv6数据表,但是,有没有为armv8至少没有公开给出。我经历了:https://people-mozilla.org/~sstangl/arm/AArch64-Reference-Manual.pdf 我没有实际读过它的所有内容,但解析的东西是这样的:系统定时器,时钟,外设,基址......没有给我任何满意的结果。 我想要的是一个基地址列表,告诉我基

    0热度

    1回答

    我正在尝试使用armv7汇编指令集根据armv7架构编写一个启动加载程序? 例如: 设定CPU到SVC模式上电复位: mrs r0, cpsr bic r0, r0,#0x1f orr r0, r0,#0xd3 msr cpsr, r0 mov pc, lr 将在armv8相同的引导程序的工作。由于armv8也支持aarch32。 但另一方面它也有很多不同之处。

    0热度

    1回答

    我想弄清楚在ARM程序集中数组是如何工作的,但我只是不知所措。我想初始化一个大小为20的数组为0,1,2等等。 A[0] = 0 A[1] = 1 我什至不知道如何打印什么,我必须看看,如果我做得正确。这是我到目前为止: .data .balign 4 @ Memory location divisible by 4 string: .asciz "a[%d] = %d\n"

    0热度

    1回答

    我正在使用ARMv8编码。我几乎完成了我的代码,除了我遇到了问题。当我运行代码时,出现“分段错误(核心转储)”错误。 这个问题的产生是因为当该行用// THIS ONE A注释执行时,它将一个非常大的数字存储到x24中,当它应该存储介于0到50之间的数字时。因此,在标有// THIS ONE B和C的行中,代码试图指向某处,如x29 + 2^40左右,而不是x29 +(0-50)。 我试过通过代码

    0热度

    1回答

    在我的代码,我有 mov x21, 0 str x21, [x29, 16] 代码 再后来, ldr x22, [x29, 16] 存储0到X22。 然后,即使在后面的代码,我有 ldr x23, [x29, 16] 其结束存储214748364800到X23,即使在这两个ldr命令之间没有str命令。 我的问题是我如何设置[x29, 16]位置的观察点在堆栈上,以便我可以看到它的写