fix InitBoardMemory and InstallConsole bug for XiZi bsp/board from Liu_Weichao

it is OK
This commit is contained in:
xuedongliang 2022-04-20 16:28:33 +08:00
commit 7b3f1dc95f
12 changed files with 39 additions and 22 deletions

View File

@ -222,6 +222,9 @@ void InitBoardHardware(void)
DmacInit(); DmacInit();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
/* initalize interrupt */ /* initalize interrupt */
InitHwinterrupt(); InitHwinterrupt();
#ifdef BSP_USING_UART #ifdef BSP_USING_UART
@ -239,8 +242,7 @@ void InitBoardHardware(void)
#ifdef ARCH_SMP #ifdef ARCH_SMP
EnableHwclintIpi(); EnableHwclintIpi();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
#ifdef KERNEL_COMPONENTS_INIT #ifdef KERNEL_COMPONENTS_INIT
for(i = 0; _board_init[i].fn != NONE; i++) { for(i = 0; _board_init[i].fn != NONE; i++) {

View File

@ -34,6 +34,8 @@ void InitBoardHardware()
{ {
extern int InitHwUart(void); extern int InitHwUart(void);
InitHwUart(); InitHwUart();
InstallConsole(SERIAL_BUS_NAME_1, SERIAL_DRV_NAME_1, SERIAL_DEVICE_NAME_1);
InitBoardMemory((void*)LM3S_SRAM_START, (void*)LM3S_SRAM_END); InitBoardMemory((void*)LM3S_SRAM_START, (void*)LM3S_SRAM_END);
InstallConsole(SERIAL_BUS_NAME_1, SERIAL_DRV_NAME_1, SERIAL_DEVICE_NAME_1);
} }

View File

@ -34,7 +34,7 @@ void InitBoardHardware()
{ {
extern int InitHwUart(void); extern int InitHwUart(void);
InitHwUart(); InitHwUart();
InstallConsole(SERIAL_BUS_NAME_1, SERIAL_DRV_NAME_1, SERIAL_DEVICE_NAME_1);
InitBoardMemory((void*)LM3S_SRAM_START, (void*)LM3S_SRAM_END);
InitBoardMemory((void*)LM3S_SRAM_START, (void*)LM3S_SRAM_END);
InstallConsole(SERIAL_BUS_NAME_1, SERIAL_DRV_NAME_1, SERIAL_DEVICE_NAME_1);
} }

View File

@ -109,6 +109,9 @@ void InitBoardHardware()
#ifdef BSP_USING_UART #ifdef BSP_USING_UART
Stm32HwUsartInit(); Stm32HwUsartInit();
#endif #endif
InitBoardMemory((void*)MEMORY_START_ADDRESS, (void*)MEMORY_END_ADDRESS);
#ifdef KERNEL_CONSOLE #ifdef KERNEL_CONSOLE
InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME); InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME);
@ -120,6 +123,4 @@ void InitBoardHardware()
KPrintf("board initialization......\n"); KPrintf("board initialization......\n");
#endif #endif
InitBoardMemory((void*)MEMORY_START_ADDRESS, (void*)MEMORY_END_ADDRESS);
} }

View File

@ -54,6 +54,9 @@ void InitBoardHardware(void)
CLINT_MTIMECMP_ADDR = CLINT_MTIME_ADDR + TICK; CLINT_MTIMECMP_ADDR = CLINT_MTIME_ADDR + TICK;
SET_CSR(mie, MIP_MTIP); SET_CSR(mie, MIP_MTIP);
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
extern int InitHwUart(void); extern int InitHwUart(void);
InitHwUart(); InitHwUart();
InstallConsole(SERIAL_BUS_NAME, SERIAL_DRV_NAME, SERIAL_DEVICE_NAME); InstallConsole(SERIAL_BUS_NAME, SERIAL_DRV_NAME, SERIAL_DEVICE_NAME);
@ -62,8 +65,6 @@ void InitBoardHardware(void)
KPrintf("board initialization......\n"); KPrintf("board initialization......\n");
KPrintf("memory address range: [0x%08x - 0x%08x], size: %d\n", (x_ubase) MEMORY_START_ADDRESS, (x_ubase) MEMORY_END_ADDRESS, MEMORY_SIZE); KPrintf("memory address range: [0x%08x - 0x%08x], size: %d\n", (x_ubase) MEMORY_START_ADDRESS, (x_ubase) MEMORY_END_ADDRESS, MEMORY_SIZE);
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
return; return;
} }

View File

@ -54,6 +54,9 @@ void InitBoardHardware(void)
CLINT_MTIMECMP_ADDR = CLINT_MTIME_ADDR + TICK; CLINT_MTIMECMP_ADDR = CLINT_MTIME_ADDR + TICK;
SET_CSR(mie, MIP_MTIP); SET_CSR(mie, MIP_MTIP);
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
extern int InitHwUart(void); extern int InitHwUart(void);
InitHwUart(); InitHwUart();
InstallConsole(SERIAL_BUS_NAME, SERIAL_DRV_NAME, SERIAL_DEVICE_NAME); InstallConsole(SERIAL_BUS_NAME, SERIAL_DRV_NAME, SERIAL_DEVICE_NAME);
@ -62,8 +65,6 @@ void InitBoardHardware(void)
KPrintf("board initialization......\n"); KPrintf("board initialization......\n");
KPrintf("memory address range: [0x%08x - 0x%08x], size: %d\n", (x_ubase) MEMORY_START_ADDRESS, (x_ubase) MEMORY_END_ADDRESS, MEMORY_SIZE); KPrintf("memory address range: [0x%08x - 0x%08x], size: %d\n", (x_ubase) MEMORY_START_ADDRESS, (x_ubase) MEMORY_END_ADDRESS, MEMORY_SIZE);
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
return; return;
} }

