01 - 作业所在路径
ARM裸机1期加强版源码文档图片文档图片第012课_内存控制器与SDRAM
02 - 作业描述
把第11课实现的printf函数移植到011_sdram程序中,修改内存数据,再以16进制打印出来
03 - 作业解答
移植很简单,把.h和.c以及除法库lib1funcs.S放到工程中,只需要在Makefile中添加uart_printf.c和lib1funcs.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
上一篇:011课 串口(UART)的使用
下一篇:2440裸机-12-1内存控制器与SDRAM_内存接口
推荐阅读最新更新时间:2024-11-02 04:03
设计资源 培训 开发板 精华推荐
- J_LINK/Jlink
- LT1506IS8 5V 至 3.3V 降压转换器的典型应用电路
- 使用 MaxLinear, Inc 的 LP2950 的参考设计
- LT6656AIS6-1.25、1.25V 扩展电源范围电压基准的典型应用
- 用于 7VIN 至 16VIN、1.5V 和 1.2V 输出的 LTM4628EY DC/DC 模块稳压器的典型应用电路
- LTC3615EUF-1 双路 3A 同步降压型 DC/DC 转换器用于软启动电路的典型应用
- STM32F103CxT6最小系统V2.0
- AD9238BST-20PCB,用于 AD9238、2 通道、10 位、20 MSPS 模数转换器的评估板
- 使用 LT1054CN8 100mA 稳压负倍增器的典型应用
- LT1511,具有输入电流限制的可编程恒流 / 恒压电池充电器