折腾蚂蚁版BeagleBone 蚂蚁矿板BB_Black_V1.6硬件改造”

时间:2024-03-11 19:20:14

购入

项目是用到TI的am437x,但是由于用的核心板是采购的,对方不提供原理图,如果想自己升级系统就得自己去摸索了,非常不方便。

而BeableBone Black(BBB)就资料多多了,除了TI支持,还有一堆书。

有点奇怪的是国内流行度和树莓派没法比,某宝上搜索没几个结果,而且价格和7,8年前的差不多。

猜测可能BBB硬件没升级了,现在树莓派4的RAM都有8GB版本了。

于是去某鱼搜,希望淘个二手的,发现跳出来一些很便宜的结果。

但是仔细一看,没有HDMI,也没USB,多看几个就知道是蚂蚁矿机上做控制用的。应该是挖矿不赚钱了拆机的。

再去搜相关资料,有了,“

还有一篇是说可以启动到Armstrong系统。这两篇挺有用。

HDMI我也不需要,USB可以自己加,我觉得不错,可以入手一个。

于是挑了一个加上邮费42元的。有更便宜的,但是太远了,还顺丰到付,不确定性太大。

 

第一次尝试

到手后,板子和网上的一样,没有电源,没有USB口。没事,这几个东西我还是可以焊的。先加了DC电源座和UART排针,这样就可以启动了。

连接好串口,满怀期待地上电。

UBoot SPL 输出信息...

UBoot 输出信息...

加载内核...

读取nand flash碰到坏块...心里咯登了一下,还好卡了几秒后显示跳过坏块,内核加载完就解压启动了

然后又卡了,并且是kernel panic,

重新上电,还是老样子

好伤心,这么失败。

会不会是FLASH里的系统坏了?当时是这样想的

于是去下载BBB的debian系统,服务器在国外,花了我差不多一天的时间才下载好。

烧到SD卡,启动,结果又是kernel panic。

往前看是cpsw那里崩溃了,由于搞过am437x,知道cpsw是和以太网有关,看来这板子的以太网有问题。

 

第二次购入

不甘心啊,于是又在某鱼上搜,发现有个更便宜的。本来想买一个玩玩的,由于3个包邮,想来想去一咬牙就买了3个。

这家不错,还送了几个小按钮,这种贴片按钮我家里公司都没有。

在等待的过程中,我按https://jumpnowtek.com/  (挺好的指南,赞美)上的做了个BBB系统。

烧到SD卡,居然可以启动进入系统了!

以太网还是不行,ifconfig后提示phy not ready,应该是物理芯片坏了,但至少挽回了点损失,以太网不能用,其它还行,加个USB网卡连WIFI也可以。

 

第二批板子

板子到了,也是1.6的版本,加排针和电源座,上电。

串口输出连续的C,我知道这是进入UART启动,为什么不是NAND呢?

我插上按jumpnowtek制作的sd卡,上电,还是连续的C。

又中奖了?

把第2块板子焊上,重复操作,还是一样。

把第3块板子焊上,重复操作,还是一样。

 又被坑了?还是说这板了启动顺序和网上说的不一样?

只好找卖家,卖家给了个资料的网盘。

在缓慢的下载等待中,我尝试去用debian的系统。

串口提示找不到eeprom id,有救了,至少能启动UBOOT。

EEPROM ID的问题我知道是这板子精简掉了,而官方系统会去读EEPROM来判断开发板类型,从而去加载相应的dtb文件

等下载完网盘,替换里面的uboot后,可以顺利启动系统了。

分析

回过头来终于想通了:

第2批板子了的NAND FLASH应该被清空了,所以不能像第1批那样直接启动

第1批板子能启动jumpnowtek版的SD,实际是nand 里的uboot 加上 sd里的系统,所以可以

第2批板子不能启动jumpnowtek版的SD,是因为jumpnowtek的uboot改了命令或是其它什么,可惜连个串口提示也没看到。

后续

eeprom id的问题好解决,强制写入ID,UBOOT里已有现成的函数。修改如下:

电源小按钮我觉得挺有用,特别是没有网络可以远程时。我的树莓派现在关机都是用VNC连上去关的。

我没焊过贴片的东西,结果连个4脚按钮都花了我好长时间,焊的结果也不知道牢不牢靠。

在debian系统下按钮起作用,而我自己做的系统没起作用,具体是改内核DTS还是改系统服务还有待学习。

 

把系统烧录到NAND FLASH还算顺利,除了有个UBI文件系统偏移(修正:应该是page size)错了一次(我看的AM437X的文章,里面用的4096,而UBOOT里am335x用的2048,把这两个统一就好)。

可惜这板子只有256MB FLASH,TI自带的放不下。

最后,放个板子的图,很久以前买的亚克力板也用上了。