• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

F103的程序如何移植到F407?

ccb158fdb123c8e1 2019-05-17 浏览量:3830
使用STM32F407的板子,但是模板程序是F103的,如何把程序进行移植呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:6
  • 首先需要理解F1模板程序的逻辑,明白各个配置的由来,再在F4开发板上参考F1模板程序完成F4上所需模块的配置和逻辑的设计(自己设计的程序可以拷贝),需要修改一些地方,再编译适当进行修改,特别需要注意f4和F1开发板的不同。

  • 这个要看程序是基于什么库写的

    如果是HAL库,则基本上重新配置端口就能移植

    如果是其他库或者框架,则需要更多的分析,但无非是这样一些工作:

    1. 管脚对应设置

    2. 时钟分配配置

    3. 定时器设置

    4. 中断设置

    一般来说,具体的逻辑部分,如果封装的好,其实反而动不了多少,因为无论哪种相应的逻辑处理不会变,F4的资源还比F1的多,也不容易出现资源不够的情况。

  • 移植一般上层应用不变,只要改底层外设驱动,比如管脚重新配置,时钟,外设这些需要修改

    放法就是打开一个空的f4例程,然后把原来f1文件添加进去,然后再去修改内容

  • 如果是用HAL库写的,直接更换库文件就可以,如果是用寄存器或通用库写的就需要一点点移植底层驱动了

  • 如果用的是ST的库,比如HAL库来编程的,那应用程序可以移植,因为HAL库提供的接口,在各个系列上面都是差不多的,然后要将对应的底层库换掉,还有要改一下那些IO口的配置,因为IO不是完全兼容

  • 两个芯片的内核是不一样的,不可以直接移植,一般的移植方式是,

    在F4的芯片上,把底层驱动实现,再把应用层的协议之类的移植过来,与你的F4的函数的接口规范好,直接调用就可以了, 不过,也要调试一下,可能会有一些bug

相关问题

问题达人换一批

F103的程序如何移植到F407?