This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在使用 TDA4VM、我将从 SD 卡引导。 希望保持这种方式、但也希望能够偶尔更新电路板上的 FW、而无需移除 SD 卡。
我知道在开发过程中我们可以使用 NFS。 但是、该板将被发送到远程位置、并希望开发一种方法、通过网络连接(不一定是 NFS)我们可以更新 FW 一次、然后始终使用该更新从 SD 卡引导。
基本上有2种情况:
1.从 SD 卡引导时的正常操作
2.更新固件后、通过网络更新 SD 卡内容。 然后返回正常运行。
是否有任何方法来实现此目的?
谢谢、
David
尊敬的 David:
我只是尝试了一种方法、这应该是可能的。 如果有网络、则始终可以使用 tftpboot。
如果没有网络、您可以使用 UART 将更改后的引导加载程序二进制文件加载到 RAM 中。
例如:
引导至 u-boot 提示符。 然后在 U-boot 提示符下输入命令 loady。 您将看到如下所示的内容:
然后在 Teraterm 中使用 Ymodem 接口传输新的二进制文件:
您应该选择二进制文件并发送:
这将需要一些时间、并完成。
##准备好二进制(YMODEM)下载到115200bps 的0x82000000 ...
CCxyzModem - CRC mode、1 (SOH)/1029 (STX)/0 (CAN) packets、5次重试
##总大小= 0x00101378 = 1053560字节
二进制文件将加载到${loadaddr}。
您只需执行以下操作即可进行验证:
MD ${loadaddr}
现在、我们在 RAM 中的${loadaddr}位置有了新的 u-boot.img、需要使用以下命令将文件写入 FAT、即 SD 卡的引导分区:
fatwrite mmc 1 ${loadaddr}u-boot.img 101378
请注意、大小应始终以十六进制表示。 U-boot 以十六进制表示大小、因此我使用 十六进制的101378、而 不是十进制的1053560。
类似的方法可用于更新 SD 卡上的任何二进制文件。
如果没有其他问题、请单击验证答案。
此致、
基尔西
您好、Keerty、
这似乎很有用。 尽管我刚刚意识到、我要不断更新的唯一部分是 Vision Apps 输出。
为此、我编译视觉应用、然后执行"make linux_fs_install_sd"。 从我看到的内容来看、它主要是将编译的输出复制到 SD 文件系统中。
这是可以通过 ssh/scp 完成的吗?
在哪里可以找到 "make linux_fs_install_sd"正在执行的操作?
是的。 这可以通过网络完成。
$PSDKRA_PATH/VISION_APPS
文件:makerules/makefile_linux_arm.mak
如果没有其他问题、请单击验证答案。
此致、
基尔西
您好、Keerty、
谢谢、我修改了 makefile_linux_arm.mak 以执行与"make linux_fs_install_sd"相同的步骤、但直接从 EVM 通过 ssh 将文件系统安装在已安装的文件系统上。
有点慢、但可以满足我们的需求。
谢谢!