17
17
*/
18
18
19
19
#define DBG_TAG "lwp"
20
- #define DBG_LVL DBG_WARNING
20
+ #define DBG_LVL DBG_INFO
21
21
#include <rtdbg.h>
22
22
23
23
#include <rthw.h>
@@ -69,11 +69,41 @@ extern char working_directory[];
69
69
*/
70
70
static rt_err_t lwp_default_console_setup (void )
71
71
{
72
- rt_device_t bakdev = rt_device_find ( "ttyS0" ) ;
72
+ rt_device_t bakdev ;
73
73
rt_err_t rc ;
74
+ char * ttyname ;
75
+ char * bakdev_name = RT_CONSOLE_DEVICE_NAME ;
76
+
77
+ if (bakdev_name )
78
+ {
79
+ int uart_id ;
80
+ size_t tail_len = 0 ;
81
+ if (sscanf (bakdev_name , "uart%d" , & uart_id ))
82
+ {
83
+ while (uart_id > 0 )
84
+ {
85
+ tail_len += 2 ;
86
+ uart_id >>= 4 ;
87
+ }
88
+ tail_len += sizeof ("ttyS" );
89
+ ttyname = rt_malloc (tail_len );
90
+ snprintf (ttyname , tail_len , "ttyS%d" , uart_id );
91
+ bakdev = rt_device_find (ttyname );
92
+ }
93
+ }
94
+
95
+ if (!bakdev )
96
+ {
97
+ LOG_W ("No compatible tty device found for /dev/%s" , bakdev_name );
98
+
99
+ /* fall back */
100
+ ttyname = "ttyS0" ;
101
+ bakdev = rt_device_find (ttyname );
102
+ }
74
103
75
104
if (bakdev )
76
105
{
106
+ LOG_I ("Using /dev/%s as default console" , ttyname );
77
107
lwp_console_register_backend (bakdev , LWP_CONSOLE_LOWEST_PRIOR );
78
108
rc = RT_EOK ;
79
109
}
@@ -85,6 +115,15 @@ static rt_err_t lwp_default_console_setup(void)
85
115
return rc ;
86
116
}
87
117
118
+ static void _update_process_times (void );
119
+ static int _set_usage_hook (void )
120
+ {
121
+ #ifdef LWP_TRACING_CPU_USAGE
122
+ rt_tick_sethook (_update_process_times );
123
+ #endif /* LWP_TRACING_CPU_USAGE */
124
+ return RT_EOK ;
125
+ }
126
+
88
127
static int lwp_component_init (void )
89
128
{
90
129
int rc ;
@@ -104,6 +143,10 @@ static int lwp_component_init(void)
104
143
{
105
144
LOG_E ("%s: lwp_futex_init() failed" , __func__ );
106
145
}
146
+ else if ((rc = _set_usage_hook ()) != RT_EOK )
147
+ {
148
+ LOG_E ("%s: _set_usage_hook() failed" , __func__ );
149
+ }
107
150
else if ((rc = lwp_default_console_setup ()) != RT_EOK )
108
151
{
109
152
LOG_E ("%s: lwp_default_console_setup() failed" , __func__ );
@@ -1583,7 +1626,9 @@ rt_err_t lwp_backtrace_frame(rt_thread_t uthread, struct rt_hw_backtrace_frame *
1583
1626
return rc ;
1584
1627
}
1585
1628
1586
- void rt_update_process_times (void )
1629
+ #ifdef LWP_TRACING_CPU_USAGE
1630
+
1631
+ static void _update_process_times (void )
1587
1632
{
1588
1633
struct rt_thread * thread ;
1589
1634
#ifdef RT_USING_SMP
@@ -1616,3 +1661,5 @@ void rt_update_process_times(void)
1616
1661
#endif
1617
1662
}
1618
1663
}
1664
+
1665
+ #endif /* LWP_TRACING_CPU_USAGE */
0 commit comments