RT Thread 在STM32f10x 平台上的移植

转载 2015年11月19日 14:27:24
====== 如何移植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组件使用->其它。

基于STM32F103ZE芯片的RT-thread 操作系统移植

本人之前从事嵌入式软件开发(主要使用STM32,C8051,NXP片子)将近5年,最近由于工作变动开始搞LINUX应用层软件开发(多了点算法),为了使自己不把这为数不多的兴趣爱好丢了,开始写点文章,主...
  • dy22511825
  • dy22511825
  • 2016年11月22日 22:23
  • 1950

【RT-Thread学习笔记 6】RT-Thread下的串口驱动程序分析

编写本文稿的目的,在于通过分析stm32平台上的串口中断源码,学习 RTT中如何编写中断处理程序 如何编写RTT设备驱动接口代码 了解串行设备的常见处理机制 先以RTT...
  • jxgxlm2008
  • jxgxlm2008
  • 2016年07月04日 15:04
  • 974

RT-thread移植(基于STM32F4xx)

1、将下载的rt-thread-2.0.1解压后,得到如下图所示的文件列表。 在bsp目录下可以找到stm32f40x文件夹,这文件夹里面包括了库函数,其他芯片平台的文件夹统统删掉。在l...
  • u011392772
  • u011392772
  • 2016年07月26日 22:21
  • 6033

Rt-Thread下的串口问题

Win+PL2303HX          这几天在stm32f407上跑RT-Thread操作系统,由于官方的BSP已经有移植好的例程了,所以自己配置起来还是很容易的。但是容易的事情做起来也出现了...
  • liaoxu02
  • liaoxu02
  • 2014年05月24日 14:45
  • 1741

在KEIL下搭建基于 STM32 和 rt-thread 的开发环境

RT_thread开发人员是用MDK(Keil)进行开发管理的,当然也提供了IAR等开发环境的配置。针对初学者都提供了相关的教程和案例,不过项目开发,还是得讲究一下如何有效搭建开发环境和配置。MDK(...
  • qq_15232177
  • qq_15232177
  • 2016年11月08日 10:54
  • 1383

RT-Thread下的串口驱动程序分析

编写本文稿的目的,在于通过分析stm32平台上的串口中断源码,学习 RTT中如何编写中断处理程序 如何编写RTT设备驱动接口代码 了解串行设备的常见处理机制 先以RTT...
  • wangpengqi
  • wangpengqi
  • 2016年01月23日 21:11
  • 2621

UCOS2_STM32F1移植详细过程(二)

Ⅰ、概述 打开上一篇文章新建的工程,是提取的ST标准库里面源代码文件和UCOS工程包源代码文件。下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程...
  • ybhuangfugui
  • ybhuangfugui
  • 2016年06月26日 23:24
  • 5261

arm平台移植mplayer

1、网上搜索mplayer,获取其源码,本实验获取的是madplay_yjaz_20150613.tar.bz2版本 2、解压文件,进入目录 cd mplayer-1.1.1-yjaz ls l...
  • qq785231745
  • qq785231745
  • 2015年09月04日 12:15
  • 1563

RT-Thread 学习笔记(十三)--- 开启基于RTGUI的LCD显示功能(3)<触屏屏驱动移植和测试>

软件环境:Win7,Keil MDK 4.72a, IAR EWARM 7.2, GCC 4.2,Python 2.7 ,SCons 2.3.2 硬件环境:Armfly STM32F103ZE-E...
  • aping_cs_dn
  • aping_cs_dn
  • 2015年04月16日 09:10
  • 2409

RT-thread 设备驱动组件之PIN设备

在RT-thread 2.0.0正式版中引入了pin设备作为杂类设备,其设备驱动文件pin.c在rt-thread-2.0.1\components\drivers\misc中,主要用于操作芯片GPI...
  • jxgxlm2008
  • jxgxlm2008
  • 2016年07月04日 14:49
  • 720
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RT Thread 在STM32f10x 平台上的移植
举报原因:
原因补充:

(最多只允许输入30个字)