跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. ozone编译环境下变量初始化问题

ozone编译环境下变量初始化问题

已定时 已固定 已锁定 已移动 已解决 Discussion & Question
7 帖子 2 发布者 224 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • YQHY 离线
    YQHY 离线
    YQH
    写于 最后由 编辑
    #1

    ozone调试环境下,如果不对变量赋初始化值,默认都是0x5A,这个是否与调试环境有关?客户希望不做初始化的变量的变量值默认为0,是否有方法可以做到。
    1d1059e0-ae8f-46c6-85d4-f6212a219acb-image.png

    1 条回复 最后回复
    0
    • YQHY 离线
      YQHY 离线
      YQH
      写于 最后由 YQH 编辑
      #7

      该问题已解决,原因是使用了9.3.1版本的GCC编译器,若不给变量赋初始值,编译时该变量会被放在BSS段外面,故即使在YCT中勾选了BSS段的Clear Section,该变量也无法被初始化为0。
      解决方式:
      (1)换用10.3.1版本编译器(YCT版本更新时会自动安装10.3.1版本),也可手动安装并添加路径到环境变量,如下图。
      81b13621-bee3-48a7-a9ad-628d5e2ee816-image.png
      f23d8929-4c1f-4f1c-808e-e2ca5473695e-image.png
      (2)给变量手动赋初值。
      建议统一使用10.3.1版本编译器。

      1 条回复 最后回复
      0
      • FrankieF 离线
        FrankieF 离线
        Frankie YunTu
        写于 最后由 编辑
        #2

        BSS 端的初始化行为取决于YT-LINK的配置,勾选clear section会把这些数据初始化为0,
        image.png

        YQHY 1 条回复 最后回复
        0
        • YQHY 离线
          YQHY 离线
          YQH
          在 回复了 Frankie 最后由 编辑
          #3

          Frankie 在 ozone编译环境下变量初始化问题 中说:

          BSS 端的初始化行为取决于YT-LINK的配置,勾选clear section会把这些数据初始化为0,
          image.png
          只需要改这一个地方吗,实测未生效

          1 条回复 最后回复
          0
          • FrankieF 离线
            FrankieF 离线
            Frankie YunTu
            写于 最后由 编辑
            #4

            YQH 提供一下复现的工程

            1 条回复 最后回复
            0
            • YQHY 离线
              YQHY 离线
              YQH
              写于 最后由 编辑
              #5

              Gpio_Interrupt_Demo.zip

              1 条回复 最后回复
              0
              • FrankieF 离线
                FrankieF 离线
                Frankie YunTu
                写于 最后由 编辑
                #6

                复现不了。
                image.png

                1 条回复 最后回复
                0
                • YQHY 离线
                  YQHY 离线
                  YQH
                  写于 最后由 YQH 编辑
                  #7

                  该问题已解决,原因是使用了9.3.1版本的GCC编译器,若不给变量赋初始值,编译时该变量会被放在BSS段外面,故即使在YCT中勾选了BSS段的Clear Section,该变量也无法被初始化为0。
                  解决方式:
                  (1)换用10.3.1版本编译器(YCT版本更新时会自动安装10.3.1版本),也可手动安装并添加路径到环境变量,如下图。
                  81b13621-bee3-48a7-a9ad-628d5e2ee816-image.png
                  f23d8929-4c1f-4f1c-808e-e2ca5473695e-image.png
                  (2)给变量手动赋初值。
                  建议统一使用10.3.1版本编译器。

                  1 条回复 最后回复
                  0
                  • FrankieF Frankie 将这个主题转为问答主题,在
                  • FrankieF Frankie 将这个主题标记为已解决,在

                • 云途论坛规则/Yuntu Forum Rules

                  发帖前请查看

                • YCT离线License申请流程

                  帮助没办法联网的电脑使用YCT

                • YT CONFIG TOOL调查问卷

                  帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                • demo
                  12
                  can
                  9
                  lin stack
                  6
                  yt-link
                  5
                  vscode
                  3
                  adc模块
                  2
                  i2c
                  2
                  uuid
                  2
                  Online Users
                  DZHD
                  DZH
                  • 登录

                  • 登录或注册以进行搜索。
                  • 第一个帖子
                    最后一个帖子
                  0
                  • 版块
                  • 最新
                  • 标签
                  • 热门