由于上一篇帖子选型错误,导致信号切换失败,主要是没有注意电子开关的一个带宽参数!
现在使用 SGM4717YMS 这个电子开关,切换成功,附上读写测试图
原理图因为是商业产品,不方便发出来。
简单就说说用 三个 SGM4717YMS 进行6个信号的切换,烧录时候切换到U盘模式,插上电脑显示出一个U盘。这里主控用的是GL823K
正常运行时,将信号引脚切换给CPU(F1C100S),这样两组信号各不干扰。
可能这不是最优方案,还请大师指点!
最近编辑记录 slangel (2019-04-01 13:45:36)
离线
F1C100S在BootLoader模式下直接实现U盘不行吗?微微凉大侠都打通了裸机USB了
离线
谢楼主,默默记录这套骚操作。
离线
F1C100S在BootLoader模式下直接实现U盘不行吗?微微凉大侠都打通了裸机USB了
这个不是改UBOOT,是要改一整套烧录方式
也就是改sunxi-fel
因为。量产的话。NAND一定是焊在PCB上的,然而UBOOT如果要从SD NAND启动的话就需要在8K位置写入UBOOT
那么问题来了。。。怎么写?
如果用sunxi-fel写到RAM里跑UBOOT,那么就需要UBOOT可以直接操作SD NAND,目前还不知道如何 sunxi-fel -> UBOOT -> SD NAND
离线
直接接个USB读卡器,用电脑烧。
sunxi-fel没有校验,写入速度慢,不适合量产,业余玩玩没问题。
最近编辑记录 smartcar (2019-04-01 15:25:24)
离线
达克罗德 说:F1C100S在BootLoader模式下直接实现U盘不行吗?微微凉大侠都打通了裸机USB了
这个不是改UBOOT,是要改一整套烧录方式
也就是改sunxi-fel
因为。量产的话。NAND一定是焊在PCB上的,然而UBOOT如果要从SD NAND启动的话就需要在8K位置写入UBOOT
那么问题来了。。。怎么写?
如果用sunxi-fel写到RAM里跑UBOOT,那么就需要UBOOT可以直接操作SD NAND,目前还不知道如何 sunxi-fel -> UBOOT -> SD NAND
sunxifel下载个几十k的小Bootloader到ram实现USB和sd读写就可以。当然软件上复杂点
离线
一级Bootloader加载二级Bootloader甚至再三级。sunxifei能加载第一级了后面想怎么玩都可以
离线
比如k210的ISP程序就是串口下载个特制Bootloader到ram后真正的编程模式才开始,这时候Bootloader已经拥有了写flash的能力
离线
slangel 说:达克罗德 说:F1C100S在BootLoader模式下直接实现U盘不行吗?微微凉大侠都打通了裸机USB了
这个不是改UBOOT,是要改一整套烧录方式
也就是改sunxi-fel
因为。量产的话。NAND一定是焊在PCB上的,然而UBOOT如果要从SD NAND启动的话就需要在8K位置写入UBOOT
那么问题来了。。。怎么写?
如果用sunxi-fel写到RAM里跑UBOOT,那么就需要UBOOT可以直接操作SD NAND,目前还不知道如何 sunxi-fel -> UBOOT -> SD NANDsunxifel下载个几十k的小Bootloader到ram实现USB和sd读写就可以。当然软件上复杂点
全志原厂的刷机工具是可以刷tf卡的
离线
其实理论上sunxi-fel几乎什么都能干,参考sunxi-fel操作Flash的做法。写段C代码,编译成特定的格式,sunxi-fel的格式把代码传给SoC,执行。
当然写起来很麻烦就是了……
离线
把SD Nand的引脚全引出,用测试夹夹上,接主控芯片再接电脑。这样估计也可以。Soc没上电的时候,引脚是高阻态,应该没有影响。
比如有的板子上SPI Flash烧录,就是用专门的夹子夹住接电脑烧的。
离线
达克罗德 说:F1C100S在BootLoader模式下直接实现U盘不行吗?微微凉大侠都打通了裸机USB了
这个不是改UBOOT,是要改一整套烧录方式
也就是改sunxi-fel
因为。量产的话。NAND一定是焊在PCB上的,然而UBOOT如果要从SD NAND启动的话就需要在8K位置写入UBOOT
那么问题来了。。。怎么写?
如果用sunxi-fel写到RAM里跑UBOOT,那么就需要UBOOT可以直接操作SD NAND,目前还不知道如何 sunxi-fel -> UBOOT -> SD NAND
其实可以这样操作
准备一个可以spi flash启动的linux img,写好芯片,这个片子上的linux启动后,自动启用f1c100s的usb device模式,将sd nand 作为usb storage 映射给电脑,电脑上就可以直接写sd nand了,不需要来回切换开关,只要板子上预留一个spi flash的插口就可以了,刷好了sd nand,拔掉spi flash就可以了
离线
把SD Nand的引脚全引出,用测试夹夹上,接主控芯片再接电脑。这样估计也可以。Soc没上电的时候,引脚是高阻态,应该没有影响。
比如有的板子上SPI Flash烧录,就是用专门的夹子夹住接电脑烧的。
一开始我就是这样操作的。可是。实际上是读卡器无法读取。
并且读卡器与NAND之间是独立电源,没有給SOC上电!
离线
slangel 说:达克罗德 说:F1C100S在BootLoader模式下直接实现U盘不行吗?微微凉大侠都打通了裸机USB了
这个不是改UBOOT,是要改一整套烧录方式
也就是改sunxi-fel
因为。量产的话。NAND一定是焊在PCB上的,然而UBOOT如果要从SD NAND启动的话就需要在8K位置写入UBOOT
那么问题来了。。。怎么写?
如果用sunxi-fel写到RAM里跑UBOOT,那么就需要UBOOT可以直接操作SD NAND,目前还不知道如何 sunxi-fel -> UBOOT -> SD NAND其实可以这样操作
准备一个可以spi flash启动的linux img,写好芯片,这个片子上的linux启动后,自动启用f1c100s的usb device模式,将sd nand 作为usb storage 映射给电脑,电脑上就可以直接写sd nand了,不需要来回切换开关,只要板子上预留一个spi flash的插口就可以了,刷好了sd nand,拔掉spi flash就可以了
嗯这是一个办法,可是客户怎么升级固件呢?
离线
ippen 说:slangel 说:这个不是改UBOOT,是要改一整套烧录方式
也就是改sunxi-fel
因为。量产的话。NAND一定是焊在PCB上的,然而UBOOT如果要从SD NAND启动的话就需要在8K位置写入UBOOT
那么问题来了。。。怎么写?
如果用sunxi-fel写到RAM里跑UBOOT,那么就需要UBOOT可以直接操作SD NAND,目前还不知道如何 sunxi-fel -> UBOOT -> SD NAND其实可以这样操作
准备一个可以spi flash启动的linux img,写好芯片,这个片子上的linux启动后,自动启用f1c100s的usb device模式,将sd nand 作为usb storage 映射给电脑,电脑上就可以直接写sd nand了,不需要来回切换开关,只要板子上预留一个spi flash的插口就可以了,刷好了sd nand,拔掉spi flash就可以了嗯这是一个办法,可是客户怎么升级固件呢?
升级固件确实有点麻烦,多数做法就是用uboot,引导一个recover分区,recover分区引导进入linux,设置usb口为device 模式,usb网卡模式,然后从pc里面上传升级固件,或者仍然用usb storage 模式,将正式工作分区映射给电脑,刷sd nand 分区
离线
ippen 说:slangel 说:这个不是改UBOOT,是要改一整套烧录方式
也就是改sunxi-fel
因为。量产的话。NAND一定是焊在PCB上的,然而UBOOT如果要从SD NAND启动的话就需要在8K位置写入UBOOT
那么问题来了。。。怎么写?
如果用sunxi-fel写到RAM里跑UBOOT,那么就需要UBOOT可以直接操作SD NAND,目前还不知道如何 sunxi-fel -> UBOOT -> SD NAND其实可以这样操作
准备一个可以spi flash启动的linux img,写好芯片,这个片子上的linux启动后,自动启用f1c100s的usb device模式,将sd nand 作为usb storage 映射给电脑,电脑上就可以直接写sd nand了,不需要来回切换开关,只要板子上预留一个spi flash的插口就可以了,刷好了sd nand,拔掉spi flash就可以了嗯这是一个办法,可是客户怎么升级固件呢?
还有个办法,按上面的方法引导recover分区,进入系统后设置usb口为host模式,挂在U盘刷sd nand的数据,这样要注意,不能将uboot和recover分区刷了,否则要按初始模式用spi flash重刷
离线
楼主这把操作 6666
离线
不切换,将CPU处于复位状态,也可以吧
离线
不错,模拟开关可以用于增加多路存储
离线
我看南京沁恒有一片支持很多路的
离线
量产都SD NAND的可以考虑直接代烧录啊,我记得之前XTX等厂商都提供这个服务,USB留着升级就行呗,直接引导到ramfs用usb gadget不就行啦,配上一个简单的python,完美的一批。
离线