搜索
12
返回列表 发新帖
楼主: edmundlee

[已解决] Keil 不支持 __attribute__((bitband))?

[复制链接]

该用户从未签到

5

主题

246

帖子

172

蝴蝶豆

金牌会员

最后登录
2021-3-26
 楼主| 发表于 2020-2-23 21:04:55 | 显示全部楼层
yklstudent-1794 发表于 2020-2-23 20:35
typedef struct _EVENTDEF
{
        u32 RxDataRdy_evt:1;

这不是bitband的定义, 这类定义是可以对位操作, 但不能触发编译器使用bit-band的安全操作
回复

使用道具 举报

该用户从未签到

6

主题

547

帖子

62

蝴蝶豆

金牌会员

最后登录
2021-12-18
发表于 2020-2-24 09:59:33 | 显示全部楼层
edmundlee 发表于 2020-2-23 21:04
这不是bitband的定义, 这类定义是可以对位操作, 但不能触发编译器使用bit-band的安全操作 ...

typedef struct _EVENTDEF
{
        u32 RxDataRdy_evt:1;
        u32 HalfBufEmpty_evt:1;
        u32 Reserved_evt:30;
}EVENTDEF __attribute__((bitband));;

//volatile EVENTDEF Comm_Evt __attribute__((at(0x20001004)));
volatile EVENTDEF Comm_Evt;

void uctsk_dog_init(void)
{
        Comm_Evt.RxDataRdy_evt = 0;
        Comm_Evt.HalfBufEmpty_evt = 0;
        Comm_Evt.Reserved_evt = 0;
}

void uctsk_dog(void *pvParameters)
{
    mico_context_t *mico_context = (mico_context_t*)(pvParameters);
   
    mico_context->coef.data.uwCRC = 0;
   
        Comm_Evt.RxDataRdy_evt ^= 1;
}
F4芯片下测试也是支持bitband,不过也没感觉有啥特殊地方
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2021-4-15 11:47
  • 签到天数: 537 天

    [LV.9]

    29

    主题

    2176

    帖子

    127

    蝴蝶豆

    论坛元老

    最后登录
    2024-4-24
    发表于 2020-2-25 00:26:19 | 显示全部楼层
    edmundlee 发表于 2020-2-23 15:09
    这是keil官网对bitband的说明, 只要是m3及m4的就支持, 甚至没提过编译器的版本。

    ...

    在 CM3中,有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB 范围。这个功能不是任何区域都可以。你看看文档中用的例子的地址。

    评分

    参与人数 1蝴蝶豆 +3 收起 理由
    STMCU + 3

    查看全部评分

    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    246

    帖子

    172

    蝴蝶豆

    金牌会员

    最后登录
    2021-3-26
     楼主| 发表于 2020-2-25 09:15:00 | 显示全部楼层
    songshiqun2010 发表于 2020-2-24 11:49
    实测了一下1.测试环境
    MDK5.29

    感谢这位大侠, 问题解决了, 用编译器V5可以成功触发bitband的操作, 但也证实了编译器V6, 是不支持bitband(我用其它方法也解决了)
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-26 04:58 , Processed in 0.146076 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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