Red de conocimiento informático - Conocimiento informático - Cómo portar el código fuente oficial del sistema RT-thread a la plataforma MCU específica STM32F10x

Cómo portar el código fuente oficial del sistema RT-thread a la plataforma MCU específica STM32F10x

El directorio bsp del código fuente oficial 1.0.1 de RT-thread ya contiene el código fuente adaptado para la plataforma STM32F10x,

pero está construido con STM32F103ZE como plataforma. Si necesita trasplantar a otra MCU STM, debe realizar los siguientes pasos:

1. Descomprima el código fuente 1.0.1 del sitio web oficial

2. Modifique el; oscilador de cristal (predeterminado en el sitio web oficial Use un oscilador de cristal externo de 8M, y mi placa de circuito usa un oscilador de cristal de 12M):

El primer paso es abrir stm32f10x.h y configurarlo

#define HSE_VALUE ((uint32_t)8000000) /*! < El valor del oscilador externo, unidad Hz */

Cambiar a:

#define HSE_VALUE ((uint32_t) 12000000) /*! < El valor del oscilador externo, Unidad Hz */

El segundo paso es abrir system_stm32f10x.c, modificar los parámetros de PLL y cambiarlos a:

/* Configuración de PLL: PLLCLK = HSE * 9 = 72 MHz * /

RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |

RCC_CFGR_PLLMULL));

RCC->CFGR |= (uint32_t) (RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9));

Modificado a:

/* Configuración de PLL: PLLCLK = HSE * 6 = 72 MHz */

RCC->CFGR &.= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |

RCC_CFGR_PLLMULL));

RCC- >CFGR |= (uint32_t)(RCC_CFGR_ PLLSRC_HSE | RCC_CFGR_PLLMULL6);

Paso 3, abra el proyecto STM32 creado, seleccione Proyectos->Opciones para el destino ****,

Buscar En la pestaña Objetivo, el oscilador de cristal externo predeterminado sigue siendo 8MHz, modifique los parámetros externos del oscilador de cristal son 12MHz. Modifique los parámetros del oscilador de cristal externo a 12MHz.

3. Modifique el tamaño de SRAM en board.h (el valor predeterminado oficial es 64K):

#define STM32_SRAM_SIZE 20

#define STM32_SRAM_END (0x20000000 + STM32_SRAM_ TAMAÑO * 1024)

4. Modifique el pin del led; abra el archivo led.c:

archivo 5.c:

#else

#define led1_rcc RCC_APB2Periph_GPIOE

#define led1_gpio GPIOE

#define led1_gpio GPIOE

# defineled1_pin (GPIO_Pin_2)

#define led2_rcc RCC_APB2Periph_GPIOE

#define led2_gpio GPIOE

#define led2_pin (GPIO_Pin_3)

5. Grabe y ejecute, puede ver el LED parpadeando;

Si desea recortar aún más el código fuente oficial del sistema, puede consultar el ejemplo de corte de subprocesos rt ubicado en wiki ->Uso del componente RT-Thread->Otros.