心升明月 发表于 2018-6-9 12:59:15

利用STM32F030系列M0内核 用sin()库函数就下载出错

利用STM32F030F4P6单片机 程序用到sin()函数, 直接用<math.h>C标准库的, 编译程序没问题, 下载时出现下图中提示,下载失败! 不知道大家有没有遇见这种情况!


如果手头有 这款芯片板子,可以随意写个程序将sin() 加在里面编译下下载.

MrJiu 发表于 2018-6-9 13:46:27

下载和内容应该没关系吧,既然编译可以通过,那就表示大小OK。。。我觉得有可能是你的flash超过了,但是st的MCU即使超过了,也不会提示错误的啊。。。感觉是其他问题!!!

す疯Ⅱ恒す 发表于 2018-6-9 13:47:01

没选芯片型号?

心升明月 发表于 2018-6-9 13:48:52

MrJiu 发表于 2018-6-9 13:46
下载和内容应该没关系吧,既然编译可以通过,那就表示大小OK。。。我觉得有可能是你的flash超过了,但是st ...

当 不使用sin()这个函数时,也就是屏蔽这一句后,编译后下载即ok. 得到的结论就是使用sin() 下载就出现这种情况,用两块板子下载均是

stm1024 发表于 2018-6-9 15:37:03

你打开下载器看一下,下载配置是否和芯片一致?

wenyangzeng 发表于 2018-6-9 16:47:08

本帖最后由 wenyangzeng 于 2018-6-9 19:04 编辑

math.h中的sin()函数要用double sin(double)而不是float

心升明月 发表于 2018-6-9 19:53:55

wenyangzeng 发表于 2018-6-9 16:47
math.h中的sin()函数要用double sin(double)而不是float

float 代表强制转换,跟这个同样没关系.

心升明月 发表于 2018-6-9 19:54:58

stm1024 发表于 2018-6-9 15:37
你打开下载器看一下,下载配置是否和芯片一致?

一致,这个sin() 代码是在我原有代码上面添加的

toofree 发表于 2018-6-9 23:43:16

16K的空间,也就是最大0x08004000 提示你数据不一致,太正常了。
很可能编程算法就没有写超过16K的。

你可以把芯片选成STM32F070F6试试。


feixiang20 发表于 2018-6-10 01:29:34

如果前期没问题,那重新看看初始化配置
页: [1] 2
查看完整版本: 利用STM32F030系列M0内核 用sin()库函数就下载出错