stm32cubeide设置文件编译顺序

stm32cubeide设置文件编译顺序,第1张

对一个加法函数的库项目的建立和编译整个过程如下:

1、这里就要选择ARMMCU的GCC编译器了。

2、选择和MCU型号的绑定关系了,毕竟编译的库是给MCU项目所用,这里选择STM32F401CCU6的芯片。

2、添加源文件编写加法函数,编写加法函数进行编译。

3、编译成功,在工程目录里就可以找到编译好的库文件了,库文件的调用,配置一个对应MCU的基本工程,建立一个STM32F401CCU6的工程,并配置USART2作为串口输出。

4、保存后产生基本工程代码,重载printf函数方便打印输出,参考STM32UART串口printf函数应用及浮点打印代码空间节省。

5、在工程的core/inc/目录新建一个和库文件同名的头文件,将库文件libLib_C_Demo.a放置到工程的源文件目录core/src/,则在工程目录树立可以看到。

6、因为编译器默认只是识别C语言源代码(.c文件),还需要进行库文件的指定,这样编译器才会对二进制库文件(.a)进行识别。

7、先打开属性菜单,进行库文件所在目录和库文件名的添加指定,注意库文件名前需要加冒号,ApplyandClose后,就可以在工程文件里对库文件进行调用,首先要引入库文件的头文件。

8、在while循环里进行打印输出,打印数据为库函数调用的加法和,编译下载到STM32F401CCU6芯片后运行,通过串口工具观察打印结果,输出打印结果正确,库函数正常调用成功。

在 CubeIDE 中使用 STLink 仿真时,可以通过调试功能查看 printf 输出。具体步骤如下:

在代码中添加需要输出的 printf 语句。

点击 CubeIDE 工具栏中的 Debug 按钮,进入调试模式。

在调试视图中,选择 Console 标签页。

在 Console 标签页中,点击 Show Console 按钮,打开 Console 窗口。

在 Console 窗口中,可以看到程序输出的 printf 信息。

需要注意的是,为了在 STLink 仿真中查看 printf 输出,需要在代码中添加一些初始化代码和配置。具体而言,需要在 main 函数中添加以下代码:

c

Copy code

#include "stdio.h"

#include "sys/unistd.h" // 包含 _write 函数原型

int _write(int file, char *ptr, int len)

{

HAL_UART_Transmit(&huart2, (uint8_t *)ptr, len, 0xFFFF)

return len

}

其中,_write 函数是一个系统调用,用于将 printf 输出重定向到串口。在上面的代码中,将 printf 输出重定向到了 USART2 串口,需要根据实际情况修改为对应的串口。

另外,需要在 CubeIDE 的工程配置中,将 printf 输出重定向到串口。具体而言,可以在工程属性中的 C/C++ Build - Settings - MCU GCC Compiler - Symbols 中添加下面两个宏定义:

c

Copy code

USE_FULL_ASSERT

PRINTF_USES_HAL_DRIVER

添加了这两个宏定义后,printf 输出就会自动重定向到串口,方便在 STLink 仿真中查看。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11229963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存