zoukankan      html  css  js  c++  java
  • 用stm32f10x建立新的工程或移植工程重要步骤

    stm32f10x系列新建空的工程主要原理:

            1.添加启动文件

                             不同的芯片类型的启动文件的容量是不同的,选择适合该芯片的容量作为启动文件。

                             注意:启动文件是汇编语言编写的,所以文件的后缀名为.s

                    2.添加时钟配置 配置文件

                              stm32f10x.的系统时钟频率配置文件是    system_stm32f10x.c

                              stm32f4xx.的系统时钟频率配置文件是    system_stm32f4xx.c

                    3.添加main.c文件

                               main.c 文件的基本结构,大家都会写吧,这里就不详诉了。

                    4.添加外设的.c文件,一般是吧所有的外设都有加到工程里面。

                    5.添加.c文件的所用到的所有.h文件的路径。

         也就是告诉编译器头文件的位置。

         注意:stm32f10x_conf.h这个C文件,它并不代表任何外设,大家都知道,外设.c文件都有相应的.h文件,

                      这个stm32f10x_conf.h文件,包含了所有的片上外设的头文件,所以在工程中,必须添加。

     ——————————————————————————————————————————————————

                 如果你是做好了上面的几个步骤,那么一定会有错误的。

                 错误的提示是:warning:   #223-D: function "assert_param" declared implicitly

                 从提示的代码,基本上看不出什么问题,发生错误的原理如下:

                                “stm32f10x.h” 中如果定义了USE_STDPERIPH_DRIVER,该文件就#include "stm32f10x_conf.h"。然而默认的时候是没有#define USE_PERIPH_DRIVER.

                 解决办法之一:

                                 在“stm32f10x.h”中添加USE_PERIPH_DRIVER的定义。并且,定义芯片的类型。

                 解决办法之二:

                                 直接在“stm32f10x.h"中#include "stm32f10x_conf.h"

                                          

     -------------------------------------------------------------------------------------------------------------------------------------

    移植他人程序注意事项:

                    1、问题一:明明引用了某头文件。但是,仍然提示没有找到?

                          原因:可能是由于库版本不同导致。

                                     移植的时候,大家一般是移植模块文件,默认认为“stm32f10x.h”等文件是一样的。实际上由于,两个工程的库版本不同,stm32f10x.h文件在库3.0版本与库3.5版本完全不同。(其他几个关键文件也是不同的)。

        

                            

  • 相关阅读:
    Android 富文本框实现 RichEditText
    mmap和普通文件读写的区别和比较 & mmap的注意点
    exit和_exit的区别
    绑定线程到特定CPU处理器
    软中断与硬中断 & 中断抢占 中断嵌套
    线程与信号处理
    内核信号处理 & CPU8个通用寄存器
    SIGSEGV 和 SIGBUS & gdb看汇编
    Linux内核态用户态相关知识 & 相互通信
    Linux进程空间分布 & 上下文
  • 原文地址:https://www.cnblogs.com/cjyc/p/6539220.html
Copyright © 2011-2022 走看看