forked from xuos/xiuos
				
			fix InitBoardMemory and InstallConsole bug for XiZi bsp/board from Liu_Weichao
it is OK
This commit is contained in:
		
						commit
						7b3f1dc95f
					
				| 
						 | 
					@ -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++) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +122,5 @@ void InitBoardHardware()
 | 
				
			||||||
    KPrintf("\nconsole init completed.\n");
 | 
					    KPrintf("\nconsole init completed.\n");
 | 
				
			||||||
    KPrintf("board initialization......\n");
 | 
					    KPrintf("board initialization......\n");
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    InitBoardMemory((void*)MEMORY_START_ADDRESS, (void*)MEMORY_END_ADDRESS);
 | 
					 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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++) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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++) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -166,8 +169,6 @@ void InitBoardHardware()
 | 
				
			||||||
    KPrintf("\nconsole init completed.\n");
 | 
					    KPrintf("\nconsole init completed.\n");
 | 
				
			||||||
    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();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue