在幽兰代码本的右侧,有一个SD插口,它的普通用途是插SD/TF卡,用作读卡器。考虑到SD卡不是常用功能,和调试需要,它又被赋予了扩展功能。
具体来说,SD卡槽具有如下两类功能:
- 当普通的SD卡口使用(当把SD卡插到卡槽里后,系统会当SD卡处理)
- 当成串口和 JTAG 接口使用(为调试服务)
值得注意的是,上述两个用途是互斥的,不能同时既当成 SD卡口又当成串口和JTAG接口。那么一个显而易见的问题是,在哪儿配置呢?新装的系统默认值又是什么呢?
简单说,有如下两种配置方式:
1. UEFI 界面
2. 葫芦娃程序
UEFI 界面如下(要进入 UEFI 界面,需在开机时连续按 esc 按钮):
在 UEFI 中的修改会持久化,即每次开机都会保留之前的设置。
葫芦娃修改界面如下:
点击红圈中的按钮,会在JTAG和 SDC 之间切换,分别表示SD卡槽当时作为JTAG接口或SD卡口使用。
这里有两点要注意。
第一:在幽兰的双剑版本(双剑1和双剑2)里,SD卡槽的默认功能是 SD卡,可在 UEFI 和葫芦娃中修改。但是葫芦娃中的修改不会被持久化,即不会更改 UEFI中的设置,关机重启后,又恢复成了以前UEFI中的设置。
第二:葫芦娃3.0及之前的版本中,只能在SD卡和 JTAG 接口两者之间切换,不能切换到串口模式。要切换到串口模式,只能在 UEFI中修改。在葫芦娃3.1中,增加了串口模式。双剑版本中自带的葫芦娃版本是3.0,3.1必须自行下载更新。葫芦娃3.1的下载步骤如下:
- 下载更新包https://gedu.oss-cn-beijing.aliyuncs.com/Products/GdkSoftware/update_v3.1.tar.gz
- 解压更新包;
- 进入update_v3.1目录,运行update.sh脚本;
- 完成更新。
以上是在双剑版本中的情况,但是在幽兰以前的版本中,情况就有点复杂。在秀峰2中,SD卡槽默认是仅当作 JTAG 接口使用的。这时,如果要把它当串口使用,就需要在开机前将SD转接头插入SD卡插槽内,系统在开机时检测到SD卡槽中有东西,就会开启串口功能,此时JTAG 调试功能仍然能使用。略微不足的是,在秀峰2中,SD卡槽是不能当作普通的SD卡口使用的,即插入SD卡是不能工作的。要让SD卡工作,必须把镜像升级到双剑1或双剑2版本。镜像升级的步骤,请参见:https://www.nanocode.cn/wiki/docs/youlan/youlan-1em18r0oh0cvt。
在秀峰1中,SD卡槽默认也是当作 JTAG 调试接口使用的,但如果要把它当作串口使用,需要首先更换成秀峰2的UBoot,然后按照秀峰2的方法来操作。更换UBoot的步骤,请参见https://www.nanocode.cn/wiki/docs/youlan/youlan-1f02mqh8cv4nl。 当然,即使这样,SD卡槽还是不能当成普通的SD卡口使用,所以最简单的方法是,直接升级镜像到双剑1或双剑2版本,那样就不需要更换UBoot。
对于更老的版本,鹤鸣1和鹤鸣2,情况就更加复杂。在鹤鸣1和鹤鸣2中,SD卡槽的默认功能是SD卡,但没有任何方法可以配置成串口和JTAG使用。要把SD卡槽当成串口和JTAG使用,必须更换成秀峰2的UBoot,或直接升级镜像到双剑1或双剑2版本。
下表总结了各种版本下SD卡槽的默认功能,以及如何配置才能让它当成串口和JTAG接口或普通的SD卡口使用。
镜像版本 | 默认功能 | 如何配置成串口 | 如何配置成SD卡口 | 补充说明 |
---|---|---|---|---|
双剑2 | SD卡 | 开机时进入UEFI界面设置(同时也启用了 JTAG) | UEFI或葫芦娃 | 葫芦娃中的更改只影响本次使用 |
双剑1 | SD卡 | 同双剑2 | 同双剑2 | |
秀峰2 | 仅JTAG接口 | 无需配置也没有地方配置,只要在开机前将SD转接头插入SD卡槽内。此时JTAG调试功能仍然能使用。 | 无法过简单的配置使用SD卡功能,必须升级到双剑版本。 | |
秀峰1 | 仅JTAG接口 | 需要更换秀峰2的UBoot,然后按照秀峰2的步骤操作。 | 无法通过简单的配置使用SD卡功能,必须升级到双剑版本。 | 升级到双剑版本则两个问题同时解决了 |
鹤鸣2 | SD卡 | 同秀峰1 | 同秀峰1 | |
鹤鸣1 | SD卡 | 同秀峰1 | 同秀峰1 |
最后编辑:朱博渊 更新时间:2024-12-20 17:01