View File

@ -153,6 +153,10 @@ void InitBoardHardware(void)
#ifdef BSP_USING_UART #ifdef BSP_USING_UART
HwUartInit(); HwUartInit();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
#ifdef KERNEL_CONSOLE #ifdef KERNEL_CONSOLE
/* set console device */ /* set console device */
InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME); InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME);
@ -165,8 +169,6 @@ void InitBoardHardware(void)
#ifdef ARCH_SMP #ifdef ARCH_SMP
EnableHwclintIpi(); EnableHwclintIpi();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
#ifdef KERNEL_COMPONENTS_INIT #ifdef KERNEL_COMPONENTS_INIT
for(i = 0; _board_init[i].fn != NONE; i++) { for(i = 0; _board_init[i].fn != NONE; i++) {

View File

@ -202,6 +202,10 @@ void InitBoardHardware(void)
#ifdef BSP_USING_UART #ifdef BSP_USING_UART
HwUartInit(); HwUartInit();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
#ifdef KERNEL_CONSOLE #ifdef KERNEL_CONSOLE
/* set console device */ /* set console device */
InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME); InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME);
@ -214,8 +218,6 @@ void InitBoardHardware(void)
#ifdef ARCH_SMP #ifdef ARCH_SMP
EnableHwclintIpi(); EnableHwclintIpi();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
#ifdef KERNEL_COMPONENTS_INIT #ifdef KERNEL_COMPONENTS_INIT
for(i = 0; _board_init[i].fn != NONE; i++) { for(i = 0; _board_init[i].fn != NONE; i++) {

View File

@ -146,6 +146,10 @@ void InitBoardHardware(void)
#ifdef BSP_USING_UART #ifdef BSP_USING_UART
HwUartInit(); HwUartInit();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
#ifdef KERNEL_CONSOLE #ifdef KERNEL_CONSOLE
/* set console device */ /* set console device */
InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME); InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME);
@ -158,9 +162,6 @@ void InitBoardHardware(void)
#ifdef ARCH_SMP #ifdef ARCH_SMP
EnableHwclintIpi(); EnableHwclintIpi();
#endif #endif
/* initialize memory system */
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
KPrintf("board init done.\n"); KPrintf("board init done.\n");
KPrintf("start kernel...\n"); KPrintf("start kernel...\n");

View File

@ -63,10 +63,12 @@ void InitBoardHardware(void)
InitHwUart(); InitHwUart();
InitHwTick(); InitHwTick();
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
InstallConsole("uart0", "uart0_drv", "uart0_dev0"); InstallConsole("uart0", "uart0_drv", "uart0_dev0");
KPrintf("console init completed.\n"); KPrintf("console init completed.\n");
InitBoardMemory(MEMORY_START_ADDRESS, MEMORY_END_ADDRESS);
KPrintf("memory address range: [0x%08x - 0x%08x], size: %d\n", (x_ubase) MEMORY_START_ADDRESS, (x_ubase) MEMORY_END_ADDRESS, RV32M1VEGA_SRAM_SIZE); KPrintf("memory address range: [0x%08x - 0x%08x], size: %d\n", (x_ubase) MEMORY_START_ADDRESS, (x_ubase) MEMORY_END_ADDRESS, RV32M1VEGA_SRAM_SIZE);
KPrintf("board init done.\n"); KPrintf("board init done.\n");
KPrintf("start kernel...\n"); KPrintf("start kernel...\n");

View File

@ -89,6 +89,8 @@ void InitBoardHardware()
__set_PRIMASK(1); __set_PRIMASK(1);
InitHwUart(); InitHwUart();
InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME);
InitBoardMemory((void*)HEAP_START, (void*)HEAP_END); InitBoardMemory((void*)HEAP_START, (void*)HEAP_END);
InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME);
} }

View File

@ -156,6 +156,9 @@ void InitBoardHardware()
#ifdef BSP_USING_UART #ifdef BSP_USING_UART
Stm32HwUsartInit(); Stm32HwUsartInit();
#endif #endif
InitBoardMemory((void*)MEMORY_START_ADDRESS, (void*)MEMORY_END_ADDRESS);
#ifdef KERNEL_CONSOLE #ifdef KERNEL_CONSOLE
InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME); InstallConsole(KERNEL_CONSOLE_BUS_NAME, KERNEL_CONSOLE_DRV_NAME, KERNEL_CONSOLE_DEVICE_NAME);
@ -167,8 +170,6 @@ void InitBoardHardware()
KPrintf("board initialization......\n"); KPrintf("board initialization......\n");
#endif #endif
InitBoardMemory((void*)MEMORY_START_ADDRESS, (void*)MEMORY_END_ADDRESS);
for(i = 0; _board_init[i].fn != NONE; i++) { for(i = 0; _board_init[i].fn != NONE; i++) {
ret = _board_init[i].fn(); ret = _board_init[i].fn();
KPrintf("initialize %s %s\n",_board_init[i].fn_name, ret == 0 ? "success" : "failed"); KPrintf("initialize %s %s\n",_board_init[i].fn_name, ret == 0 ? "success" : "failed");