今天我安装了arm-linux-gc,执行make命令后还是不能生成bin文件,整个程序是我对和书打的,应该不会有错,我怀疑是不是我没安装arm-linuxld和arm-linux-objcopy的原因,请问大侠这三者是什么关系,需要分别安装吗?
.text
.global _start
_start:
LDR R0,=0X56000010
MOV R1,# 0X00000400
STR R1,[R0]
LDR R0,=0X56000014
MOV R1,#0X00000000
STR R1,[R0]
MAIN_LOOP:
B MAIN_LOOP
Makefile文件:
led_on.bin: led_on.S
arm-linux-gcc -g -c -o led_on.o led_on.S
arm-linux-gcc -Ttext 0x0000000 -g led_on.o -o led_on_elf
arm-linux-objcopy -O binary -S led_on_elf led_on.bin
clean:
rm -f led_on.bin led_on_elf *.o
需要分别安装arm-linux-objcopy、arm-linux-gcc、arm-linux-ld吗?下面是我的下程序帮忙看看有问题没?
本回答被提问者采纳请问arm-linux-gcc和arm-linux-ld还有arm-linux-objcopy之间是什么关...
arm-linux-ld 是连接器,它把一些目标和归档文件结合在一起,重定位数据,并连接符号引用。通常,建立一个新编译程序的最后一步就是调用ld。arm-linux-gcc -wall -O2 -c -o $@ $< -o 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 -Wall 指定产生全部的警告信息 -O2 编译器对程序...
Linux嵌入式交叉编译工具链问题 浅谈
arm-linux-addr2line arm-linux-g++ arm-linux-ld arm-linux-sizearm-linux-ar arm-linux-gcc arm-linux-nm arm-linux-stringsarm-linux-as arm-linux-gcc-3.3.6 arm-linux-objcopy arm-linux-striparm-linux-c++ arm-linux-gccbug arm-linux-objdump fix-embedded-paths...
arm-linux-gcc 编译后,在开发板上没法运行
这些非常清楚以后,编译时除了用arm-linux-gcc外,要考虑怎么链接arm-linux-ld,然后还要将编译链接出来的文件进行去头处理arm-linux-objcopy。裸机开发程序大致是这样的。跑在linux之上的应用程序开发,简单的程序用arm-linux-gcc就可以了。
如何为嵌入式开发建立交叉编译环境
arm-linux-addr2line arm-linux-gasp arm-linux-objdump arm-linux-strings arm-linux-ar arm-linux-ld arm-linux-ranlib arm-linux-strip arm-linux-as arm-linux-nm arm-linux-readelf arm-linux-c++filt arm-linux-objcopy arm-linux-size 我们来解释一下上面生成的可执行文件都是用来干什么的 add2line -...
如何用代码实现动态重定位?
arm-linux-gcc -c -o start.ostart.S arm-linux-ld -Ttext 0 -Tdata 0x30000000 start.o led.ouart.o init.omain.o -o sdram.elf arm-linux-objcopy -O binary -Ssdram.elf sdram.bin arm-linux-objdump -D sdram.elf> sdram.dis clean:rm *.bin *.o *.elf *.dis 编译之后,...
求助s3c2410把nandflash中的程序搬到sdram中并运行的程序
arm-linux-gcc -c -o sdram.o sdram.c arm-linux-ld -Tnand.lds head.o mem.o flash.o nand_read.o sdram.o -o sdram_tmp.o arm-linux-objcopy -O binary -S sdram_tmp.o sdramclean: rm -f *.o rm -f sdram好了,你把这些文件拷下去,执行make命令就能生成可执行的二进制代码sdram,把sdram...
如何安装ARM toolchain
4. 测试。先开启一个新的终端机,输入 arm 後连续按两次 tab 键,如果跑出来一堆像下面的提示表示安装成功。arm-linux-gnueabihf-addr2line arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gfortran arm-linux-gnueabihf-objdump arm-linux-gnueabihf-ar arm-linux-gnueabihf-gcc-4.7.2 ...
Yocto编译杰发或MTK的linux或android时的几个问题
报错:make: armv7a-mediatek451_001_vfp-linux-gnueabi-gcc: Command not found 解决: $ vi atc_linux\/bootloader\/preuboot\/Makefile #CROSS_COMPILE :=armv7a-mediatek451_001_vfp-linux-gnueabi- CROSS_COMPILE :=arm-poky-linux-gnueabi- $ vi ..\/..\/atc_linux\/bootloader\/preuboot\/driver\/mmc\/include\/...
怎么安装arm-linux-gcc4.8
linux-2.6.34.14.tar.xz mpfr-3.1.2.tar.bz2 mpc-1.0.1.tar.gz gmp-5.1.3.tar.bz2 因为编译过程很费时,你要在bash配置文件中直接声明环境变量:vim ~\/.bashrc export TARGET=arm-linux-gnueabi export PREFIX=\/usr\/local\/arm\/4.8.2 export TARGET_PREFIX=$PREFIX\/$TARGET export ...
嵌入式系统中的存储器映射是怎么回事,为什么要映射
我是这样理解的:存储器空间是和硬件相关联的,可以对某些地址上写数据来控制硬件,为了方便使用(总不可能都用地址来直接控制,那样就工作量就太大了),将这些地址赋予了一些变量名,通过变量名来控制硬件(也就是寄存器的概念)。