📄 fwversion
字号:
#!/bin/sh## fwversion <fwfile.h>## Report the version of an Atmel firmware image contained in <fwfile.h> (header# file must be in the form produced by fwconvert)hdrfile="$1"define=`grep '#define FW_.*_INTERNAL' $hdrfile | sed -e 's/.* \(FW_[^ ]*_INTERNAL\).*/\1/'`tmpdir=`mktemp -d /usr/tmp/fwversion.XXXXXX || exit 1`tmp_c_file="$tmpdir/fwv.c"tmp_x_file="$tmpdir/fwv"cat > $tmp_c_file <<EOF#include <stdio.h>#include <${hdrfile}>unsigned char fw[] = ${define};unsigned char tag[] = "ATMEL_AP";#define TAG_LEN 8int main(int argc, char *argv[]) { int i; int major, minor, sub, build; for (i=0; i<sizeof(fw)-TAG_LEN-0x38; i++) { if (!memcmp(&fw[i], tag, TAG_LEN)) { major = fw[i+0x34]; minor = fw[i+0x35]; sub = fw[i+0x36]; build = fw[i+0x37]; printf("%d.%d.%d #%d\n", major, minor, sub, build); return 0; } } return 1;}EOFgcc -I . -o "$tmp_x_file" "$tmp_c_file" && $tmp_x_filerm -rf "$tmpdir"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -