查看: 8381|回复: 14

[已解决] k60的ucos工程只能仿真不能下载运行问题(已解决)

[复制链接]

该用户从未签到

6

主题

27

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
发表于 2013-9-9 18:07:55 | 显示全部楼层 |阅读模式
我工作在KEIL(MDK), K60, UCOSII平台上,发现我的程序可以仿真运行(运行的很好,功能都正常), 但是使用JLINK下载到板子上发现不能运行了。没有什么头绪,请问大家有遇到这个问题吗
我知道答案 目前已有14人回答
回复

使用道具 举报

该用户从未签到

0

主题

19

帖子

0

新手上路

Rank: 1

积分
24
最后登录
1970-1-1
发表于 2013-9-9 18:47:40 | 显示全部楼层

RE:k60的ucos工程只能仿真不能下载运行问题

这个有可能是因为watchdog没有disable的问题,我之前调试IAR下K60 ucos的工程时遇到过这个问题。你检查一下看看。IAR工程中是自己重写一个__low_level_init函数就可以。
int __low_level_init(void)
{
  unsigned int reg;
  /*Disable WWDT*/
  reg = WDOG_STCTRLH;
  reg &= ~1UL;
  /*Unlock sequence*/
  WDOG_UNLOCK  = 0xC520;
  WDOG_UNLOCK  = 0xD928;
  WDOG_STCTRLH = reg;
  /* perform initialization*/
  return 1;
}
keil下你自己试试看呗
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

27

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
 楼主| 发表于 2013-9-10 09:47:34 | 显示全部楼层

回复:k60的ucos工程只能仿真不能下载运行问题

 谢谢,我之前未关闭看门狗时,在仿真时发现ucos2也是无法运行的,我就加了关闭看门狗语句,结果是在仿真时可以正常工作了。目前的问题是通过JLINK烧录到板子里,不能运行。我测量复位(RESET_B)引脚,发现被拉到2.2V,无法恢复到3.3V的电压。这说明芯片应该是没有完成启动过程,同时我发现用JLINK烧录完程序后,JLINK的指示灯一直为橙色。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

19

帖子

0

新手上路

Rank: 1

积分
24
最后登录
1970-1-1
发表于 2013-9-10 10:15:12 | 显示全部楼层

RE:k60的ucos工程只能仿真不能下载运行问题

那这个过程就很奇怪了。我之前没有关闭看门狗是可以仿真不能下板调试的。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

27

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
 楼主| 发表于 2013-9-10 11:00:18 | 显示全部楼层

RE:k60的ucos工程只能仿真不能下载运行问题

那么现在你这里可以下到板子里运行吗
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

19

帖子

0

新手上路

Rank: 1

积分
24
最后登录
1970-1-1
发表于 2013-9-10 16:11:53 | 显示全部楼层

RE:k60的ucos工程只能仿真不能下载运行问题

是的,ucosII的IAR工程(Micrium官网上下载的),重写了__low_level_init函数关闭看门狗,下载到板子上是可以跑起来的。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

27

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
 楼主| 发表于 2013-9-10 17:03:20 | 显示全部楼层

RE:k60的ucos工程只能仿真不能下载运行问题(正解)

我这边下午搞定了,原因是:
1.原来给的工程关闭看门狗没有解锁,也就是说关闭看门狗是无效的。
2.将程序下载后,运行不成功的原因是在启动代码中,应该在main之前就关闭看门狗。否则在运行到关闭看门狗之前,系统会无数次被狗咬死。也就是说芯片会不断复位。我将启动代码改为:
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT BSP_Init
IMPORT __main
LDR R0, =BSP_Init
BLX R0
LDR R0, =__main
BX R0
ENDP
之前不成功的是这样子:
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
LDR R0, =__main
BX R0
ENDP
谢谢技术支持的回复。将我的成果告知那些因此苦恼的人
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2013-9-22 15:13:12 | 显示全部楼层

    回复:k60的ucos工程只能仿真不能下载运行问题

    感谢你将自己问题的解决方法分享出来,供大家参考!
     感谢你对飞思卡尔产品的关注。
     
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    0
    最后登录
    1970-1-1
    发表于 2013-11-15 19:38:31 | 显示全部楼层

    回复:k60的ucos工程只能仿真不能下载运行问题(已解决)

    回复第 7 楼 于2013-09-10 17:03:20发表:
    我这边下午搞定了,原因是:
    1.原来给的工程关闭看门狗没有解锁,也就是说关闭看门狗是无效的。
    2.将程序下载后,运行不成功的原因是在启动代码中,应该在main之前就关闭看门狗。否则在运行到关闭看门狗之前,系统会无数次被狗咬死。也就是说芯片会不断复位。我将启动代码改为:
    Reset_Handler PROC
    EXPORT Reset_Handler [WEAK]
    IMPORT BSP_Init
    IMPORT __main
    LDR R0, =BSP_Init
    BLX R0
    LDR R0, =__main
    BX R0
    ENDP
    之前不成功的是这样子:
    Reset_Handler PROC
    EXPORT Reset_Handler [WEAK]
    IMPORT __main
    LDR R0, =__main
    BX R0
    ENDP
    谢谢技术支持的回复。将我的成果告知那些因此苦恼的人
     
     
     
     
    请问您的编译平台是IAR吧? 您修改的这段DATA是在那个文件里呢,我都在UC/OS官网下的工程文件夹里都没找到。可否告知下,先谢过。
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    27

    帖子

    0

    注册会员

    Rank: 2

    积分
    77
    最后登录
    1970-1-1
     楼主| 发表于 2013-11-19 09:23:42 | 显示全部楼层

    回复:k60的ucos工程只能仿真不能下载运行问题(已解决)

     我使用的是KEIL平台,和你的不一样。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-18 10:06 , Processed in 0.109474 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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