设为首页 加入收藏

TOP

S3C6410裸机UART驱动(将printf重定义到串口)
2014-11-24 07:40:31 来源: 作者: 【 】 浏览:1
Tags:S3C6410 裸机 UART 驱动 printf 定义 串口

要确保S3C6410已经初始化,一般是使用UBOOT初始化


//串口寄存器

//UART0

#defineULCON0 *((vu32*)0x7F005000) //UART通道0 行控制寄存器

#defineUCON0 *((vu32*)0x7F005004) //UART通道0 控制寄存器

#defineUFCON0 *((vu32*)0x7F005008) //UART通道0 FIFO 控制寄存器

#defineUMCON0 *((vu32*)0x7F00500C) //UART通道0 调制解调器(Modem)控制寄存器

#defineUTRSTAT0 *((vu32*)0x7F005010) //UART通道0 发送/接收状态寄存器

#defineUERSTAT0 *((vu32*)0x7F005014) //UART通道0 接收错误状态寄存器

#defineUFSTAT0 *((vu32*)0x7F005018) //UART通道0 FIFO 状态寄存器

#defineUMSTAT0 *((vu32*)0x7F00501C) //UART通道0 调制解调器(Modem)状态寄存器

#defineUTXH0 *((vu32*)0x7F005020) //UART通道0 发送缓冲寄存器

#defineURXH0 *((vu32*)0x7F005024) //UART通道0 接收缓冲寄存器

#defineUBRDIV0 *((vu32*)0x7F005028) //通道0波特率分频寄存器

#defineUDIVSLOT0 *((vu32*)0x7F00502C) //UART通道0 分频插槽寄存器

#defineUINTP0 *((vu32*)0x7F005030) //通道0中断处理寄存器

#defineUINTSP0 *((vu32*)0x7F005034) //UART通道0 中断源处理寄存器

#defineUINTM0 *((vu32*)0x7F005038) //UART通道0 中断屏蔽寄存器





//作者:陈

//创建时间:20120220

//最后修改时间:20120220

//说明:S3C6410串口相关



#include"system.h"

#include"uart.h"

#include"s3c6410_map.h"





//////////////////////////////////////////////////////////////////

//加入以下代码,支持printf函数,

#if 1



#include"stdio.h"

//标准库需要的支持函数

struct __FILE


{


inthandle;


};


/* FILE is typedef’d in stdio.h. */

FILE __stdout;

//定义_sys_exit()以避免使用半主机模式

_sys_exit(int x)


{


x= x;


}


//重定义fputc函数


int fputc(int ch,FILE *f)

{


Uart0_SendByte((u8)ch);


returnch;

}

#endif




static const u16UART_SPEED[13][2] ={{1717,0x4924},{858,0x4924},{428,0x4924},{285,0x4924},{213,0x4924},{142,0x4924},{106,0x4924},{72,0x4924},{70,0x4924},{34,0x4924},{16,0x4924},{7,0x4924},{3,0x4924}};


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇OK6410裸机简单的NAND FLASH驱动 下一篇OK6410汇编程序练习

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)
·透彻理解 C 语言指针 (2025-12-26 00:22:52)
·C语言指针详解 (经典 (2025-12-26 00:22:49)
·C 指针 | 菜鸟教程 (2025-12-26 00:22:46)