全志A33 printascii bug

来源:互联网 发布:linux如何重启mysql 编辑:程序博客网 时间:2024/06/10 07:34
/*
 * arch/arm/include/asm/hardware/debug-8250.S
 *
 *  Copyright (C) 1994-1999 Russell King
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
#include <linux/serial_reg.h>
#include <mach/platform.h>


#define UART_SHIFT 2


.macro senduart,rd,rx
strb \rd, [\rx, #UART_TX << UART_SHIFT]
.endm


.macro busyuart,rd,rx
//#ifndef CONFIG_ARCH_SUNXI 原来的
#ifdef CONFIG_ARCH_SUNXI
1002: ldrb \rd, [\rx, #UART_LSR << UART_SHIFT]
and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
teq \rd, #UART_LSR_TEMT | UART_LSR_THRE
bne 1002b
#endif
        
.endm


.macro waituart,rd,rx
#ifdef CONFIG_ARCH_SUNXI
1008: ldrb \rd, [\rx, #SUNXI_UART_USR]
tst \rd, #0x2
beq 1008b
#else
#ifdef FLOW_CONTROL
1001: ldrb \rd, [\rx, #UART_MSR << UART_SHIFT]
tst \rd, #UART_MSR_CTS
beq 1001b
#endif
#endif

.endm




 CONFIG_ARCH_SUNXI 原来的  

竟然是没有打开的,打开就好了


故障现象:


void sunxi_pm_dbg(const char *fmt, ...)
{
    va_list va;
    char buff[256];
    unsigned long flags;
    


spin_lock(&g_spinlock);
local_irq_save(flags);
    va_start(va, fmt);
    vsprintf(buff, fmt, va);
    va_end(va);
    printascii(buff);
    local_irq_restore(flags);
spin_unlock(&g_spinlock);
}


sunxi_pm_dbg( "00000in sunxi_uart_init\n" );
sunxi_pm_dbg( "11111in sunxi_uart_init\n" );
sunxi_pm_dbg( "22222in sunxi_uart_init\n" );
sunxi_pm_dbg( "33333in sunxi_uart_init\n" );
sunxi_pm_dbg( "44444in sunxi_uart_init\n" );
sunxi_pm_dbg( "55555in sunxi_uart_init\n" );


Uncompressing Linux... done, booting the kernel.
00000in sunxi_uart_init
11111in sunxi_uart_init
22222in sunxi_uart_init
33333in sunxi_uart_init
44444in sunxi_uart_init
55555in sunxi_uart_init
Booting Linux on physical CPU 0
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.4.39 (root@ubuntu) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #1537 SMP PREEMPT Tue Jul 26 11:04:50 CST 2016
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing


不打开的话,由于没有等待发送完成,即发送fifo是否为空,在sunxi_pm_dbg( "33333in sunxi_uart_init\n" );
sunxi_pm_dbg( "44444in sunxi_uart_init\n" );
sunxi_pm_dbg( "55555in sunxi_uart_init\n" );后期会出现乱码。




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 单位没交失业金怎么办 沈阳医保卡密码忘了怎么办 西安网约车资格证怎么办 红跑车卡丢了怎么办 苏州住房公积金密码忘了怎么办 公积金查询密码忘记了怎么办 公积金账户密码忘记了怎么办 公积金网上查询密码忘记了怎么办 苏州改公积金密码忘了怎么办 与单位解除劳动合同公积金怎么办 在泰国钱包丢了怎么办 中山车牌网上选号后怎么办 买楼房70年以后怎么办 暂住证过期2个月怎么办 换领驾驶证超期了怎么办 车牌租出去要不回来怎么办 汽车放久了没电怎么办 上海网约车资格证怎么办 手机掉在滴滴上怎么办 在滴滴上丢手机怎么办 把东西落在出租车上怎么办 租好房子后悔了怎么办 转租房东不退押金怎么办 亲戚借户口本办公租房怎么办 7.1深圳禁行货车怎么办 怎么办无锡市的货车临时通行证 武汉医保卡密码忘了怎么办 打出租车被黑了怎么办 行李掉在出租车上怎么办 家庭农场买农机怎么办补贴 在异地买的保险怎么办 理发店被投诉工商局找我怎么办? 临安市民卡丢了怎么办 合肥分期付款买手机被骗怎么办 公司注销后还遇到投诉怎么办 超市购物结账时少收钱怎么办 卖给顾客东西时会有斜念怎么办 实体店家纺想换货怎么办 劳动仲裁裁决部分不服怎么办 劳动仲裁公司拒不履行怎么办? 苹果手机被黑客锁了怎么办