23. 系统启动时间

23.1. AC638N 正常启动时间

运行AC638N 工程工作在sdk 默认LRC 模式下,sys_clk为160MHz,hsb_clk为160MHz,lsb_clk为22.85MHz,sfc_clk为40MHz,通过逻辑分析仪测试系统的启动时间如下:

23.2. AC638N 压缩启动时间(只能压缩main之后)

  • 首先压缩启动时间配置如下:

    /**********boot.c中main函数**********/
    int main()
    {
        JL_PORTB->DIR &= ~BIT(6);
        JL_PORTB->OUT |= BIT(6);
    
        /* check_upgrade(); */
        efuse_init();
    
        clk_voltage_mode(CLOCK_MODE_ADAPTIVE, SYSVDD_VOL_SEL_126V);
        clk_early_init(SYS_CLOCK_INPUT_PLL_RCL, 32768, 160000000);
    
        /* port_init(); */
    
        debug_uart_early_init();
        /* log_info("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); */
        /* log_info("        boot %s %s", __DATE__, __TIME__); */
        /* clk_dump(); */
        /* log_info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); */
    
        /* power_reset_source_dump(); */
    
        memory_init();
    
        //P11 系统必须提前打开
        p11_init();
        wdt_init(WDT_4S);
        /*wdt_close();*/
    
    
        resfile_init();
    
        /* vm_init_app(); */
    
        board_init();
    
        request_irq(1, 2, exception_irq_handler, 0);
    
        debug_init();
    
        timer1_init();
    
        msg_init();
    
        JL_PORTB->OUT &= ~BIT(6);
    
        user_main();
    
        return 0;
    }
    
    /**********board_demo.c中*********/
    #define TCFG_CHARGE_ENABLE      0
    #define TCFG_TEST_BOX_ENABLE    0
    #define TCFG_LP_TOUCH_KEY_ENABLE 0 //1:低功耗电容触摸唤醒
    
    void board_init()
    {
        /* adc_init(); */
    
        board_power_init();
    
        /* power_trim(VM_PMU_VOLTAGE, 0); */
    
    #if TCFG_CHARGE_ENABLE
        charge_init(&charge_data);
        clk_update_voltage_by_freq(TCFG_CHARGE_ENABLE);
    #else
        CHGBG_EN(0);
        CHARGE_EN(0);
    #endif
    
    #if TCFG_TEST_BOX_ENABLE
        chargestore_api_init(&chargestore_data);
    #endif
    
        clk_voltage_mode(TCFG_CLOCK_MODE, SYSVDD_VOL_SEL_126V);
    
    #if TCFG_LP_TOUCH_KEY_ENABLE
        lp_touch_key_init(&lp_touch_key_config);
    #endif
    
        power_set_mode(TCFG_LOWPOWER_POWER_SEL);
    }
    
  • 运行AC638N 工程工作在sdk 默认LRC 模式下,sys_clk为160MHz,hsb_clk为160MHz,lsb_clk为22.85MHz,sfc_clk为40MHz,通过逻辑分析仪测试系统的启动时间如下:

Important

AC637N(br30)芯片部分封装上电到main(uboot)运行时间需要240ms,这是因为FLASH在第二启动口,用户可以在SDK打印一下 JL_IOMAP->CON0&BIT(16) 的值自查封装:若值为0,则是封装启动慢的第一启动口A口, 若值为1才是封装启动优先的第二启动B口。