Digi的核心板上跑有三个固件:U-Boot,Linux内核,rootfs文件系统。一般出厂的模块,您至少需要烧写自己的内核和文件系统以匹配相关的应用。对于早期的板子,你可能还愿意更新Uboot以保证Uboot版本不会太老。除此之外,当遇到问题时,您可能还需要对NVRAM区的参数做初始化,防止一些误写或被破坏的参数影响系统。

总的来说,当遇到问题时,建议先按下面方法一操作,再检查一下模块的可用性。

方法一: 1.升级UBoot (如果有必要的话) 2.在uboot中,初始化参数

#envreset
#saveenv
上面两条命令初始化NVRAM变量参数区,将其恢复出厂设置。接下来您需要重新初始化分区,并更新内核和文件系统。
#flpart
选择r>l>q
#update linux tftp
#update rootfs tftp

注意,上面这种方式只是将变量恢复出厂,清NVRAM的方法不够彻底,有时还是不能解决问题,这时我们可以尝试下面方法二,来彻底将NVRAM区清空。注意这个方法也会把MAC地址等清空,如果不写回,您的模块将不能用。为了保存模块中网络接口和蓝牙的mac地址等信息,请先进行备份。

方法二:

1.备份

#printenv
#intnvram printall

通过终端将打印结果保存成文件,文件名最好带mac地址以方便找回。另外注意CC28上的标签是否完好,因为标签上也有一些mac地址信息,所以方便比对。如果模块标签已经遗失,奸计用贴个标记以方便找到对应的文件。

下面这些命令初始化intnvram区并重启

# intnvram reset
# save
# reboot

重启后,需要重设一些模块本身的参数,包括IP和mac地址 重启后

#flpart
r-l-q,并保存分区
恢复mac地址等各种参数
#intnvram set module ethaddr1=00:04:F3:XX:XX:XX   对应网口ENET0的ethaddr
#intnvram set module ethaddr2=00:04:F3:XX:XX:XX  对应wlanaddr
#intnvram set module ethaddr3=00:04:F3:XX:XX:XX  对应ENET1的eth1addr
#intnvram set module btaddr1=00:04:F3:XX:XX:XX    对应蓝牙btaddr
#save

然后就可以配置模块网络IP,进行固件升级等操作

……
#update linux tftp
#update rootfs tftp