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

2019-08-24来源: eefocus关键字:stm32f103  rt-thread  1  2  5  Keil工程

为了提高自己,学习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工程 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic472398.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:stm32在rt-thread上的RTC(实时时钟)
下一篇:stm32 外部中断 按键的误触发

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm32f103 c6t6 CAN总线的配置
KEIl5 环境下 中文显示复制过来有问题又懒得打字
发表于 2019-11-13
stm32f103 c6t6 CAN总线的配置
STM8L051F3_01_GPIO应用
本章介绍STM8L051F3的GPIO相关知识。内容分为以下几部分:GPIO简介点亮LED1、GPIO简介GPIO:通用输入/输出口,用于芯片与外部进行数据传输;STM8L051F3的一个I/O端口最多可以有8个Pins(引脚),每个引脚可以独立地配置为数字输入或数字输出。此外,一些I/O端口可能有一些复用功能如模拟输入、外部中断、片上外设的输入输出等,一个引脚不能同时使用多种复用功能。每个I/O端口都分配有一个输出数据寄存器、输入数据寄存器、数据方向寄存器、两个配置寄存器,一个I/O端口工作在输入或输出状态取决于数据方向寄存器。STM8L051F3的GPIO主要性能如下:端口的位(引脚)能独立配置可选择的输入模式:浮空输入
发表于 2019-11-13
STM32F0x2 IWDG(独立看门狗)
单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生。看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号)。 以下为stm32f042单片机独立看门狗相关代码:/***********************************************************函数描述:初始化独立看门狗,timeout为1s*函数:void IWDG_Init(unsigned char usb_sw) *参数:无*作者:*日期
发表于 2019-11-12
STM32F1小白系列之四、独立看门狗(IWDG)
:T(ms) == [(4 * 2^pre_Scaler) * reload] / 40;    IWDG_ReloadCounter();//第一次喂狗    IWDG_Enable();//使能看门狗}//喂狗APIvoid feed_iwdg(void){    IWDG_ReloadCounter();//喂狗,使STM32重新加载【IWDG_RLR中的值】到【看门狗计数器里面】。}2、直接配置寄存器/*    函数功能:初始化独立看门狗    函数名:init_iwdg    返回值:void 
发表于 2019-11-12
stm32f0 hal adc配置
Clock Prescaler:和系统时钟同步并且二分频Sampling Time :采样时间,采样时间是你通过寄存器告诉STM32采样模拟量的时间,设置越长越精确
发表于 2019-11-11
stm32f0 hal adc配置
STM32F0xx_看门狗(独立+窗口)配置详细过程
Ⅰ、概述对于看门狗,我觉得做单片机或者嵌入式开发的人员来说并不陌生,今天总结STM32F0看门狗的功能,F0的看门狗有两种:独立和窗口看门狗。今天提供两种看门狗的软件工程实例,供大家下载。两种看门狗各有各的特点,应用在不同的场合,下面将分别简单总结一下独立和窗口看门狗的功能。Ⅱ、下载文章提供的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘,请放心下载测试,如有问题请检查一下你的板子是否有问题。ST标准外设库和参考手册、数据手册等都可以在ST官网下载,你也可以到我的360云盘下载。关于F0系列芯片的参考手册有多个版本(针对F0不同芯片),但有一个通用版本,就是“STM32F0x128参考手册V8(英文
发表于 2019-11-08
STM32F0xx_看门狗(独立+窗口)配置详细过程
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved