45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /****************************************************************************
 | ||
|  |  * | ||
|  |  * Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. | ||
|  |  * | ||
|  |  * This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT | ||
|  |  * be copied by any method or incorporated into another program without | ||
|  |  * the express written consent of Aerospace C.Power. This Information or any portion | ||
|  |  * thereof remains the property of Aerospace C.Power. The Information contained herein | ||
|  |  * is believed to be accurate and Aerospace C.Power assumes no responsibility or | ||
|  |  * liability for its use in any way and conveys no license or title under | ||
|  |  * any patent or copyright and makes no representation or warranty that this | ||
|  |  * Information is free from patent or copyright infringement. | ||
|  |  * | ||
|  |  * ****************************************************************************/ | ||
|  | #include "os_types.h"
 | ||
|  | #include "sections.h"
 | ||
|  | 
 | ||
|  | void* memcpy(void* aa, const void* bb, size_t n); | ||
|  | 
 | ||
|  | void* memset(void* s, int32_t c, uint32_t size); | ||
|  | 
 | ||
|  | static void romlib_data_init(void) | ||
|  | { | ||
|  |     uint8_t *start = (uint8_t*)&_data_start; | ||
|  |     uint8_t *end = (uint8_t*)&_data_end; | ||
|  |     uint8_t *load = (uint8_t*)&_data_load_addr; | ||
|  |     int len = (end - start); | ||
|  | 
 | ||
|  |     memcpy(start, load, len); | ||
|  | } | ||
|  | 
 | ||
|  | static void romlib_bss_init(void) | ||
|  | { | ||
|  |     uint8_t *start = (uint8_t*)&_bss_start; | ||
|  |     uint8_t *end = (uint8_t*)&_bss_end; | ||
|  |     int len = (end - start); | ||
|  | 
 | ||
|  |     memset(start, 0x0, len); | ||
|  | } | ||
|  | 
 | ||
|  | void romlib_section_init(void) { | ||
|  |     romlib_data_init(); | ||
|  |     romlib_bss_init(); | ||
|  | } |