linux练习 串口跟进程6,在linux-2.6.33.5内核中添加对串口2的配置

这几天,突然发现移植好的s3c2410的串口2在linux系统下竟然不能用,赶紧查了很多资料,发现,若要在linux系统下是用s3c23410的串口2 ,需要修改内核,把s3c2410的串口2配置成普通的串口。

1.修改arch/arm/mach-s3c2440/mach-smdk2440.c中的uart2的配置,修改后如下:

static struct s3c2410_uartcfg smdk2410_uartcfgs[] __initdata = {

[0] = {

.hwport             = 0,

.flags             = 0,

.ucon             = UCON,

.ulcon             = ULCON,

.ufcon             = UFCON,

},

[1] = {

.hwport             = 1,

.flags             = 0,

.ucon             = UCON,

.ulcon             = ULCON,

.ufcon             = UFCON,

},

/* IR port */

[2] = {

.hwport             = 2,

.flags             = 0,

.ucon             = 0x3c5,

.ulcon             = 0x03,

.ufcon             = 0x51,

}

2. 在drivers/serial/samsung.c中添加对uart2控制器的配置,配置为普通串口。

添加头文件:#include #include

在static int s3c24xx_serial_startup(struct uart_port *port)函数中,添加

if (port->line == 2) {

s3c2410_gpio_cfgpin(S3C2410_GPH(6), S3C2410_GPH6_TXD2);

s3c2410_gpio_pullup(S3C2410_GPH(6), 1);

s3c2410_gpio_cfgpin(S3C2410_GPH(7), S3C2410_GPH7_RXD2);

s3c2410_gpio_pullup(S3C2410_GPH(7), 1);

}

3.编译内核,下载进板子后,进行测试,串口2终于可以正常工作了。

参考:开贴详述linux-2.6.33内核的移植

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值