×
单片机 > 单片机程序设计 > 详情

stm32f103应用rt-thread 1.2.5搭建的Keil工程

发布时间:2020-05-28 发布时间:
|

为了提高自己,学习stm32和freescale


使用的硬件是公司的一些产品,开发人员已经基于RTX操作系统开发完成,为了提高一下(本人非开发),也有一些代码参考,故决定从rtx系统移植到rt-thread系统上


刚接触rt-thread不久,发现网上也有一些rt-thread的工程,但基本上都与原版的rt-thread有改动,为了学习rt-thread且希望尽可能少的改动,在此记录下学习的过程..


搭建的工程没有什么可以说的,运行后发送串口输出是乱码,找了一下原因是晶振不匹配,其实rt-thread上有讲,链接找不到了,贴下之前保存的记录


工程下载地址:http://pan.baidu.com/s/1o7VSfaE


1.修改晶振(官网的默认使用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.

2.修改board.h里的SRAM大小(官方的默认是64K):


  #define STM32_SRAM_SIZE         20

  #define STM32_SRAM_END          (0x20000000 + STM32_SRAM_SIZE * 1024)

3.修改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)

(1). 打开BSP文件夹,把除了stm32f10x的文件夹外,其余全部删除


(2). 打开libcpu文件夹,进入arm,保留common,cortex-m3,其余全部删除;


(3). 打开libcpu,除了arm文件夹,其余全删


(4). 保留bsp、components 、include、 src、 libcpu其余全删



关键字:stm32f103  rt-thread  1  2  5  Keil工程

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项