关闭

RT Thread 在STM32f10x 平台上的移植

标签: stm32移植
615人阅读 评论(0) 收藏 举报
====== 如何移植RT-thread官方的系统源码到STM32F10x特定的MCU平台中 ======

RT-thread官方源码1.0.1的bsp目录中已经包含了STM32F10x平台的移植好的源码,
但却是以STM32F103ZE为平台构建的。如果需要移植到其它STM的MCU上,需要做以下几步:

1.解压官网的1.0.1源码;

2.修改晶振(官网的默认使用8M的外部晶振,我的板子是12M的):
     第一步,打开stm32f10x.h,将 
     #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ 
    修改为: 
     #define HSE_VALUE    ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */ 
    第二步,打开system_stm32f10x.c,修改PLL参数,将 
    /*  PLL configuration: 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); 
    修改为:   
    /*  PLL configuration: 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); 
    第三步,打开你已经建立的STM32工程,选择Projects-〉Options for target ***,
    找到Target标签,外接的晶振默认还是8MHz,将外接的晶振参数修改为12MHz.
3.修改board.h里的SRAM大小(官方的默认是64K):
    #define STM32_SRAM_SIZE         20
    #define STM32_SRAM_END          (0x20000000 + STM32_SRAM_SIZE * 1024)
4.修改led引脚;打开led.c文件:
     #else
    #define led1_rcc                    RCC_APB2Periph_GPIOE
    #define led1_gpio                   GPIOE
    #define led1_pin                    (GPIO_Pin_2)
    #define led2_rcc                    RCC_APB2Periph_GPIOE
    #define led2_gpio                   GPIOE
    #define led2_pin                    (GPIO_Pin_3)
5.烧写运行,就能看到led闪烁了;
如果想进一步裁剪官方系统源码,可以参考rt-thread裁剪示例 位于wiki百科的->RT-Thread组件使用->其它。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2863次
    • 积分:143
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类