虛擬機環境:Oracle VM VirtualBox
Linux系統:ubuntu_14.04.6
交叉編譯工具:[100ask分享的所有文件](https://eyun.baidu.com/s/3b1UtLc)
100ask分享的所有文件 > 002_JZ2440資料光盤_20180516(免費) > 資料光盤 > A盤 > tools.zip > arm-linux-gcc-4.3.2.tar.bz2
gcc-3.4.5-glibc-2.3.6/bin
step 1:
安裝虛擬機
step 2:
安裝ubuntu系統
step3:
安裝交叉編譯工具
step 4::
測試
遇到的問題:
安裝增強功能之後,掛載共享文件夾時,出現以下錯誤:
/sbin/mount.vboxsf:mounting failed with the error:No such device
解決方法:重啓一下
bash: ./arm-linux-gcc: No such file or directory
sudo apt-get install lib32z1
arm-linux-gcc: command not found
第一種:在makefile中添加路徑
第二種:增加環境變量
使用到的命令:
sudo mount -t vboxsf vbox_share_ubuntu /mnt/vbox_share_ubuntu
tar -xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2
led_on.S
.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:
ARM_LINUX_XXX=/home/xlbtlmy/Desktop/ARM_Linux/gcc-3.4.5-glibc-2.3.6/bin
CC=$(ARM_LINUX_XXX)/arm-linux-gcc
LD=$(ARM_LINUX_XXX)/arm-linux-ld
OBJCOPY=$(ARM_LINUX_XXX)/arm-linux-objcopy
OBJDUMP=$(ARM_LINUX_XXX)/arm-linux-objdump
TARGET=$(OPT)
BIN=$(TARGET).bin
ELF=$(TARGET).elf
DIS=$(TARGET).dis
$(BIN):$(TARGET).o
$(LD) -Ttext 0x00000000 -g $^ -o $(ELF)
$(OBJCOPY) -O binary -S $(ELF) $(BIN)
$(OBJDUMP) -D -m arm $(ELF) > $(DIS)
%.o:%.S
$(CC) -g -c -o $@ $<
clean:
rm -f *.o *.bin *.elf *.dis
使用方法:
例如led_on.S
則make OPT=led_on
不想添加交叉編譯路徑到環境變量的可以看過來
環境搭建完畢
問題:openJTAG驅動時出現“文件的哈希值不在指定的目錄
解決方法請參考:https://blog.csdn.net/sunshineywz/article/details/90136859
bash與sh不兼容