在x4418开发板中,插上电源适配器上电的时候有一个电池检测,在这个电池检测中,如果检测不到电池,会把电源关掉,然后需要长按电源键才可以启动开发板。如果想要去掉电源检测,直接上电跳过电池检测,进入开机启动。
在~/x4418-kitkat/bootloader/u-boot-2014.07/board/s5p4418/x4418$路径下的board.c源文件中:
...
#if defined(CONFIG_BAT_CHECK)
{
intret =0;
intbat_check_skip = 0;
// psw0523 for cts
// bat_check_skip = 1;
ret= power_battery_check(bat_check_skip, bd_display_run);
if(ret== 1)
auto_update(UPDATE_KEY,UPDATE_CHECK_TIME);
}
#else /* CONFIG_BAT_CHECK */
#if defined(CONFIG_DISPLAY_OUT)
bd_display_run(CONFIG_CMD_LOGO_WALLPAPERS,CFG_LCD_PRI_PWM_DUTYCYCLE, 1);
#endif
/*Temp check gpio to update */
auto_update(UPDATE_KEY,UPDATE_CHECK_TIME);
#endif /* CONFIG_BAT_CHECK */
...
宏CONFIG_BAT_CHECK 的定义让uboot进入电池检测。我们把这个宏屏蔽掉就可以跳过电池检测,直接进入开发板启动。
这个CONFIG_BAT_CHECK是在~/x4418-kitkat/bootloader/u-boot-2014.07/include/configs$路径下的x4418.h定义的:
...
#ifdefined(CONFIG_HAVE_BATTERY)
//#defineCONFIG_PMIC_VOLTAGE_CHECK_WITH_CHARGE
//#defineCONFIG_POWER_BATTERY_SMALL
#ifndefCONFIG_POWER_BATTERY_SMALL
//#define CONFIG_BAT_CHECK
#defineCONFIG_NXP_RTC_USE
#endif
#endif
...
直接把它屏蔽掉,重新编译uboot(./mk -u),生成ubookpak.bin,把它烧写到TF卡,更新开发板的uboot,上电之后直接启动开发板。