韦东山ARM第一期作业(三)内存控制器和SDRAM


01 - 作业所在路径

  ARM裸机1期加强版\源码文档图片\文档图片\第012课_内存控制器与SDRAM

02 - 作业描述

  把第11课实现的printf函数移植到011_sdram程序中,修改内存数据,再以16进制打印出来

03 - 作业解答

  移植很简单,把.h和.c以及除法库lib1funcs.S放到工程中,只需要在Makefile中添加uart_printf.clib1funcs.S的编译,再在arm-linux-ld链接后面添加.o文件,最后在需要使用printf的地方#include “uart_printf.h”,直接使用就可以

#修改前
all:
	arm-linux-gcc -c uart.c -o uart.o 
	arm-linux-gcc -c leds.c -o leds.o 
	arm-linux-gcc -c init.c -o init.o
	arm-linux-gcc -c main.c -o main.o 
	arm-linux-gcc -c -o start.o start.S
	arm-linux-ld -Ttext 0 start.o  uart.o main.o \
	                      init.o leds.o -o uart.elf
	arm-linux-objcopy -O binary -S uart.elf uart.bin
	arm-linux-objdump -D uart.elf > uart.dis
clean:
	rm *.bin *.o *.elf *.dis
#修改后
all:
	arm-linux-gcc -c uart.c -o uart.o 
	arm-linux-gcc -c leds.c -o leds.o 
	arm-linux-gcc -c init.c -o init.o
	arm-linux-gcc -c main.c -o main.o 
	arm-linux-gcc -c uart_printf.c -o uart_printf.o 
	arm-linux-gcc -c -o start.o start.S
	arm-linux-gcc -c -o lib1funcs.o lib1funcs.S
	arm-linux-ld -Ttext 0 -Tdata 0x1200 start.o  uart.o main.o uart_printf.o \
	                      lib1funcs.o init.o leds.o -o uart.elf
	arm-linux-objcopy -O binary -S uart.elf uart.bin
	arm-linux-objdump -D uart.elf > uart.dis
clean:
	rm *.bin *.o *.elf *.dis

猜你喜欢

转载自blog.csdn.net/Hxj_CSDN/article/details/85779223