20170904在STM32F407VE上测试RT-Thread V2.1.0

继前段时间在stm32f103上试运行了RTT,现在把它放到stm32f407上跑起来:

1,准备工作
a.RTT v2.1.0 软件包
b.MDK 4.0以上IDE环境,我这次用的是4.73.0.0
这里写图片描述
c.一块stm32f407ve的主板,外部晶振8MHz
d.st-link
2,软件上修改的东西并不多,只需要将示例中的25MHz外部晶振更换为主板上的8MHz即可;
cortex-M4的ST库跟M3的库基本一致,修改stm32f4xx.h头文件即可,如下:
—找BSP对应的目录下,进入到\BSP\stm32f40x\Include\ 绝对目录中,修改对应的文件大概101行,注释掉原来的那一行,新增一行更改为8MHz即可;
这里写图片描述

#if !defined  (HSE_VALUE) 
  //#define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the B2 External oscillator in Hz */
#endif /* HSE_VALUE */

因为RTT需要的最大SRAM限制为64KB,F407VE内部SRAM 192KB,故不需要调整;

编译&下载&运行;

这里需要说明的是,stm32f40x里面RTT的默认代码映射finsh在UART2,且波特率为115200,8N1,
如下:

// <o> Console on USART: <0=> no console <1=>USART 1 <2=>USART 2 <3=> USART 3
//  <i>Default: 1
#define STM32_CONSOLE_USART     2
/* Default config for serial_configure structure */
#define RT_SERIAL_CONFIG_DEFAULT           \
{                                          \
    BAUD_RATE_115200, /* 115200 bits/s */  \
    DATA_BITS_8,      /* 8 databits */     \
    STOP_BITS_1,      /* 1 stopbit */      \
    PARITY_NONE,      /* No parity  */     \
    BIT_ORDER_LSB,    /* LSB first sent */ \
    NRZ_NORMAL,       /* Normal mode */    \
    RT_SERIAL_RB_BUFSZ, /* Buffer size */  \
    0                                      \
}

连接上串口,打印信息出来,输入RTT finsh命令进行交互,说明她已经跑起来了!
这里写图片描述

(全文完)

发布了9 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yofa2008/article/details/77839408