migrant 发表于 2010-7-24 13:52:37

LM分支关于控制台串口的问题及修改建议

发现问题的原因:我想使用uart1作为控制台串口,发现仅修改宏定义无法实现。
1、现有处理在board.c里rt_hw_board_init里对串口0初始化;serial.c中的rt_hw_serial_init再初始化,实际初始化了2次。
2、rt_hw_serial_init中对uart1的初始化是不完备的,参照uart0的初始化修改。

修改建议:1、rt_hw_console_init中取消对uart的初始化;2、将rt_hw_serial_init()放在rt_show_version()调用前,因为此时需要用到串口了;3、修改rt_hw_console_putc函数的处理使其支持你要用的串口。

ffxz 发表于 2010-7-24 20:23:53

具体还没仔细看过LM分支,

通常的流程会是如下的:
在board.c中就会把console用到的设备给注册到系统中(如果是串口,一般就是那个rt_hw_serial_init/rt_hw_uart_init函数),然后提供设备给console,console会打开这个设备,设备自动完成打开前其他的一些初始化动作。

所以显示版本之前,console设备已经就绪。
页: [1]
查看完整版本: LM分支关于控制台串口的问题及修改建议