更新BeagleboneBlack板子中EEPROM中的ID,使用mm内存修改命令

      购买的原装BBB的板子,EEPROM中写入了板子的ID号。自己新焊接的板子,写入BBB官网下载的镜像,会提示不能通过,或者不能启动系统。可以通过修改uboot源码,去掉校验ID的逻辑,或者通过下面的方式,在新的板子上复制原装板子EEPROM的内容的方法。基本流程如下:

1. 在BBB原装板子上,从SD卡启动,进入Uboot,然后读取EEPROM里面的内容。暂时保存。读取EEPROM内容的方法如下:

    a. 首先找一块空白的内存。

         

            然后清空内容

            

            然后使用eeprom read 命令读取 eeprom的内容到内存0x87000000中。

            

            => md 0x87000000
            87000000: ee3355aa 35333341 544c4e42 36413030    .U3.A335BNLT00A6

            87000010: 33313534 4b424242 36393930 ffffffff    4513BBBK0996....

2. 然后在用SD卡启动新的板子,在uboot下面,把上面获得的ID写入新的eeprom里面。

            写入的时候流程和上面类似,先在一个空闲内存写好上面暂存的数据。然后再从内存搬运到eeprom里面。

在向内存写数据的时候用到了一个新的命令。上面用到了md和mw,读内存和写内存。这次用到一个mm,

        

自动增加地址的内存修改。这样就可以每次修改一个内存单元。比如这样

              

             整理好一块内存数据后,再通过eeprom write写入eeprom中。

            


在写入的时候,一开始总是写入失败,发现和eeprom的写保护有关,去掉了硬件写保护的电阻。尝试还是不可以。后来发现,向eeprom里面写入数据的时候,一次要写入32字节。多了少了,总是写入失败。不知为何。先记录一下,再找原因。


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页