@@ -214,3 +214,48 @@ void rt_hw_board_init(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
static struct rt_device blocked_reader_ = {0};
|
||||
|
||||
static rt_size_t _blocked_reader_read (rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int init_block_reader()
|
||||
{
|
||||
blocked_reader_.read = _blocked_reader_read;
|
||||
rt_device_register(&blocked_reader_, "block_r", RT_DEVICE_FLAG_RDWR);
|
||||
|
||||
return 0;
|
||||
}
|
||||
INIT_BOARD_EXPORT(init_block_reader);
|
||||
|
||||
void rt_hw_shell_relink(const char *name, rt_uint32_t baud)
|
||||
{
|
||||
struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;
|
||||
config.baud_rate = baud;
|
||||
rt_device_t dev = rt_device_find(name);
|
||||
RT_ASSERT(dev);
|
||||
rt_device_control(dev, RT_DEVICE_CTRL_CONFIG, &config);
|
||||
|
||||
rt_console_set_device(name);
|
||||
|
||||
rt_thread_t tid = rt_thread_find(FINSH_THREAD_NAME);
|
||||
if (tid)
|
||||
{
|
||||
rt_thread_resume(tid);
|
||||
rt_schedule();
|
||||
}
|
||||
}
|
||||
|
||||
static void shell_relink(int argc, char **argv)
|
||||
{
|
||||
if (argc < 2)
|
||||
{
|
||||
rt_kprintf("%s prt_name\n", argv[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
rt_hw_shell_relink(argv[1], BAUD_RATE_460800);
|
||||
}
|
||||
MSH_CMD_EXPORT(shell_relink, relink msh to other port);
|
||||
|
Reference in New Issue
Block a user