您尚未登录。

楼主 #1 2019-01-17 16:19:15

Quotation
会员
注册时间: 2018-10-04
已发帖子: 289
积分: 271.5

正常运行状态下,有没有办法切换到FEL模式?

F1C100s,如何能从正常运行状态切换到FEL模式?
跑的xboot,在已经运行起来了的状态下,调用start.S里的return_to_fel,没用。程序进入了不正常的状态。

离线

楼主 #3 2019-01-17 22:28:04

Quotation
会员
注册时间: 2018-10-04
已发帖子: 289
积分: 271.5

Re: 正常运行状态下,有没有办法切换到FEL模式?

从这里 http://sunxi.org/FEL 的信息来看,似乎跳转到0xFFFF0020执行就是进FEL模式了,简单得难以置信。明天到公司试试。

离线

楼主 #5 2019-01-19 16:04:39

Quotation
会员
注册时间: 2018-10-04
已发帖子: 289
积分: 271.5

Re: 正常运行状态下,有没有办法切换到FEL模式?

阶段性成果:目前能够在正常运行状态切换到FEL了,可以读写内存什么的。但是还无法通过sunxi-fel操作SPI Flash。

// xboot代码里把IRQ MASK全置1了,至少需要把USB-OTG(bit 26)置0才能进FEL。
write32(0x01C20400 + 0x30, 0);
// Control Register bit 13,使用高地址向量表
arm32_write_p15_c1(arm32_read_p15_c1() | (1 << 13));
// 跳转到FEL
asm("BX %0" : : "r"(0xFFFF0020));

最近编辑记录 Quotation (2019-01-19 16:04:54)

离线

楼主 #7 2019-01-19 16:15:51

Quotation
会员
注册时间: 2018-10-04
已发帖子: 289
积分: 271.5

Re: 正常运行状态下,有没有办法切换到FEL模式?

basicdev 说:

就是说USB可以识别FEL设备,但是不能操作flash?
是不是spi外设时钟等没有配置好?

是,sunxi-fel writel/readl等命令都可以用,flash相关的命令不可用。
猜测是某些寄存器需要重置为初始状态,FEL不会做太多检查、初始化的动作。如果代码里已经初始化了SPI,可能需要恢复原状。

离线

楼主 #12 2021-09-03 16:59:51

Quotation
会员
注册时间: 2018-10-04
已发帖子: 289
积分: 271.5

Re: 正常运行状态下,有没有办法切换到FEL模式?

不行诶,早就试过reset SPI、还有恢复SPI相关的一些寄存器,没成功。

离线

页脚

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

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