一个精简的printf支持,剪裁后只占用几KB ROM
This commit is contained in:
@@ -1,12 +1,11 @@
|
||||
|
||||
#include "stm32f10x_conf.h"
|
||||
void _memset(void *data, int val, int size)
|
||||
void memset(void *data, int val, int size)
|
||||
{
|
||||
unsigned int *_d = data;
|
||||
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
_d += i;
|
||||
_d[0] = 0;
|
||||
}
|
||||
}
|
||||
@@ -21,9 +20,9 @@ void FSMC_SRAM_Init(void)
|
||||
FSMC_NORSRAMTimingInitTypeDef readWriteTiming;
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
|
||||
_memset(&FSMC_NORSRAMInitStructure, 0, sizeof(FSMC_NORSRAMInitStructure));
|
||||
_memset(&readWriteTiming, 0, sizeof(readWriteTiming));
|
||||
_memset(&GPIO_InitStructure, 0, sizeof(GPIO_InitStructure));
|
||||
memset(&FSMC_NORSRAMInitStructure, 0, sizeof(FSMC_NORSRAMInitStructure));
|
||||
memset(&readWriteTiming, 0, sizeof(readWriteTiming));
|
||||
memset(&GPIO_InitStructure, 0, sizeof(GPIO_InitStructure));
|
||||
|
||||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG, ENABLE);
|
||||
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
|
||||
|
||||
@@ -13,7 +13,7 @@ void sram_init(void)
|
||||
void jump2kernel(void)
|
||||
{
|
||||
sram_init();
|
||||
// sram_test();
|
||||
sram_test();
|
||||
if (((*(__IO uint32_t *)KERNEL_IMG_START_ADDR) & 0x2FFE0000) == 0x20000000) // 检查栈顶地址是否合法,即检查此段Flash中是否已有APP程序
|
||||
{
|
||||
__set_PRIMASK(1);
|
||||
|
||||
Reference in New Issue
Block a user