[开发工具] HC32L110.h寄存器结构体定义勘误

[复制链接]
 楼主| keyboard 发表于 2025-1-21 10:51 | 显示全部楼层 |阅读模式
本帖最后由 keyboard 于 2025-1-21 10:54 编辑

HC32L110,使用高级定时器时发现偏移地址0x70开始的四个寄存器(STFLR、HSTAR、HSTPR、HCELR)结构体定义有误,导致后续寄存器(其中包括中断标志IFR)偏移地址错误。  
文件路径:HC32L110_DDL_Rev1.3.1\mcu\common\hc32l110.h
typedef struct
{
    __IO uint32_t CMAF                      : 1;
    __IO uint32_t CMBF                      : 1;
    __IO uint32_t CMCF                      : 1;
    __IO uint32_t CMDF                      : 1;
    uint32_t RESERVED4                      : 2;
    __IO uint32_t OVFF                      : 1;
    __IO uint32_t UDFF                      : 1;
    __IO uint32_t DTEF                      : 1;
    uint32_t RESERVED9                      :12; -----> 应为13
    __IO uint32_t VPERNUM                   : 3;
    uint32_t RESERVED24                     : 7; ----> 应为6
    __IO uint32_t RSV                       : 1; ------> 此行删除
    __IO uint32_t DIRF                      : 1;
} stc_adt_stflr_field_t;

由于位域总数超过了32,导致后续寄存器偏移量会顺延。


地瓜patch 发表于 2025-1-21 21:11 | 显示全部楼层
高手,厉害
申小林一号 发表于 2025-1-22 09:03 | 显示全部楼层
看看
 楼主| keyboard 发表于 2025-1-22 20:51 | 显示全部楼层

更新已下载,谢谢!
wyde518 发表于 2025-1-23 09:57 | 显示全部楼层
本帖最后由 wyde518 于 2025-1-23 10:17 编辑

好像1.32版  这是把 RSV去掉了
一点点0321 发表于 2025-4-30 22:28 | 显示全部楼层
由于位域总长度超过32位,寄存器偏移量会计算错误,影响到后续寄存器的访问。
han0097 发表于 2025-7-26 21:51 | 显示全部楼层
wyde518 发表于 2025-1-23 09:57
好像1.32版  这是把 RSV去掉了

你的意思是没问题了?
jf101 发表于 2025-7-31 17:10 | 显示全部楼层
寄存器结构体定义
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部