这个不是我原创的,是我老师写的,先写成博客,方便以后查看.
运行环境是三星S5PV210开发板,然后,裸机编程的方式实现printf函数,不多说废话:
步骤一:
写汇编引导文件(很简单,就几行代码):
.global _start
_start:
bl main
loop:
b loop
上面这几行代码主要是通过执行后,引导进入主函数,那么,之后就是我们熟知的C代码的编写了,
步骤二:
写自定义的printf函数(C语言):
#define GPA0CON (*(volatile unsigned long *)0xE0200000)
#define ULCON0 (*(volatile unsigned long *)0xE2900000)
#define UCON0 (*(volatile unsigned long *)0xE2900004)
#define UTRSTAT0 (*(volatile unsigned long *)0xE2900010)
#define UTXH0 (*(volatile unsigned long *)0xE2900020)
#define URXH0 (*(volatile unsigned long *)0xE2900024)
#define UBRDIV0 (*(volatile unsigned long *)0xE2900028)
#define UDIVSLOT0