MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / rt_hw_board_init

Function rt_hw_board_init

bsp/ft2004/drivers/board.c:103–142  ·  view source on GitHub ↗

* This function will initialize hardware board */

Source from the content-addressed store, hash-verified

101 * This function will initialize hardware board
102 */
103void rt_hw_board_init(void)
104{
105 /* bsp debug */
106 FCpu_SpinLockInit();
107 Ft_GenericTimer_Init(0, RT_NULL);
108 Ft_vsprintfRegister((vsprintf_p)rt_vsprintf);
109 Ft_assertSetCallBack((Ft_assertCallback)AssertCallback);
110
111 /* interrupt init */
112 arm_gic_redist_address_set(0, FT_GICV3_RD_BASEADDRESS + 0, 0);
113
114#if RT_CPUS_NR == 2
115 Ft_printf("arm_gic_redist_address_set is 2 \r\n");
116 arm_gic_redist_address_set(0, FT_GICV3_RD_BASEADDRESS + (2U << 16), 1);
117#elif RT_CPUS_NR == 3
118 arm_gic_redist_address_set(0, FT_GICV3_RD_BASEADDRESS + (2U << 16), 1);
119 arm_gic_redist_address_set(0, FT_GICV3_RD_BASEADDRESS + 2 * (2U << 16), 2);
120#elif RT_CPUS_NR == 4
121 arm_gic_redist_address_set(0, FT_GICV3_RD_BASEADDRESS + (2U << 16), 1);
122 arm_gic_redist_address_set(0, FT_GICV3_RD_BASEADDRESS + 2 * (2U << 16), 2);
123 arm_gic_redist_address_set(0, FT_GICV3_RD_BASEADDRESS + 3 * (2U << 16), 3);
124#endif
125
126 rt_hw_interrupt_init();
127
128 rt_components_board_init();
129 rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
130
131/* 初始化内存池 */
132#ifdef RT_USING_HEAP
133 rt_system_heap_init(HEAP_BEGIN, HEAP_END);
134#endif
135
136#ifdef RT_USING_SMP
137 /* install IPI handle */
138 rt_hw_interrupt_set_priority(RT_SCHEDULE_IPI, 16);
139 rt_hw_ipi_handler_install(RT_SCHEDULE_IPI, rt_scheduler_ipi_handler);
140 rt_hw_interrupt_umask(RT_SCHEDULE_IPI);
141#endif
142}
143
144static void ft_reset(void)
145{

Callers

nothing calls this directly

Calls 13

FCpu_SpinLockInitFunction · 0.85
Ft_GenericTimer_InitFunction · 0.85
Ft_vsprintfRegisterFunction · 0.85
Ft_assertSetCallBackFunction · 0.85
Ft_printfFunction · 0.85
rt_console_set_deviceFunction · 0.85
rt_system_heap_initFunction · 0.85
rt_hw_interrupt_initFunction · 0.50
rt_components_board_initFunction · 0.50

Tested by

no test coverage detected