查看: 3858|回复: 1

[其他] 在代码中加入bootloader后,无法实现休眠唤醒功能

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
6
最后登录
2024-12-10
发表于 2017-11-16 22:36:42 | 显示全部楼层 |阅读模式
各位专家好:
        最近在使用S32K144开发CAN 总线的休眠唤醒功能。有个问题需要各位解答:

目前我已经在S32K144中实现休眠唤醒功能。

休眠的逻辑大致简略如下: 30秒没有收到CAN消息,进入休眠操作,依次是关闭LPIT、关闭SPI外设、打开CAN0的PN(pretended networking)功能用于唤醒、使用库函数powerManagment进入stop2模式。此时看电源,电流会变小15mA以上。可以判断是进入了STOP2模式。

唤醒的逻辑大致简略如下:使用上位机给MCU发送满足条件的CAN消息,MCU产生can0_wake_up_irqn中断,在中断中依次操作有 使用powermanagment让MCU进入RUN模式、初始化RUN模式下的时钟、打开刚刚关闭的外设。此时完成唤醒。

问题如下:上述的代码逻辑是在p-flash的地址0开始运行的,在运行时,实现上述逻辑没问题,但在加入CAN Bootloader功能,并将APP段的地址修改到4000之后,再让MCU进入休眠,也是可以休眠的,但是再去唤醒,此时无法再产生can0_wake_up_irqn中断,从而导致无法唤醒。这会是什么原因?

另外,如果在代码的休眠操作中不关闭外设,只是使用powermanagment进入STOP2模式,进去后,还是有can消息发出来,有spi消息发出来,此时使用唤醒,还是没有产生can0_wake_up_irqn中断,但mcu会通过can mailbox中断开始运行,此时是不是代表mcu没有进入STOP2模式?因为NXP 官方的A5425手册里面会写到,在STOP2模式下,外设是OFF状态的。

下面是.ld文件的地址参数。
1.       使用下面的flash参数,可以实现休眠与唤醒功能 (无CAN bootloader功能)
  /* Flash */
  m_interrupts          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400
  m_flash_config        (RX)  : ORIGIN = 0x00000400, LENGTH = 0x00000010
m_text                (RX)  : ORIGIN = 0x00000410, LENGTH = 0x0007FBF0


2.       使用下面的flash参数,无法实现休眠与唤醒功能(有CAN bootloader功能)
  /* Flash */
  m_interrupts          (RX)  : ORIGIN = 0x00004000, LENGTH = 0x00000400
  m_flash_config        (RX)  : ORIGIN = 0x00004400, LENGTH = 0x00000010
  m_text                (RX)  : ORIGIN = 0x00004410, LENGTH = 512K-0x00004410


最佳答案

去 http://community.nxp.com/community/s32/s32k 用英文问吧, 在这里,估计短时间内不会有解答。
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-23 09:57
  • 签到天数: 1587 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    5

    主题

    3048

    帖子

    23

    金牌会员

    Rank: 6Rank: 6

    积分
    8416
    最后登录
    2025-4-23
    发表于 2017-11-16 23:38:32 | 显示全部楼层
    http://community.nxp.com/community/s32/s32k 用英文问吧,
    在这里,估计短时间内不会有解答。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 20:12 , Processed in 0.087580 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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