TI中文支持网
TI专业的中文技术问题搜集分享网站

[FAQ] TDA4VM: 无线更新 SD 卡 – PSDK RTOS + Linux

Part Number:TDA4VM

客户:我正在使用 TDA4VM,而且从 SD 卡进行引导。我想沿用这种方式,但有时也想在无需移除 SD 卡的情况下更新电路板上的 FW。

我知道在开发期间可以使用 NFS,但该电路板将发送至远程位置,我希望开发一种方法,能够通过网络连接(不一定是 NFS)对 FW 进行一次更新,然后一直使用该更新从 SD 卡引导。

基本上有 2 种情形:

1.正常从 SD 卡引导

2.更新 FW 后,以某种方式通过网络更新 SD 卡内容。然后返回到正常操作。

是否有任何可用的方法?

答:我尝试过一种方法,该方法应该是可行的。如果有网络,则可以一直使用 tftpboot。

如果没有网络,则可以使用 UART 将更改后的引导加载程序二进制文件加载到 RAM 中。

 
例如:

引导至 u-boot 提示符。然后在 U-boot 提示符下输入命令 loady。您将看到如下所示的内容:

 

然后在 Tera Term 中使用 YMODEM 接口传输新的二进制文件:

您应该选择二进制文件并发送:

经过一段时间后该过程会完成。

## Ready for binary (ymodem) download to 0x82000000 at 115200 bps…

CCxyzModem – CRC mode, 1(SOH)/1029(STX)/0(CAN) packets, 5 retries

## Total Size = 0x00101378 = 1053560 Bytes

二进制文件将被加载到 ${loadaddr}。

您只需执行以下命令即可进行验证:

md ${loadaddr}

现在,我们在 RAM 中的位置 ${loadaddr} 处有了新的 u-boot.img,需要使用以下命令将文件写入 FAT(即 SD 卡的引导分区):

fatwrite mmc 1 ${loadaddr} u-boot.img 101378

请注意,大小应始终以十六进制格式表示。U-boot 以十六进制格式表示大小,因此我使用十六进制的 101378,而不是十进制的 1053560


可以使用类似的方法来更新 SD 卡上的任何二进制文件。

 

客户:这似乎很有用。尽管我刚刚意识到我持续更新的唯一部分是 Vision Apps 输出。

现在,为了实现更新,我编译 Vision Apps,然后执行“make linux_fs_install_sd”。在我看来,它似乎主要是将编译后的输出复制到 SD 文件系统中。

这是否通过 ssh/scp 就可以完成?

在哪里可以查看“make linux_fs_install_sd”正在执行的操作?

 

答:David Dominguez Moises说:

这是否通过 ssh/scp就可以完成?

是的。这可以通过网络完成。

David Dominguez Moises说:

在哪里可以查看“make linux_fs_install_sd”正在执行的操作?

$PSDKRA_PATH/vision_apps

文件:makerules/makefile_linux_arm.mak

 

客户:谢谢,我修改了 makefile_linux_arm.mak 以执行与“make linux_fs_install_sd”相同的步骤,但直接从 EVM 通过 SSH 将文件系统安装到已挂载的文件系统上。

速度有点慢,但可以满足我们的需求。

Cherry Zhou:

我们建议您在发布新问题之前先搜索 E2E支持论坛,E2E支持论坛已经拥有数十万个已得到解答的话题。  这通常是解决问题的最快方法。

赞(0)
未经允许不得转载:TI中文支持网 » [FAQ] TDA4VM: 无线更新 SD 卡 – PSDK RTOS + Linux
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1