找回密码
 立即注册
查看: 940|回复: 4

目前出的STC32G12K128好像不支持16位读扩展SFR

[复制链接]
  • TA的每日心情
    开心
    2024-4-29 09:18
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    8

    主题

    14

    回帖

    156

    积分

    注册会员

    积分
    156
    发表于 2023-3-11 20:37:06 | 显示全部楼层 |阅读模式
    看“stc32.h”这个头文件时,就感觉比较奇怪,里面定义的扩展SFR都是(*(unsigned char volatile far *))类型的,就是单字节的。像STC8A8K64U的头文件还有一些(*(unsigned int volatile far *))类型的呢。当时只是在想是不是忘记写了,或是自己加上是不是就可以了。然而,使用自己添加的16位SFR地址时,程序运行结果异常了。通过反编译看到汇编指令都是正常的,为什么会异常呢,比较疑惑?再仔细看了下首次,在数据存储器章节开头,有写“将来新增的特殊功能寄存器32-BIT SFR32,..........”、“将来新增的特殊功能寄存器16-BIT SFR16,..........”。现在有点明白了,大概是现阶段的这颗芯片还不支持扩展SFR的16位读取方式。建议尽快支持哦,因为在有些和速度相关的操作,16位直接读取还是可以省不少时间的。
    回复 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9428

    回帖

    1万

    积分

    管理员

    积分
    14003
    发表于 2023-3-11 21:34:28 | 显示全部楼层
    为了兼容STC8H8K64U, SFR 没有专门按32位访问设计,这样 STC8H/STC32G 的软件兼容性高
    ===用心良苦,STC32支持 SFR16/SFR32是很容易的事,编译器也是支持的

    1.png
    2.png

  • TA的每日心情
    开心
    昨天 21:05
  • 签到天数: 168 天

    [LV.7]常住居民III

    17

    主题

    371

    回帖

    1347

    积分

    荣誉版主

    积分
    1347
    发表于 2023-3-12 10:56:34 | 显示全部楼层
    非常令人遗憾啊。
  • TA的每日心情
    开心
    2024-4-29 09:18
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    8

    主题

    14

    回帖

    156

    积分

    注册会员

    积分
    156
     楼主| 发表于 2023-3-12 15:44:45 | 显示全部楼层
    神农鼎 发表于 2023-3-11 21:34
    为了兼容STC8H8K64U, SFR 没有专门按32位访问设计,这样 STC8H/STC32G 的软件兼容性高
    ===用心良苦,STC32 ...

    确实需要考虑很多方面,大家都不容易。
    有个建议啊,可以在后续版本支持SFR16/SFR32,如果用户为了兼容性,可以选择8位操作,如果没有这方面考虑,就可以用更快速度的方式访问。把选择权交给客户嘛。:lol

    该用户从未签到

    551

    主题

    9428

    回帖

    1万

    积分

    管理员

    积分
    14003
    发表于 2023-3-12 18:05:04 | 显示全部楼层
    要改XSFR到 edata区的地址,要大调整传统8051的 SFR
    ===改完就不像那个熟悉的8051了, 并且对速度影响真的有限
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-14 18:02 , Processed in 0.083252 second(s), 47 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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