This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6467 uart1 作为485串口



目前我的开发板上用UART0作为调试串口,由于项目需要,我要扩展一个485串口。请问我要怎么修改内核源码来实现uart1 作为485串口。

我使用内核版本:2.6.18

目前我自己修改了几个寄存器:

1、

主要修改在/arch/arm/mach-davinci/board-dm6467-evm.c里面的board_init函数中,之前这个函数的修改都去掉,在函数最后添加一个函数调用:davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN,DAVINCI_DM646X_LPSC_UART1,1);
 
然后在davinci_psc_config函数中,添加一个case语句:
       case DAVINCI_DM646X_LPSC_UART1:/*bao*/
                /* power up UART1 data */
                val = davinci_readl(DAVINCI_VDD3P3V_PWDN);
                davinci_writel(val & 0xFFFFFFBF, DAVINCI_VDD3P3V_PWDN);
                /* select UART 16x  mode */
                val = davinci_readl(DAVINCI_UART1_BASE + 0x20);
                davinci_writel(val & 0xFFFFFFF8, DAVINCI_UART1_BASE + 0x20);
                /* generate THR interrupt */
                val = davinci_readl(DAVINCI_UART1_BASE + 0x40);
                davinci_writel(val | 0x00000008, DAVINCI_UART1_BASE + 0x40);
                break;

 但是我在读485串口的时候没问题,我开发板发送的时候发到5000个字节左右就就自动不发了,程序也没报错