烧录系统固件,一般是接着USB线的时候同时按下电源按键+音量按键(音量+/-),具体是“音量+”按键还是“音量-”按键根据硬件设计确定。原理就是uboot中检测按键所用adc通道的adc值,若值在0-30之间则认为按下了烧录按键,如果接着usb数据线就会进入到Loader模式,然后就可以烧录固件了。
代码参考:
u-boot\board\rockchip\common\rkboot\fastboot.c
其中checkKey函数是用来检测adc按键的,定义在:
u-boot\board\rockchip\common\rkloader\key.c中
GetPortState函数判断采样的adc值:
key_rockusb的adc判断范围定义:
以上可以看出,uboot中连续10次采样adc值有8次以上在0-30之间即可以进入烧录模式。