ARM uart stdio 的移植( 三 )


2、编译运行及测试
很遗憾,这次移植的函数的功能有问题, 函数无法输出内容 。
3、解决函数无法输出的问题
在移植后的 uart stdio 项目中添加 link.lds 链接脚本,指定连接地址到 。
$ cat MakefileCC= arm-linux-gccLD= arm-linux-ldOBJCOPY = arm-linux-objcopyOBJDUMP = arm-linux-objdumpAR= arm-linux-arINCDIR:= $(shell pwd)# C PreProcesser flagCPPFLAGS:= -nostdlib -nostdinc -I$(INCDIR)/include# C Compiler flagCFLAGS:= -Wall -O2 -fno-builtin# export these variables for lib/Makefileto useexport CC LD OBJCOPY OBJDUMP AR CPPFLAGS CFLAGSobjs := start.o led.o clock.o uart.o main.oobjs += lib/libc.auart.bin: $(objs)$(LD) -Tlink.lds -o uart.elf $^$(OBJCOPY) -O binary uart.elf uart.bin$(OBJDUMP) -D uart.elf > uart_elf.disgcc mkv210_image.c -o mkx210./mkx210 uart.bin 210.binlib/libc.a:cd lib; make;cd ..%.o : %.S$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -c%.o : %.c$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -cclean:rm *.o *.elf *.bin *.dis mkx210 -fcd lib; make clean; cd ..$ cat link.ldsSECTIONS{. = 0xd0020010;.text : {start.o* (.text)}.data : {* (.data)}bss_start = .;.bss : {* (.bss)}bss_end= .;}
现象如下图,可以正常输出了:
源自朱有鹏老师.