请选择 进入手机版 | 继续访问电脑版
查看: 2119|回复: 1

[分享] 【LPC"说"】ISP“二进宫”问题

[复制链接]

该用户从未签到

648

主题

6301

帖子

0

超级版主

Rank: 8Rank: 8

积分
19555
最后登录
2024-3-29
发表于 2018-9-21 13:56:19 | 显示全部楼层 |阅读模式
本帖最后由 小恩GG 于 2018-9-21 13:57 编辑

ISP“二进宫”问题
Ø 问题描述
        客户碰到如下问题:
        LPC1549 IAP 指令集中的ReinvokeISP指令可以将MCU从application重新跳转到ISP bootloader内,具体内容如图1所示,客户按照图1的要求调用Reinvoke ISP想实现跳转回ISP USB bootloader,具体代码如下,代码被执行后,MCU连接PC的USB口,但LPC1549并没有被PC识别出(如图2所示)。
Reinvoke ISP.png
图1 ReinvokeISP
表1 ReinvokeISP调用
  1. // ============================================================================
  2. // Reset with USB ISP mode selected
  3. // ============================================================================
  4. uint32_t command_param[5] = { IAP_REINVOKE_ISP_CMD, 2, 0, 0, 0 }; // 2=USB
  5. uint32_t status_result[5];

  6. void AppReset_Enter_USB_ISP_mode(void)
  7. {
  8. __disable_irq();

  9. // make sure USB clock is turned on before calling ISP
  10. Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_USB);
  11. // make sure GPIO clocks are turned on before calling ISP
  12. Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO0);
  13. Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO1);
  14. Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO2);
  15. // make sure IO configuration clock is turned on before calling ISP
  16. Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_IOCON);

  17. // make sure AHB clock divider is 1:1
  18. Chip_Clock_SetSysClockDiv(1);


  19. iap_entry (command_param,status_result);
  20. }
复制代码
2018-09-17_14-11-05.jpg
图2 USB识别错误
Ø 问题解决
        经测试,只要将__disable_irq();代码行注释后,AppReset_Enter_USB_ISP_mode即可工作,推测在ROMbootloader里的代码有使用到中断,而当执行__disable_irq();后,会禁止掉全部的可编程中断,导致ROM bootloader代码无法正常工作。
ISP“二进宫”问题.pdf (359.52 KB, 下载次数: 20)
回复

使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3297

    主题

    6542

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    31909
    最后登录
    2024-3-29
    发表于 2018-9-21 14:01:53 | 显示全部楼层
    谢谢分享
    签到签到
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-3-29 19:06 , Processed in 0.114273 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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