OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5534|回复: 10

创建互斥信号量时编译失败

[复制链接]

34

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2015-4-18
在线时间
20 小时
发表于 2021-7-2 13:53:17 | 显示全部楼层 |阅读模式
1金钱

Error[Li005]: no definition for "xQueueCreateMutex" [referenced from C:\Users\Administrator\Desktop\12312\Project\EWARM\Debug\Obj\main.o]

没有定义xQueueCreateMutex这个函数

#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 )
    #define xSemaphoreCreateMutex() xQueueCreateMutex( queueQUEUE_TYPE_MUTEX )
#endif

求解

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2015-4-18
在线时间
20 小时
 楼主| 发表于 2021-7-2 13:53:54 | 显示全部楼层
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-7-2 14:10:13 | 显示全部楼层
上工程看看
回复

使用道具 举报

34

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2015-4-18
在线时间
20 小时
 楼主| 发表于 2021-7-2 14:55:29 | 显示全部楼层

帮忙看一下

12312.rar

8.97 MB, 下载次数: 1

回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-7-2 14:59:50 | 显示全部楼层
IAR的啊   没这个IDE

1、关注下头文件是否包含
2、关注函数名是否敲对
3、看函数功能使能了没   在FreeRTOSConfig.h里一般
学无止境
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-7-2 15:04:23 | 显示全部楼层
#if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )

看下这俩是不是定义的1
学无止境
回复

使用道具 举报

11

主题

2147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4891
金钱
4891
注册时间
2015-1-10
在线时间
612 小时
发表于 2021-7-2 15:05:33 | 显示全部楼层
xQueueCreateMutex没定义,看看这个函数的头文件路径有没有包含
回复

使用道具 举报

34

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2015-4-18
在线时间
20 小时
 楼主| 发表于 2021-7-2 15:05:57 | 显示全部楼层
jermy_z 发表于 2021-7-2 14:59
IAR的啊   没这个IDE

1、关注下头文件是否包含

头文件以包含  二值信号量能正常使用 ,
函数名是能GO TO  过去,是对的  
函数功能使能,想请问一下 互斥信号量需要使能什么,具体在FreeRTOSConfig.h中哪里
回复

使用道具 举报

34

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2015-4-18
在线时间
20 小时
 楼主| 发表于 2021-7-2 15:14:13 | 显示全部楼层
jermy_z 发表于 2021-7-2 15:04
#if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )

看下这俩是不是定义 ...

这两个宏  原子的例程中定义的也是0  所以我这边定义的也是0
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-7-2 15:46:34 | 显示全部楼层
x86350620 发表于 2021-7-2 15:14
这两个宏  原子的例程中定义的也是0  所以我这边定义的也是0

他也调用了这个语句?


学无止境
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-7-2 15:52:02 | 显示全部楼层
/*-----------------------------------------------------------*/

#if( ( configUSE_MUTEXES == 1 ) && ( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )

        QueueHandle_t xQueueCreateMutex( const uint8_t ucQueueType )
        {
        Queue_t *pxNewQueue;
        const UBaseType_t uxMutexLength = ( UBaseType_t ) 1, uxMutexSize = ( UBaseType_t ) 0;

                pxNewQueue = ( Queue_t * ) xQueueGenericCreate( uxMutexLength, uxMutexSize, ucQueueType );
                prvInitialiseMutex( pxNewQueue );

                return pxNewQueue;
        }

#endif /* configUSE_MUTEXES */

内核是这么写的,按照这个定义,那俩需要使能为1
学无止境
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 08:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表