查看: 5145|回复: 7

[MQX] 关于MQX软件复位的问题

[复制链接]

该用户从未签到

12

主题

66

帖子

0

新手上路

Rank: 1

积分
156
最后登录
1970-1-1
发表于 2012-3-16 10:35:19 | 显示全部楼层 |阅读模式
请问各位大侠,MQX里有没有提供芯片的软件复位的API,有没有做过这个的....请指教
我知道答案 目前已有7人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-3-16 14:07:48 | 显示全部楼层

    RE:关于MQX软件复位的问题

    我手里没有源码,晚上回去帮你看一下。应该是有的。你可以找找。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    99

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    322
    最后登录
    1970-1-1
    发表于 2012-3-17 05:34:49 | 显示全部楼层

    RE:关于MQX软件复位的问题

    我找过,手册上好像没有,我是直接写寄存器。
    如果是Codefire单片机,写0x80到MCF_RCR 寄存器 (*(vuint8 *)(0x40110000)) 系统就复位了。别的系列你查一下手册吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    66

    帖子

    0

    新手上路

    Rank: 1

    积分
    156
    最后登录
    1970-1-1
     楼主| 发表于 2012-3-29 12:37:33 | 显示全部楼层

    回复:关于MQX软件复位的问题

    回复第 3 楼 于2012-03-16 21:34:49发表:
    我找过,手册上好像没有,我是直接写寄存器。
    如果是Codefire单片机,写0x80到MCF_RCR 寄存器 (*(vuint8 *)(0x40110000)) 系统就复位了。别的系列你查一下手册吧
     

     
    我也解决了,没配寄存器....直接用汇编 jmp 到 __boot(void);
    不知道这和配置寄存器有何差别
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    66

    帖子

    0

    新手上路

    Rank: 1

    积分
    156
    最后登录
    1970-1-1
     楼主| 发表于 2012-3-29 12:37:33 | 显示全部楼层

    回复:关于MQX软件复位的问题

    回复第 3 楼 于2012-03-16 21:34:49发表:
    我找过,手册上好像没有,我是直接写寄存器。
    如果是Codefire单片机,写0x80到MCF_RCR 寄存器 (*(vuint8 *)(0x40110000)) 系统就复位了。别的系列你查一下手册吧
     

     
    我也解决了,没配寄存器....直接用汇编 jmp 到 __boot(void);
    不知道这和配置寄存器有何差别
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22

    主题

    93

    帖子

    0

    新手上路

    Rank: 1

    积分
    192
    最后登录
    1970-1-1
    发表于 2012-7-9 16:41:43 | 显示全部楼层

    回复:关于MQX软件复位的问题

    回复第 5 楼 于2012-03-29 12:37:33发表:
    回复第 3 楼 于2012-03-16 21:34:49发表:
    我找过,手册上好像没有,我是直接写寄存器。
    如果是Codefire单片机,写0x80到MCF_RCR 寄存器 (*(vuint8 *)(0x40110000)) 系统就复位了。别的系列你查一下手册吧
     

     
    我也解决了,没配寄存器....直接用汇编 jmp 到 __boot(void);
    不知道这和配置寄存器有何差别
     
     

     软件复位jmp指令可以在软件执行过程的任何位置吗??
    就是可以放到我需要软件复位的那个位置(不管是什么任务下) 都可以吗??
    目前代码都是C,添加汇编,具体要怎么做?不会就是将这么一句话直接添加进去吧??
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    66

    帖子

    0

    新手上路

    Rank: 1

    积分
    156
    最后登录
    1970-1-1
     楼主| 发表于 2012-7-10 12:23:38 | 显示全部楼层

    回复:关于MQX软件复位的问题

    回复第 6 楼 于2012-07-09 16:41:43发表:
    回复第 5 楼 于2012-03-29 12:37:33发表:
    回复第 3 楼 于2012-03-16 21:34:49发表:
    我找过,手册上好像没有,我是直接写寄存器。
    如果是Codefire单片机,写0x80到MCF_RCR 寄存器 (*(vuint8 *)(0x40110000)) 系统就复位了。别的系列你查一下手册吧
     

     
    我也解决了,没配寄存器....直接用汇编 jmp 到 __boot(void);
    不知道这和配置寄存器有何差别
     
     

     软件复位jmp指令可以在软件执行过程的任何位置吗??
    就是可以放到我需要软件复位的那个位置(不管是什么任务下) 都可以吗??
    目前代码都是C,添加汇编,具体要怎么做?不会就是将这么一句话直接添加进去吧??
     

    汇编还是少用,可以用__asm{} 使用汇编,jmp随便你怎么跳....想跳哪跳哪,但地址一定要指定对,指定错误的话,那就保不齐你程序运行到哪了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14

    主题

    98

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    378
    最后登录
    1970-1-1
    发表于 2014-10-21 10:08:20 | 显示全部楼层
    cathy-336509 发表于 2012-7-9 16:41
    回复第 5 楼 于2012-03-29 12:37:33发表:
    回复第 3 楼 于2012-03-16 21:34:49发表:
    我找过,手册上好像没有 ...

    cathy-336509您好!
    按照您对 “关于MQX软件复位的问题”的建议。我的程序是这样的:
    在程序里添加:extern void __boot(void);
    void  remqx(void)  {
            __asm {
                    jmp __boot(void);
                    }
    }
    remqx()这个函数是我自己写了。在别处调用这个函数,编译的时候报出“ error:  #3061: unrecognized instruction opcode”。
    请问这个MQX软复位怎么实现?请提供一些参考代码,谢谢!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-25 08:45 , Processed in 0.097917 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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