充电功能

流程

rk_board_late_init()
  ├── 有 USB → show_charge_logo()
  │     ├── 初始化 GPIO0_A2(输出低) / A3(输入)
  │     ├── 轮询 5 秒间隔:
  │     │   ├── USB 拔出 → 退出循环(硬件掉电)
  │     │── 按键按下 → 进入 2 秒等待
  │     │   ├── 2 秒内松开 → 取消,继续轮询
  │     │   ├── 2 秒内 USB 拔出 → 退出
  │     │   └── 按住满 2 秒 → 拉高 A2 → 启动内核
  │     │   └── 充电状态变化 → 打印
  │
  └── 无 USB → return 0(正常启动内核)

需要修改以下文件

/uboot/board/rockchip/evb_rv1106/evb_rv1106.c

添加测试

int rk_board_init(void) //一般不用这个,这个函数只做一些简单的功能
{
	printf("\n[test] =====================================\n");
	printf("[test] U-Boot 已修改!\n");
	printf("[test] =====================================\n\n");
	return 0;
}
int rk_board_late_init(void) //用这个
{
	printf("\n[test] =====================================\n");
	printf("[test] U-Boot 已修改!\n");
	printf("[test] =====================================\n\n");
	return 0;
}