1. 程式人生 > >韋東山ARM第一期作業(三)記憶體控制器和SDRAM

韋東山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