xfel spinand
xfel spinand erase 0x000000 134217728
xfel spinand write 0x000000 u-boot-sunxi-with-nand-spl.bin
xfel spinand write 0x80000 splash.bmp
xfel spinand write 0x100000 kernel.itb
xfel spinand write 0x600000 rootfs.squashfs
离线
一些命令操作记录,F133平台,如何通过XFEL进入FES模式
方式1,
对uboot打补丁,默认设置WORK_MODE_USB_PRODUCT启动模式。
diff --git a/lichee/brandy-2.0/u-boot-2018/board/sunxi/board_common.c b/lichee/brandy-2.0/u-boot-2018/board/sunxi/board_common.c
index 327238b86..319623ab8 100644
--- a/lichee/brandy-2.0/u-boot-2018/board/sunxi/board_common.c
+++ b/lichee/brandy-2.0/u-boot-2018/board/sunxi/board_common.c
@@ -67,7 +67,8 @@ void set_boot_work_mode(int work_mode)
int get_boot_work_mode(void)
{
- return uboot_spare_head.boot_data.work_mode;
+ return WORK_MODE_USB_PRODUCT;
+// return uboot_spare_head.boot_data.work_mode;
}
在FEL模式下,执行如下命令,就可以让F133进入FES模式了。
xfel ddr ddr2; xfel write 0x42000000 lichee/brandy-2.0/u-boot-2018/u-boot-dtb.bin; xfel exec 0x42000000;
方式2,不打补丁,通过xfel,修改uboot头,工作模式设置放置在uboot头,可以简单研究下,操作命令同上。
方式3,进入uboot命令行,敲sprite_test
进入FES模式后,就可以执行高阶烧录命令了。
#define FEX_CMD_fes_trans 0x0201
#define FEX_CMD_fes_run 0x0202
#define FEX_CMD_fes_down 0x0206
#define FEX_CMD_fes_up 0x0207
#define FEX_CMD_fes_verify 0x0208
#define FEX_CMD_fes_query_storage 0x0209
#define FEX_CMD_fes_probe_hardware 0x020A
#define FEX_CMD_fes_flash_set_on 0x020A
#define FEX_CMD_fes_flash_set_off 0x020B
#define FEX_CMD_fes_verify_value 0x020C
#define FEX_CMD_fes_verify_status 0x020D
#define FEX_CMD_fes_flash_size_probe 0x020E
#define FEX_CMD_fes_tool_mode 0x020F
#define FEX_CMD_fes_memset 0x0210
#define FEX_CMD_fes_pmu 0x0211
#define FEX_CMD_fes_unseqmem_read 0x0212
#define FEX_CMD_fes_unseqmem_write 0x0213
#define FEX_CMD_fes_force_erase 0x0220
#define FEX_CMD_fes_force_erase_key 0x0221
#define FEX_CMD_fes_reset_cpu 0x0214
#define FEX_CMD_fes_low_power_manger 0x0215
#define FEX_CMD_fes_query_secure 0x0230
#define FEX_CMD_fes_query_info 0x0231
离线
sprite_test命令进入fes模式后,就可以通过FES协议来烧录了。
跟烧录FLASH相关的几个FES命令,如下:
FEX_CMD_fes_down
FEX_CMD_fes_up
FEX_CMD_fes_flash_size_probe
FEX_CMD_fes_flash_set_on
FEX_CMD_fes_flash_set_off
具体哪个命令干了哪些事,看uboot代码就能明白个大概,FES协议有2个版本,现在的SDK应该都是2.0版本,之前的1.0版本貌似是13年之前的。
FES跟FEL协议差异有多大,这个还需要进一步确认下,USB传输上应该精简了些,效率高一些。
离线