要驱动六个uart,怎么在所给的内核源码的基础上进行修改,多谢各位帮忙。。。本人新手。。实在搞不懂了。。多谢
kooking:
理论上,这个在内核里面应该已经做好了,你可以在文件系统下查看一下ls /dev/ttyS0 – ttyS5或者ttyO0 – ttyO5
guangjie shaoguangjie:
回复 kooking:
您好!我用您说的命令查了一下,ttyS0-ttyS5是都存在的?然后呢?这样查看之后能说明什么?谢谢
kooking:
回复 guangjie shaoguangjie:
这个说明设备串口设备结点已经存在,内核可能已经支持了6个串口的驱动,所以串口驱动不需要做修改,应用程序中open()打开设备结点后,可以用write(),read()对串口进行操作了。
不过不知道您还有没有其它的什么需求
guangjie shaoguangjie:
回复 kooking:
您好!这是运行命令后的截图:
crw——- 1 root tty 253, 0 Nov 20 06:34 ttyO0 crw-rw—- 1 root dialout 253, 1 Jan 1 1970 ttyO1 crw-rw—- 1 root dialout 253, 2 Jan 1 1970 ttyO2 crw-rw—- 1 root dialout 253, 3 Jan 1 1970 ttyO3 crw-rw—- 1 root dialout 253, 4 Jan 1 1970 ttyO4 crw-rw—- 1 root dialout 253, 5 Jan 1 1970 ttyO5
只有ttyO0在tty组,其他五个属于dialout组是什么意思?我们的板子硬件上只连了uart0,但是在board-am335x.c和serial.c中没有uart0的pinmux的设置
board-am335x.c:
/* Chipsee AM335x SOM */static struct evm_dev_cfg evm_chipsee_som_dev_cfg[] = { {mii1_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {mmc0_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {lcdc_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {chipsee_backlight_init, DEV_ON_BASEBOARD, PROFILE_ALL}, //{cap_tsc_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {tsc_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {gpio_led_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {mcasp0_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {chipsee_hmi_audio_init, DEV_ON_BASEBOARD, PROFILE_ALL}, {NULL, 0, 0},};
serial.c:
static void omap_serial_fill_default_pads(struct omap_board_data *bdata){ switch (bdata->id) { case 0: bdata->pads = default_uart1_pads; bdata->pads_cnt = ARRAY_SIZE(default_uart1_pads); break; case 1: bdata->pads = default_uart2_pads; bdata->pads_cnt = ARRAY_SIZE(default_uart2_pads); break; case 2: bdata->pads = default_uart3_pads; bdata->pads_cnt = ARRAY_SIZE(default_uart3_pads); break; case 3: if (cpu_is_omap44xx()) { bdata->pads = default_omap4_uart4_pads; bdata->pads_cnt = ARRAY_SIZE(default_omap4_uart4_pads); } else if (cpu_is_omap3630()) { bdata->pads = default_omap36xx_uart4_pads; bdata->pads_cnt = ARRAY_SIZE(default_omap36xx_uart4_pads); } break; default: break; }}
这两个文件里都没有uart0的pin的设置。请问,它的pin在哪里设置的?多谢
shanshan wan:
你好,不知你的六个串口是否都能使用了,我现在也遇到这个问题?你解决了的话,能否告知是怎样解决的?