前言:
fw-download命令实现了让我们可以通过命令方式更新NVME设备的固件版本,而不用串口的方式下载更新,更加的方便。
命令行参数
我们先看命令行需要传入的参数:
nvme fw-download Options: [ --fw=, -f ] --- firmware file (required) [ --xfer=, -x ] --- transfer chunksize limit [ --offset=, -o ] --- starting dword offset, default 0
fw是固件包的文件;
xfer是以什么大小拆分包,将固件包拆分成小文件传输,默认为0;
offset是将包下载到设置的偏移量位置;
源码入口
fw-download命令在源码的入口,在nvme-builtin.h 40行;
ENTRY("fw-download", "Download new firmware", fw_download)
进入fw_download函数,首先还是参数的定义,然后是对命令行获取的结果处理,并做open nvme device的操作;
static int fw_download(int argc, char **argv, struct command *cmd, struct plugin *plugin){ const char *desc = "Copy all