您尚未登录。

楼主 # 2022-01-18 15:42:05

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 434

一个网友用XFEL烧录芒果R3 spi nand,实验成功了。

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

离线

楼主 #2 2022-01-19 11:18:48

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 434

Re: 一个网友用XFEL烧录芒果R3 spi nand,实验成功了。

一些命令操作记录,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

离线

楼主 #4 2022-01-19 13:49:57

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 434

Re: 一个网友用XFEL烧录芒果R3 spi nand,实验成功了。

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传输上应该精简了些,效率高一些。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn