STM32F工程移植注意事项

文档由来
最近项目用到STM32F429,参考的是正点原子的STM32F4开发板。本文主要说明一下代码移植过程中的注意事项,记录一下其中最基本的几个改动。方便后续再次做类似移植时查看。

开发环境
从正点原子的STM32F4开发板(使用芯片STM32F407),移植到采用STM32F429芯片的设备上。

SDK注意事项:
1、芯片启动文件需要更换成:startup_stm32f429_439xx.s。
2、keil软件的选项,全局宏定义由STM32F40_41xxx改成STM32F429_439xx,下图所示

3、429芯片,内存控制用的FMC而不是FSMC。需要更改lib调用,把stm32f4xx_fsmc.c替换成stm32f4xx_fmc.c。更改所有调用地方,项目中LCD.c,SRAM.c文件调用到fsmc,如果不需要使用到lcd显示和外部内存,可直接删除这两个文件。
4、系统时钟168M->180M。用到系统时钟的地方需要更改,比如延时函数的初始化:delay_init(180); 定时器的初始化TIM3_Int_Init(999,899);

5、晶振配置
stm32默认使用外部晶振为8M,项目中改用25M时需要修改三个地方。
若第②处没有修改,镜像烧录到板子,可能导致板子无法起来,甚至无法再进行烧写加载。
解决方法:修改代码后keil加载镜像时,按一下mcu复位键。
①system_stm32f4xx.c文件

#if defined (STM32F40_41xxx) || defined (STM32F427_437xx) || defined (STM32F429_439xx) || defined (STM32F401xx)
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      25       //这里改为25
#else /* STM32F411xE */
#if defined (USE_HSE_BYPASS)
#define PLL_M      25       //这里改为25

②stm32f4xx.h文件

#if !defined  (HSE_VALUE) #define HSE_VALUE    ((uint32_t)25000000) //这里改为25000000
#endif

③keil工程用于仿真调试的时钟设置,在keil工具的选项中设置。
本文到此结束。

STM32F工程移植注意事项相关推荐

  1. evc4工程移植vs.net2005所碰到的问题积累

    收集自网络] 原文:http://hi.baidu.com/copperlee/blog/item/c5c7abdc2a5f9fa3cc116638.html 在移植项目前,建议还是看看以下的文章: ...

  2. intellij idea -- 工程移植

    前言: 做课设在intellij idea导入时遇到了一点问题,现在记录一下解决过程: 环境: 是一个 web项目,实现网上书店.可以注册,订书,查询用户的订单等等.分管理员和用户:管理员可以增删书籍 ...

  3. STM32不同型号单片机keil工程移植说明

    STM32系列单片机如果库函数开发的话,那么不同型号单片机的工程是可以直接移植的.这样的话如果项目中更换了芯片,工程就可以直接移植过去,不用重新编写.这样就节约了很多时间. 下面说一下如何将 在STM ...

  4. STM32F103ZE工程移植到STM32F107VC上软件调试时死循环在while((RCC-CR RCC_CR_PLL2RDY) == 0) { }

    STM32F103ZE工程移植到STM32F107VC上软件调试时死循环在while((RCC->CR & RCC_CR_PLL2RDY) == 0) { }@TOC 第一次移植不知道改 ...

  5. 跨平台工程移植:opencv_pnp + artoolkitplus :ubuntu qtcreator-- windows qtcreator/ VS

    跨平台工程移植:源码编译的方式. 今天我要将一个ubuntu基于artoolkitplus库开发的qtcreator工程移植到widows版本下给其它同事开发. 鉴于在ubuntu下的开发都是基于cm ...

  6. 【STM32WLE5之LoRa# 系列2、易智联LM401 评估板PingPong工程移植】

    STM32WLE5之LoRa# 系列2:易智联LM401 评估板PingPong工程移植 前言 一.开发环境 1.STM32CubeMX与STM32CubeIDE软件安装 2.下载STM32WL固件库 ...

  7. 单片机 STM32F103C8T6 cubeMX HAL库 从环境到开发 正点原子工程移植 freeRTOS

    文章目录 0 准备材料 1 闪烁PC13的小灯 2 正点原子工程移植 注意点以及细节 3 freeRTOS 3.1 LED KEY 串口1 的一个实验 0 准备材料 1.需要正点原子的HAL介绍书籍可 ...

  8. 基于裸机工程移植内核

    基于裸机工程移植内核 在TencentOS Tiny官方项目仓下载内核代码,下载地址: GITHUB:https://github.com/OpenAtomFoundation/TencentOS-t ...

  9. T5工程移植到 T5L 屏的步骤

    不是原创  是在迪文客服拿的移植文件 ,作为分享给大家一起学习 首先,了解 K600+与 T5L 屏开发上的区别: 1,首先开发软件使用版本不一样,K600+使用软件版本 DGUS V5.08,T5L ...

最新文章

  1. 计算机网络华为模拟器,资源分享之计算机网络虚拟实践
  2. 5、python学习之变量
  3. 图解linux下top命令的使用
  4. 关于MySQL线程池,这也许是目前最全面的实用帖!(转载)
  5. boost::hana::values用法的测试程序
  6. TCP第四次挥手为什么要等待2MSL
  7. 【C语言】单链表的相关热点面试题(包括:从尾到头打印,逆置,冒泡,寻找中间节点,倒数k节点)
  8. Java 多线程 —— 常用并发容器
  9. 深度学习的实用层面 —— 1.11 神经网络的权重初始化
  10. java 注解object_JPA之常用 基本注解
  11. 安卓手机管理_安卓手机用户大福利,谷歌将改善手机内存管理,运行更流畅
  12. 手机电脑普通浏览器或UC浏览器缓存或下载的Y2hlbmppbmdjb25n0 Y2hlbmppbmdjb25n1 m3u8视频.ts格式视频合并工具成一个mp4
  13. 微软“断臂求生”,能实现绝地反击吗?
  14. c语言74hc595程序,单片机驱动74HC595的c51程序 - 51单片机控制74HC595驱动的编程要点_单片机驱动74HC595的c51程序...
  15. 太一星晨印朝晖:从应用交付到融合安全
  16. 使用Java合并excel的sheet的操作
  17. Linux—常用十大命令
  18. 【思维导图】一图读懂“心脑相连”最新成果:艾伦研究所发现心跳时,大脑会抖动
  19. 解决每次新建word都有页眉和页脚
  20. JAVA修炼秘籍第六章《鏖战》

热门文章

  1. status code = 404, status message = [Not Found]
  2. Axure 真正的解决跳转事件无效
  3. 运营都会写分析报告了!数据分析该怎么办?
  4. Fecmall-2.x 安装-转载文章仅供参考
  5. 京东AI加速器首出“成品”,“法咚咚”发布上线惊呆律师对手!
  6. java 自动装配_spring自动装配是什么?spring自动装配方式
  7. FPGA内部振荡器使用
  8. 报错 error: use of undeclared identifier (AS)
  9. 分享一个好用的远程桌面管理工具-Remote Desktop Connection Manager
  10. php实现网站客服聊天/在线沟通功能