打印
[AT32F437]

AT32F435_437最新版本的固件库文件错误

[复制链接]
1512|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在最新版本的固件库at32f435_437_pwr.c文件中进入等待模式的函数里有一处预编译错误,应该是老早之前的编译器才有__force_stores函数,armclang会报c99和之后C版本不支持的错误,__ARMCC_VERSION应该是__CC_ARM

使用特权

评论回复
沙发
muyichuan2012| | 2024-6-13 09:19 | 只看该作者
“.....有一处预编译错误”
我这里试了一下没有问题,请问你这里报的什么错?用的什么编译器和什么IDE?

使用特权

评论回复
评论
muyichuan2012 2024-6-13 10:10 回复TA
@JiangYoo :我是用的Keil5.39 ,AC6编译 
JiangYoo 2024-6-13 09:56 回复TA
你没有报错应该是你用的ATide,没有定义__ARMCC_VERSION,所以那里不会被编译到 
JiangYoo 2024-6-13 09:54 回复TA
最新版的MDK,编译器就是ACC6,我看了STM32的固件库那里也是__CC_ARM 
板凳
muyichuan2012| | 2024-6-13 10:13 | 只看该作者
本帖最后由 muyichuan2012 于 2024-6-13 10:33 编辑

使用AC6是打不开__CC_ARM这个宏的,要用__ARMCC_VERSION。

使用特权

评论回复
评论
JiangYoo 2024-6-13 10:44 回复TA
你试一下用新的CMSIS驱动包,我发现是驱动包的版本问题,因为那个函数是旧编译器才会去用的,我在你们提供的CMSIS驱动包里找到的一个兼容函数的包含,应该是CMSIS 5.7.0的,我现在用的是5.9.0及之后的 
地板
JiangYoo|  楼主 | 2024-6-13 10:47 | 只看该作者
这个是你们提供的CMSIS驱动包,没有表明版本,看日期应该是5.7.0,在cmsis_armclang.h文件中。

使用特权

评论回复
5
JiangYoo|  楼主 | 2024-6-13 10:50 | 只看该作者
这个是临时新建的工程,报的错误。

工程用的库:

使用特权

评论回复
6
JiangYoo|  楼主 | 2024-6-13 10:53 | 只看该作者
在STM32的库函数中是用的__CC_ARM宏,是早期版本的编译器才需要调用的函数,包括你们其它芯片的库函数也是用的__CC_ARM。

使用特权

评论回复
7
084425| | 2024-6-13 11:48 | 只看该作者
这个就是为了兼容AC6,你用完整的BSP包里的例程测试一下,不要自己手动替换不同版本的部分文件,看是否有问题

使用特权

评论回复
8
084425| | 2024-6-13 14:07 | 只看该作者
以下是CMSIS官方的log,也就说如果工程中没有使用BSP中的CMSIS,而是自己手动更改的V5.8.0以上新版本,这个arm_compat.h头文件需要自行显性的添加

使用特权

评论回复
9
JiangYoo|  楼主 | 2024-6-13 14:57 | 只看该作者
084425 发表于 2024-6-13 14:07
以下是CMSIS官方的log,也就说如果工程中没有使用BSP中的CMSIS,而是自己手动更改的V5.8.0以上新版本,这个 ...

但是你看前边的话意思是那个文件在新版本的驱动库可能存在新版本已经定义的重复定义等问题,这个文件只是过渡性的,其它芯片用的新版本完全可以不用包含的。我的问题是这个固件库这个图中那个函数在AC6中并不需要调用,因为在STM32及AT32其它芯片固件库中那个预编译都是用的__CC_ARM而不是ARMCC_VERSION。我认为单纯是因为误打误撞例程中用的旧驱动包还兼容旧指令而没有发现。

使用特权

评论回复
10
trucyw| | 2024-6-13 19:16 | 只看该作者
跟着大侠学习

使用特权

评论回复
11
muyichuan2012| | 2024-6-13 19:42 | 只看该作者
本帖最后由 muyichuan2012 于 2024-6-13 19:59 编辑

“...的问题是这个固件库这个图中那个函数在AC6中并不需要调用...”
----  ARM官网AC6 Embedded Reference Guide 上有对__force_stores intrinsic进行描述,并没有说AC6不需要调用。
链接如下:https://developer.arm.com/docume ... s-intrinsic?lang=en



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

12

帖子

0

粉丝