首页 > 编程知识 正文

archLinux工具,caxa教学视频教程

时间:2023-05-03 06:41:37 阅读:130464 作者:658

AArch64教程的第一章arch64是ARMv8体系结构的一种新的64位机型,于2011年与ARM一起发布。 逐步部署在智能手机和服务器上。 所以我觉得现在就这个框架学一点比较好。

现在,基于ARMv6/ARMv7的单板电脑很容易买到硬件,其中最受欢迎的选择之一是草莓派。

相反,支持64位ARMv8模式的单板电脑并不多,但最近逐渐流行。 例如Pine64、ODROID-C2、Dragonboard 410c等。 这些都可以开发64位,但对于指定基板的系统开发略有不同。

注意:草莓馅饼3有一个实现ARMv8 64位模式的CPU(Cortex-a53 ),从技术上讲可以运行64位系统。 但是,草莓派基金会提供的软件系统只运行32位,没有提供64位系统更新的官方计划。 SUSE由64位OpenSUSE发布系统,该系统可以在草莓派3上运行。 Arch也可以用64位版安装在草莓馅饼3上。 软件是指没有硬件就无法运行AArch64吗? 当然,在交叉工具链和用户模式的QEMU中,关于64位可以做很多事情。

在Ubuntu 16.04示例中,只需安装QEMU和AArch64的交叉工具链

$ sudo apt-getinstallqemu-user gcc-a arch 64-Linux-GNU现在正在测试可以运行“Hello world”的c程序。 创建hello.c,并将以下代码写入此文件:

#includestdio.hintmain(intargc,char *argv[] ) printf(Helloaarch64! n '; 返回0; }现在,用之前我们安装的AArch64的交叉编译器进行编译。 -静态标志很重要。

$ aarch64-Linux-GNU-gcc-static-ohellohello.c检查它是否是a arch 64的二进制文件

$ file hello hello 3360 elf 64-bitlsbexecutable,ARM aarch64,版本1 (sysv ),statically linked,for GNU/Linux 3.7.0, build id [ sha1 ]=97 C2 BC 66 DBE 4393 aab 9e 4885 df8e 223 a6 baa 235 a、not stripped尝试执行此操作时,应该会因一些混乱的错误而失败

$./hello-bash :/hello : nosuchfileordirectory,但可以在以前安装的AArch64下的QEMU中运行

$ QEMU-a arch 64./hellohelloaarch 64! 嗯!

注:使用此选项时,请记住始终使用qemu-aarch64运行程序。

第一个AArch64编译器给我们写了一个非常简单的程序,只需要返回两个错误代码

//first.s.text.globlmainmain : movw 0,#2ret让我编译

$aarch64-linux-gnu-as-c first.s现在链接到它,为了方便起见,使用gcc

$ a arch 64-Linux-GNU-gcc-static-ofirstfirst.o运行并检查返回值

$./first # oruseqemu-a arch 64./first $ echo $? 2是的!

回顾一下上面各行的代码

//first.s.text行1是示例中使用的文件名注释。 //之后的行是注释,将被忽略。 第2行是程序集指示器,该指示器的意思是“我现在来程序指令了”。 这是因为可以在汇编程序文件中表示数据。 (数据在. data的指示之后)

. globl main此时另一个汇编器指示,指示main是全局符号。 这意味着在构建最终程序时,此文件具有全局主标志。 此标志是c库开始运行程序的位置

main:mov w0,#2 //w0 2ret //return此时我们程序的入口。 第6行是main标记(如上所示为全局标记)。 第七行和第八行是两个命令。 第一条命令是将寄存器w0的值设置为2。 接下来,让我们来看看什么是寄存器。 第二语法从main函数回来,我们的程序马上结束。

函数结束后,w0寄存器内的内容用于决定程序的错误代码。 这就是echo $0为什么要打印2。

关于参考文献AArch64的文献可以在以下URL中找到armarchitecturereferencemanualarmv 8,for ARMv8-A architecture profile

这就是今天的内容。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。