ILD

EABI
2017-9-17
https://wiki.linaro.org/WorkingGroups/ToolChain/FAQ What is the differences between “arm-none-eabi-” and “arm-linux-gnueabihf”? Can I use “arm-linux-g

使用crosstool-NG编译toolchain
2017-9-18
编译toolchain是一件复杂的事情。toolchain包括binutils, gcc, glibc 3个部分。如果手动编译的话,对一个新手来说恐怕是一个噩梦,我之前也经历过这个痛苦。如果你了解的话,有专门的工具可以做这个事情,那就是crosstool-NG。croostool-NG的前身是cro

链接脚本的后缀
2017-9-18
https://sourceware.org/ml/crossgcc/2000-11/msg00004.html Re: linker script filename extensionTo: jani at virtualro dot ic dot roSubject: Re: linker sc

first binary run on s3c2440
2017-9-18
上一篇文章使用crosstool-NG创建了新的linux-gnueabi工具链。本文使用新的工具链创建第一个运行在s3c2440上的程序。1 toolchain首先创建toolchains.sh,并将该脚本source到当前shell,这样就可以直接使用了。#!/bin/sh#TOOLCHAIN_

树莓派3 Model B 安装系统
2017-9-23
准备一张16G的sd卡和读卡器,从官方下载最新的固件。http://vx2-downloads.raspberrypi.org/raspbian/images/raspbian-2017-09-08/2017-09-07-raspbian-stretch.zip操作电脑为Ubuntu 16.04。1

内存控制器
2017-9-23
本篇学习s3c2440的内存控制器,并编写运行在内存中的代码。1 手册学习支持下列features:- 软件可配置大小端。- 1GB地址空间,8个banks,每个bank 128Mbytes- 可编程访问大小(8/16/32 位),bank0只支持16/32位- 6个用于ROM, SRAM等内存的b

条件执行
2017-9-25
ARM指令码的高4位存储条件执行码,指令依据此条件码和CPSR的标志位,决定是否执行。Condition code[31:28]MnemonicextensionInterpretationStatus flag state for execution0000EQEqual / equals zer

跳转指令
2017-9-25
实现跳转可以通过跳转指令,也可以直接设置PC(r15)寄存器的值。1 B and BL语法:B{cond} labelBL{cond} labelB跳转到标签处执行。BL将下一条指令的地址存储到r14(lr),然后跳转到标签处执行。B/BL是相对PC寄存器的跳转,跳转范围为+/-32MB。由于是PC

数据处理指令:第二操作数
2017-9-26
大多数数据处理指令有一个灵活的第二操作数。主要有3种形式:1 立即数,#imme2 寄存器,Rm3 寄存器移位,Rm, shift移位方式有:算术右移,逻辑左移,逻辑右移,循环右移,扩展循环右移1位。移位的数位可以是数字,也可以寄存器指定,寄存器的话,只使用least significant byt

数据处理指令:比较指令
2017-9-26
比较指令和测试指令的目的是修改CPSR的标志位,以便影响下一条指令条件执行。语法:CMP{cond} Rn, Operand2CMN{cond} Rn, Operand2这两条指令的执行结果不会放入任何寄存器,单纯用于影响标志位。CMP执行Rn-Operand2,除了结果被丢掉外,等价于SUBS。C

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.