uboot 被意外修改的原因?

uboot 被意外修改的原因?

问:uboot被意外修改的原因?

uboot被篡改原因挺多的,这里列出遇到过的情况。

情况一:通过IO映射空间读写 Flash

这种情况根源在于IO映射空间是公开的,应用可以进行访问。例子 ft2000-4,这个控制器把Flash空间映射到地址空间的前 512MB,这部分空间是公开的,驱动要访问导致必须进行虚拟映射。如果在驱动写入 Flash 过程中,应用写入了这部分地址空间(因为存在调度),就会导致意外写入的内容同步到 Flash 上。

解决办法:只能使用 Flash 的硬件保护来把 uboot 和系统的镜像区域禁止写入。实测在 CF 项目没法使用 uboot 来烧录系统镜像,可能是 uboot 命令实现问题。

情况二:yaffs记录的Flash容量大于实际Flash

Flash 的设备逻辑是超出容量的地址访问造成回卷,也就是超出容量的地址会访问到减去容量后的低地址空间。





    • Related Articles

    • uboot 可以 ping 通,进入系统里 ping 不通?

      Q:uboot 可以ping 通,但是进入系统里面ping不通? uboot 里面可以 ping 通说明设备和主机间的网络是没有问题,可以进行 TFTPBOOT, 但是进入系统之后 ping 不通的话: 敲 ifconfig 命令查看系统内的网络配置: 看系统中的设备 IP 地址和主机是否处于同一子网段,网关也要配置对。 如果有多个网卡,则他们不能配置成相同的子网内。 更多扩展知识: 参考文章:ping 不通如何排查? 参考文章:如何解决 SylixOS ping 网络大包 ...
    • SylixOS 下好用的小工具集

      问:SylixOS 下有哪些好用的小工具? (1)本工具集目前包SylixOS下小工具集含三个功能:读寄存器、写寄存器、hexdump文件。 (2)本工具集是一个ko模块,包含三个命令:md、mw、hexdump。 由于是在内核空间操作,所以操作者必须保证操作的正确性,否则可能引起系统崩溃。 (3)md、mw移植自uboot,使用方式和uboot一样。 只是原来在uboot下的md.b xxx这些操作在SylixOS下要换成md -b xxx操作。 (4)hexdump用法为hexdump ...
    • tftpboot 传输失败的原因?

      Q:tftpboot传输失败的原因? 传输失败的原因各种各样,目前先列出已查明的情况。 情况一:uboot 可 ping 通 PC 端,但使用 tftpboot 传输文件失败。 有其他网卡适配器处于同一子网,包括虚拟网卡。处理方法是确保各个网卡适配器处于不同的网段,避免发生干扰。 查看 PC 端防火墙及杀毒软件等是否处于关闭退出状态。处理方法是关闭退出各类防火墙及杀毒软件的防护干扰。
    • ping 不通如何排查?

      Q:ping 不通如何排查? 首先检查 phy 芯片是否 link 上,然后确定速率与双工对端与本地是否匹配,在满足前两项的前提下依然 ping 不通可以尝试查找硬件 mdi 电路问题。 更多扩展知识: 参考文章:无法与板卡进行FTP连接(ping通) 参考文章:如何解决 SylixOS ping 网络大包 参考文章:uboot 可以 ping 通,进入系统里 ping 不通?
    • 如何解决 SylixOS ping 网络大包? 如:ping 65000 以上的大包数据?

      Q:  如何解决 SylixOS ping 网络大包? 如:ping 65000 以上的大包数据? SylixOS中的  Base 置默认网络ping大包最大可以 ping 64992 从内核源码中:Base\libsylixos\SylixOS\net\lwip\tools\ping\lwip_ping.c 可以看出 if ((iDataSize > (65000 - sizeof(struct icmp_echo_hdr))) ||(iDataSize < 1)) 得出结果; 若满足 ...