找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[NUC] 关于NUC123从LDROM切换到APROM启动问题

[复制链接]
跳转到指定楼层
楼主
sandou2013 发表于 2013-12-21 15:44:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请大家指教一下,要做的是,当程序检测到USB没有插入,则从APROM中启动。下面这样写怎么跳不进去?
//======================================================
// USB Floating Detect
//======================================================
void UsbFdt(void)
{
        uint8_t u8FLODET = USBD->FLDET.FLDET;

        _DRVUSB_SET_EVF(EVF_FLD);
            
    if (u8FLODET)
        {
            /* USB Plug In */
        
                if (g_u8UsbState & USB_STATE_ATTACHED)
                {
                    /* Do nothing if it is already attached */
                        return;
                }
               
                /* Update USB state */
                g_u8UsbState = USB_STATE_ATTACHED;
               
                /* Init the end points */
                UsbCfg();
               
            /* Enable USB and enable PHY */
        _DRVUSB_ENABLE_USB();
        }
        else
        {
            /* USB Un-plug */
        
            /* Update USB state */
                g_u8UsbState = USB_STATE_DETACHED;
               
                udcOnLine = 0;
               
            /* Disable USB, Disable remote weak up, and disable PHY */
        _DRVUSB_DISABLE_USB();
                 /* Boot from AP */
        RoughDelay(0x200000);
        RESET_TO_AP();//CPU复位,从AP启动,此函数放于主函数的最前面是有用的              while(1)
             continue;
        }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
a_ziliu 发表于 2013-12-23 09:41:29 | 只看该作者
SYS_UnlockReg();       //en:Unlock protected register bits for user to access
outpw(&FMC->ISPCON, inpw(&FMC->ISPCON) & 0xFFFFFFFC);   //boot in aprom
outpw(&SCB->AIRCR, (V6M_AIRCR_VECTKEY_DATA | V6M_AIRCR_SYSRESETREQ));//SYSRESETREQ
while(1);
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU