用户实现简单的printf函数,itoa,itox,并且用S5PV210进行实验

本文介绍了如何在三星S5PV210开发板上,通过裸机编程实现printf、itoa和itox函数。首先编写引导汇编文件,接着实现自定义的printf函数,然后编写主函数进行测试,最后使用makefile进行编译。实验结果显示在超级终端上,需要配合uboot进行程序烧写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个不是我原创的,是我老师写的,先写成博客,方便以后查看.大笑

运行环境是三星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 (*(volatile unsigned long *)0xE290002C)

void uart_init()
{
	//GPIO初始化
	GPA0CON &= ~0xff;
	GPA0CON |= 0x22;

	//uart设置传输格式
	//8bit,1s,none_ch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值