-
从官网选择一个ARM DS-5版本进行下载
我选择的版本是5.26.2, 已经支持Arm v8了。
下载完成后,解压, 点击setup.exe 进行安装, 安装完成后需要添加license, 否则项目无法编译。
license添加完成后既可以正常使用。
##使用DS-5 创建程序
-
首先新建一个空的C project, 输入project name, 选择tool chains为Arm compiler 6。
-
右击刚才新建的project, 添加source file
新增一个C文件 main.c 和一个汇编文件 asm_add.s。写一个很简单的a + b =c的程序。代码的核心部分使用汇编实现,C程序主要是入口以及检查结果的准确性。
汇编部分:
-
代码编译
在编译之前需要预先做一些配置, 右击项目, 点击属性,选择C/ C++ build
选择设置, 将All Tools settings下的target CPU更改为arm v8:
将ARM linker6 中的Image_layout 改为如下配置:
应用这些修改后, 右击项目, 选择build project:
如果编译成功, 会在Debug目录下生成object 和 axf文件。
-
DEBUG 设置
选择run-> debug configuration
右击DS-5 debugger, 新建debug 配置
connection 选择 arm v8-a
files选择刚刚编译出来的axf文件:
debugger选择从main开始, 然后apply, 再然后点击debug
-
运行
点击debug 后,生成如下的界面
点击左上角的开始按钮, 会从左下角的光标位置开始运行, 右上角可以看程序的寄存器河内存信息, 右下角可以看程序的运行结果。
选择单步调试,当运行到汇编部分时,查看寄存器状态
可以看到,当运行到ADD w0, w0, w1那一步时,core寄存器的x0, x1已经变成了预设的2和3.
最终结果:
工欲善其事,必先利其器。 使用Qemu 虽然可以进行模拟开发,但在Qemu调试汇编有一些困难。 DS-5 (即ARM Development Studio 5) ,是一款针对 ARM 支持的 Linux 和 Android 平台的全面的端到端软件开发工具套件。DS-5 安装从官网选择一个ARM DS-5版本进行下载 我选择的版本是5.26.2, 已经支持Arm v8了。 ...
SimIt-
ARM
-3.0 给予命令行
ARM
指令
模拟器
,短小精悍,是研究
ARM
处理器的好工具,该
模拟器
既可以运行用户级别的ELF程序,又可以模拟运行Linux操作系统;提供了简单易用的调试命令,可以逐条跟踪指令的执行。
SimIt-
ARM
-3.0-gk-20150902.tar.bz2 HowTo
0.what is SimIt-
ARM
-3.0
SimIt-
ARM
3.0 is an instruction-set simulator that runs both system-level and user-level
ARM
programs,
for more about it please read user's guide file.
1.how to build
tar jxvf SimIt-
ARM
-3.0-gk-20150902.tar.bz2
cd SimIt-
ARM
-3.0-gk
./configure
make install
After these steps, the ./build/bindirectory contains the following programs:
ema An
ARM
interpreter.
To test the installation was successful type
./build/bin/ema test/wc configure
modifiy PATH environment variable:
PATH=$PATH:$HOME/SimIt-
ARM
-3.0-gk/build/bin ; export PATH
2. how to use
2.1 run user-level
ARM
programs
[root@ORA9 SimIt-
ARM
-3.0-gk]# cd gcc-
asm
[root@ORA9 gcc-
asm
]# more hello.c
* hello.c
* Tue Sep 8 10:13:40 CST 2015
int main()
printf("hello world\n");
__
asm
("mov r0,#2\n\t" "swi 0x1\n\t"); // syscall: exit(2);
[root@ORA9 gcc-
asm
]#
arm
-linux-gcc -v
Reading specs from /usr/local/
arm
/3.4.1/bin/../lib/gcc/
arm
-linux/3.4.1/specs
Configured with: /opt/crosstool/crosstool-0.28/build/
arm
-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=
arm
-linux --host=i686-host_pc-linux-gnu --prefix=/opt/crosstool/
arm
-linux/gcc-3.4.1-glibc-2.3.2 --with-float=soft --with-headers=/opt/crosstool/
arm
-linux/gcc-3.4.1-glibc-2.3.2/
arm
-linux/include --with-local-prefix=/opt/crosstool/
arm
-linux/gcc-3.4.1-glibc-2.3.2/
arm
-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
[root@ORA9 gcc-
asm
]#
arm
-linux-gcc hello.c -o hello -static
[root@ORA9 gcc-
asm
]# ls -l hello*
-rwxr-xr-x 1 root root 520775 Sep 8 10:18 hello
-rw-r--r-- 1 root root 160 Sep 8 10:15 hello.c
[root@ORA9 gcc-
asm
]# file hello
hello: ELF 32-bit LSB executable,
ARM
, vers
从开始, 引入了对
arm
v7和
arm
64 linux平台的。 非常感谢他们。
因此,不再需要此存储库,并从v5.2.0-beta1开始停止支持。
如果您正在
使用
此仓库中的非官方版本,则系统会邀请您升级到正式版本。
如果需要
arm
v6构建,则邀请您寻求官方支持。
树莓派1(
arm
v6)
树莓派2和3(
arm
v7)
用于基于
arm
的pi(1、2和3)和
arm
64 /
aar
ch64
的非官方软件包。
Grafana不提供用于
arm
的软件包,因此此仓库的目的是提供有关如何自己构建Grafana的注释,以及我根据这些注
Slackware
ARM
交叉编译器Bash脚本README
该脚本也可以从SlackDocs项目中获得:
该脚本下载RPi Linux内核源代码和所需的
二
进制文件, 并配置,构建,修补和
安装
gcc 10.2.x
aar
ch64
-linux 目前在Raspberry Pi 3/4上运行的Slackware
ARM
上的交叉编译器。
使用
与
安装
您应该创建一个“ build-dir”文件夹并将此脚本复制到其中(例如/ tmp / build-dir),然后以“ root”用户身份从那里运行。
〜#chmod + x SARPi64.SlackBuild-gcc-10.2-
aar
ch64
-cc.sh 〜#./SARPi64.SlackBuild-gcc-10.2-
aar
ch64
-cc.sh
您可以在任意位置
安装
交叉编译器,只要可以由普通用户(即不是“ root”)访问。 默认值为/tm
ARM
DS-5
是一套针对Linux系统或者嵌入式裸板系统专业的软件开发解决方案,它涵盖从boot
code到kernel porting、application开发和
bare-metal debugging以及 performance analysis的各个阶段[1]。
ARM
DS-5
是一套
ARM
系统开发工具的集合,它包含Eclipse
IDE、
DS-5
Debugger、AR