|
说明:CMSIS和F4固件库的最新版本下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=2069
下面以V5和X3开发板的 F4-001_按键检测和LED控制例程这里例程为例子做一下升级。
更新后同时支持X3和V5开发板,IAR和MDK都做了更新,在FLASH和RAM运行也做了
跟新。
1. 第一步:直接将最新版的CMSIS和F4固件库覆盖原有的
2. 第二步:覆盖后更新三个地方,以MDK为例
把这两个文件重新的更新一下,然后就是添加一个新的宏定义,因为开发板用的是STM32F407IGT6和STM32F407VGT6,所以这里选择
STM32F40_41xxx。
#if !defined (STM32F40_41xxx) && !defined (STM32F427_437xx) && !defined (STM32F429_439xx) && !defined (STM32F401xx)
/* #define STM32F40_41xxx */ /*!< STM32F405RG, STM32F405VG, STM32F405ZG, STM32F415RG, STM32F415VG, STM32F415ZG,
STM32F407VG, STM32F407VE, STM32F407ZG, STM32F407ZE, STM32F407IG, STM32F407IE,
STM32F417VG, STM32F417VE, STM32F417ZG, STM32F417ZE, STM32F417IG and STM32F417IE Devices */
/* #define STM32F427_437xx */ /*!< STM32F427VG, STM32F427VI, STM32F427ZG, STM32F427ZI, STM32F427IG, STM32F427II,
STM32F437VG, STM32F437VI, STM32F437ZG, STM32F437ZI, STM32F437IG, STM32F437II Devices */
/* #define STM32F429_439xx */ /*!< STM32F429VG, STM32F429VI, STM32F429ZG, STM32F429ZI, STM32F429BG, STM32F429BI,
STM32F429NG, STM32F439NI, STM32F429IG, STM32F429II, STM32F439VG, STM32F439VI,
STM32F439ZG, STM32F439ZI, STM32F439BG, STM32F439BI, STM32F439NG, STM32F439NI,
STM32F439IG and STM32F439II Devices */
/* #define STM32F401xx */ /*!< STM32F401CB, STM32F401CC, STM32F401RB, STM32F401RC, STM32F401VB and STM32F401VC Devices */
#endif
我这里直接将这个宏定义添加到这里
这三个地方改完以后基本在armfly-V5开发板上面运行就没有问题了,如果要在armfly-X3开发板上面运行的话,
更改下bsp.h文件里面的宏定义:
========================================================
//#define STM32_V5
#define STM32_X3
/* 检查是否定义了开发板型号 */
#if !defined (STM32_V5) && !defined (STM32_X3)
#error "lease define the board model : STM32_X3 or STM32_V5"
#endif
========================================================
还有一个地方要注意改一下,由于V5开发板的驱动在X3上面使用,有些地方没有升级,大部分都升级了
,这里需要更改一下bsp_uart_fifo.h
========================================================
#ifdef STM32_X3 /* 安富莱 STM32-X4 开发板 */ /* 安富莱STM32-X3开发板串口分配:
PA9/USART1_TX --- 打印调试口 PA10/USART1_RX
*/ #define UART1_FIFO_EN 1
#define UART2_FIFO_EN 0 #define UART3_FIFO_EN 0
#define UART4_FIFO_EN 0 #define UART5_FIFO_EN 0
#define UART6_FIFO_EN 0
/* 为了防止用X3开发板上面使用UART的时候有警告,这里添加下面的定义 */
#define RCC_RS485_TXEN RCC_AHB1Periph_GPIOB
#define PORT_RS485_TXEN GPIOB #define PIN_RS485_TXEN GPIO_Pin_2
#define RS485_RX_EN() PORT_RS485_TXEN->BSRRH = PIN_RS485_TXEN
#define RS485_TX_EN() PORT_RS485_TXEN->BSRRL = PIN_RS485_TXEN
#else
=======================================================
如果在内部RAM里面调试的话,添加上STM32F40_41xxx就可以了。
第三步:如果使用IAR的话,按照MDK的修改方法修改三个地方就可以的。
修改好的工程下载:
升级工程.zip
(3.32 MB, 下载次数: 268)
|
|