查看: 1983|回复: 8

[MPC] 全局变量的值自动改变--MPC5606B codewarrior V2.10

[复制链接]
  • TA的每日心情
    奋斗
    2020-9-4 08:44
  • 签到天数: 42 天

    [LV.5]常住居民I

    3

    主题

    57

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    450
    最后登录
    2021-3-10
    发表于 2021-1-23 13:40:57 | 显示全部楼层 |阅读模式
    本帖最后由 ycgxy1650601 于 2021-1-26 16:03 编辑

    4连续发送3次有问题.JPG
    如上图,如果连续调用发送函数3次(F红框处),程序会出错。如果改为发送1次,程序正常。上图中为连续发送3次,会出错。后来调试发现程序一运行到D处(即C处),全局变量USART_RX_STA的值会自动改变,由汇编C可知,全局变量USART_RX_STA的值存在R29的地址中,不过R29的地址属于code memory区域。这就产生错误了。如果程序只调用1次发送函数是正常的,测试全局变量USART_RX_STA的值的地址属于SRAM区域。这就和奇怪,我只改变调用发送函数的次数,全局变量就自动改变了。不知道是否和我使用的软件是试用版有关。请问有谁碰到过类似的情况吗?总体下来,我发现我定义的全局变量会出现实际的值自动变化,而在调试窗口中,变量的值又是符合预期的。如果有什么思路,帮忙回复我,谢谢

    最佳答案

    ycgxy1650601 发表于 2021-1-29 17:13 后来,我把所有的全局变量都放在一个结构体里面,问题解决了。不明白为什么。是不是字节对齐问题,需要用 ... 其实你也不需要放到结构体里面,你直接放到一个函数里面,显式调 ...

    NXPQuestion.rar

    134.05 KB, 下载次数: 4, 下载积分: 威望 1

    问题代码

    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-9 17:01
  • 签到天数: 1478 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92609
    最后登录
    2024-4-9
    发表于 2021-1-28 12:04:20 | 显示全部楼层

    回帖奖励 +10 NXP金币

    不知道哎,用CW写MPC56的程序,蛮容易出bug,而且还看不出来原因。

    你的全局变量有初始化吗?(CW下的全局变量,你不初始化好像是随机值,而不是C里面的0)
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-4 08:44
  • 签到天数: 42 天

    [LV.5]常住居民I

    3

    主题

    57

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    450
    最后登录
    2021-3-10
     楼主| 发表于 2021-1-29 17:11:04 | 显示全部楼层
    stm1024 发表于 2021-1-28 12:04
    不知道哎,用CW写MPC56的程序,蛮容易出bug,而且还看不出来原因。

    你的全局变量有初始化吗?(CW下的全局 ...

    我尝试过,全局变量初始化为0,或者初始为FF,效果一样,没有解决问题
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-4 08:44
  • 签到天数: 42 天

    [LV.5]常住居民I

    3

    主题

    57

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    450
    最后登录
    2021-3-10
     楼主| 发表于 2021-1-29 17:13:47 | 显示全部楼层
    stm1024 发表于 2021-1-28 12:04
    不知道哎,用CW写MPC56的程序,蛮容易出bug,而且还看不出来原因。

    你的全局变量有初始化吗?(CW下的全局 ...

    后来,我把所有的全局变量都放在一个结构体里面,问题解决了。不明白为什么。是不是字节对齐问题,需要用#pamga等修饰?还是说需要把全局变量定义在一个固定的内存区域?
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-9 17:01
  • 签到天数: 1478 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92609
    最后登录
    2024-4-9
    发表于 2021-1-29 18:53:39 | 显示全部楼层
    ycgxy1650601 发表于 2021-1-29 17:13
    后来,我把所有的全局变量都放在一个结构体里面,问题解决了。不明白为什么。是不是字节对齐问题,需要用 ...

    其实你也不需要放到结构体里面,你直接放到一个函数里面,显式调用一次这个函数,就可以把相关的全局变量都初始化。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-4 08:44
  • 签到天数: 42 天

    [LV.5]常住居民I

    3

    主题

    57

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    450
    最后登录
    2021-3-10
     楼主| 发表于 2021-1-31 15:12:50 | 显示全部楼层
    本帖最后由 ycgxy1650601 于 2021-1-31 15:17 编辑

    捕获.JPG
    和版主说的一样,我是这样做的。把全局变量都放到一个函数里,在进入while(1)之前,把用到的全局变量都初始化一遍。问题还是一样。程序进入调试模式,在有全局变量当前行:if(USART2_RX_STA&0x8000)前打断点,全速运行到此行,发现全局变量USART2_RX_STA的值自动变化了。
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-4 08:44
  • 签到天数: 42 天

    [LV.5]常住居民I

    3

    主题

    57

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    450
    最后登录
    2021-3-10
     楼主| 发表于 2021-2-1 18:39:43 | 显示全部楼层
    刚发现放在结构体里,还是会出现相似的情况,
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-4 08:44
  • 签到天数: 42 天

    [LV.5]常住居民I

    3

    主题

    57

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    450
    最后登录
    2021-3-10
     楼主| 发表于 2021-2-2 19:19:32 | 显示全部楼层
    本帖最后由 ycgxy1650601 于 2021-2-2 19:21 编辑

    感谢版主,问题解决了,换了高版本的CW软件。
    admin7.JPG
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    33
    最后登录
    2024-4-3
    发表于 2024-3-25 10:53:57 | 显示全部楼层
    你好,请问我的codewarrior V2.10   icdppcnexus v1.34用不了一直提示进不了后台你遇到过吗
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 23:42 , Processed in 0.139399 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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