{"id":709,"date":"2020-01-15T15:28:06","date_gmt":"2020-01-15T15:28:06","guid":{"rendered":"http:\/\/www.recologypower.com:9080\/?p=709"},"modified":"2020-02-09T07:10:59","modified_gmt":"2020-02-09T07:10:59","slug":"f1c100s-f1c200sspi-flash%e7%b3%bb%e7%bb%9f%e5%88%b6%e4%bd%9c","status":"publish","type":"post","link":"http:\/\/www.recologypower.com:9080\/?p=709","title":{"rendered":"[f1c100s\/f1c200s]spi-flash\u7cfb\u7edf\u5236\u4f5c"},"content":{"rendered":"\n<p>spi-flash\u7cfb\u7edf\u751f\u6210\u9700\u8981\u8fdb\u884c\u56db\u90e8\u66f2\uff1a \u201cuboot\u201d \u3001 \u201cdtb\u201d \u3001\u201ckernel\u201d \u548c \u201crootfs\u201d \u3002\u4ee516M flash\u4e3e\u4f8b\uff0c \u4ecb\u7ecd spi flash \u7684\u9002\u914d\u8fc7\u7a0b\u3002 \u5206\u533a\u8868\u5982\u4e0b\uff1a<\/p>\n\n\n\n<table class=\"wp-block-table\"><tbody><tr><td> \u5206\u533a\u5e8f\u53f7<\/td><td> \u5206\u533a\u5927\u5c0f <\/td><td> \u5206\u533a\u4f5c\u7528 <\/td><td> \u5730\u5740\u7a7a\u95f4\u53ca\u5206\u533a\u540d <\/td><\/tr><tr><td> mtd0<\/td><td> 1MB (0x100000) <\/td><td> spl+uboot <\/td><td> 0x0000000-0x0100000 : \u201cuboot\u201d  <\/td><\/tr><tr><td> mtd1 <\/td><td> 64KB (0x10000) <\/td><td> dtb\u6587\u4ef6 <\/td><td> 0x0100000-0x0110000 : \u201cdtb\u201d <\/td><\/tr><tr><td> mtd2 <\/td><td> 4MB (0x400000) <\/td><td> linux\u5185\u6838 <\/td><td> 0x0110000-0x0510000 : \u201ckernel\u201d <\/td><\/tr><tr><td> mtd3 <\/td><td> \u5269\u4f59 (0xAF0000) <\/td><td> \u6839\u6587\u4ef6\u7cfb\u7edf <\/td><td> 0x0510000-0x1000000 : \u201crootfs\u201d <\/td><\/tr><\/tbody><\/table>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e00\u3001\u5b89\u88c5\u4ea4\u53c9\u7f16\u8bd1\u73af\u5883<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># \u6b64\u5904\u4e3a\u83b7\u53d67.2.1\u7248\u672c\uff0c\u60a8\u53ef\u83b7\u53d6\u5176\u4ed6\u7248\u672c\u6216\u8005\u901a\u8fc7\u94fe\u63a5\u76f4\u63a5\u4e0b\u8f7d\nwget http:\/\/releases.linaro.org\/components\/toolchain\/binaries\/7.2-2017.11\/arm-linux-gnueabi\/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz\n\ntar -vxJf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz\nsudo cp -r .\/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi \/opt\/\n\nsudo vim \/etc\/bash.bashrc\n\n# \u5728\u6587\u4ef6\u672b\u5c3e \u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\nPATH=\"$PATH:\/opt\/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi\/bin\"\n# \u6dfb\u52a0\u5b8c\u6bd5\n\n# \u4f7f\u8def\u5f84\u751f\u6548\nsource \/etc\/bash.bashrc<\/code><\/pre>\n\n\n\n<p> \u6b64\u65f6\u53ef\u7528 <code>arm-linux-gnueabi-gcc -v<\/code> \u8fdb\u884c\u6d4b\u8bd5\uff1b\u82e5\u666e\u901a\u7528\u6237\u72b6\u6001\u4e0b\u6ca1\u6709\u6210\u529f\uff0c\u901a\u8fc7 <code>sudo su<\/code> \u5207\u6362\u5230root\u7528\u6237\u518d\u5c1d\u8bd5\uff1b <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e8c\u3001uboot\u914d\u7f6e\u53ca\u7f16\u8bd1<\/h2>\n\n\n\n<p>1\u3001\u4eceGitHub\u4e0b\u8f7duboot\u6e90\u7801<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo apt-get install git\ngit clone https:\/\/github.com\/Lichee-Pi\/u-boot.git\ncd u-boot\n\n# \u67e5\u770b\u5206\u652f\ngit branch -a\n# \u5207\u6362\u5230 Nano \u5206\u652f\ngit checkout nano-v2018.01<\/pre>\n\n\n\n<p>2\u3001uboot\u6e90\u7801\u7ed3\u6784<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\n\u251c\u2500\u2500 api             \/\/\u5c01\u88c5\u4e00\u4e9b\u5e73\u53f0\u65e0\u5173\u7684\u64cd\u4f5c\uff0c\u5982\u5b57\u7b26\u4e32\u6253\u5370\uff0c\u663e\u793a\uff0c\u7f51\u7edc\uff0c\u5185\u5b58\n\u251c\u2500\u2500 arch            \/\/\u4ee5\u5e73\u53f0\u67b6\u6784\u533a\u5206\n\u2502   \u251c\u2500\u2500arm\n\u2502   \u2502   \u2514\u2500\u2500cpu\n\u2502   \u2502   \u2502   \u2514\u2500\u2500arm926ejs\n\u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500sunxi   \/\/cpu\u76f8\u5173\u7684\u4e00\u4e9b\u64cd\u4f5c\uff0c\u5982\u5b9a\u65f6\u5668\u8bfb\u53d6\n\u2502   \u2502   \u2502   \u2502   \u2502   \u2514\u2500\u2500u-boot-spl.lds  \/\/spl\u7684\u653e\u7f6e\u65b9\u6cd5\n\u2502   \u2502   \u2514\u2500\u2500dts\n\u2502   \u2502   \u2502   \u2514\u2500\u2500suniv-f1c100s-licheepi-nano.dts   \/\/ f1c100s\u82af\u7247\u7684\u4e00\u4e9b\u914d\u7f6e\n\u2502   \u2502   \u2502   \u2514\u2500\u2500suniv-f1c100s-licheepi-nano.dtb\n\u2502   \u2502   \u2502   \u2514\u2500\u2500suniv-f1c100s.dtsi\n\u2502   \u2502   \u2502   \u2514\u2500\u2500suniv.dtsi\n\u2502   \u2502   \u2514\u2500\u2500lib      \/\/\u4e00\u4e9b\u5e93\u6587\u4ef6\n\u2502   \u2502   \u2514\u2500\u2500mach-sunxi\n\u2502   \u2502   \u2502   \u2514\u2500\u2500board.c          \/\/board_init_f\n\u2502   \u2502   \u2502   \u2514\u2500\u2500dram_sun4i.c     \/\/ddr\u7684\u64cd\u4f5c\uff0c\u590d\u4f4d\uff0c\u65f6\u949f\uff0c\u5ef6\u65f6\uff0codt\uff0cetc.\n\u2502   \u2502   \u2502   \u2514\u2500\u2500dram_helpers.c   \/\/ddr\u7684\u8bbe\u7f6e\u53ca\u8bfb\u5199\u6d4b\u8bd5\n\u251c\u2500\u2500 board\n\u2502   \u251c\u2500\u2500sunxi\n\u2502   \u2502   \u2514\u2500\u2500board.c              \/\/sunxi_board_init \u5165\u53e3\n\u2502   \u2502   \u2514\u2500\u2500dram_suniv.c        \/\/DRAM\u7684\u4e00\u4e9b\u9ed8\u8ba4\u53c2\u6570\n\u251c\u2500\u2500 cmd             \/\/Uboot\u547d\u4ee4\u884c\u7684\u4e00\u4e9b\u547d\u4ee4\n\u251c\u2500\u2500 common          \/\/\u542bspl\n\u251c\u2500\u2500 configs         \/\/menuconfig\u91cc\u7684\u9ed8\u8ba4\u914d\u7f6e,\u6bd4\u5982\u5404\u7c7b\u9a71\u52a8\u9002\u914d\n\u2502   \u251c\u2500\u2500 licheepi_nano_defconfig\n\u2502   \u251c\u2500\u2500 licheepi_nano_spiflash_defconfig\n\u251c\u2500\u2500 disk            \/\/\u786c\u76d8\u5206\u533a\u7684\u9a71\u52a8\n\u251c\u2500\u2500 doc\n\u251c\u2500\u2500 drivers         \/\/\u5916\u8bbe\u9a71\u52a8\n\u251c\u2500\u2500 dts\n\u251c\u2500\u2500 examples\n\u251c\u2500\u2500 fs              \/\/\u591a\u79cd\u6587\u4ef6\u7cfb\u7edf\n\u251c\u2500\u2500 include\n\u2502   \u251c\u2500\u2500configs\n\u2502   \u2502   \u2514\u2500\u2500sunxi_common.h   \/\/\u9884\u914d\u7f6e\u7684\u53c2\u6570\uff0c\u5982\u4e32\u53e3\u53f7\u7b49\n\u2502   \u2502   \u2514\u2500\u2500suniv.h\n\u251c\u2500\u2500 lib             \/\/\u52a0\u5bc6\u538b\u7f29\u7b49\u7b97\u6cd5\n\u251c\u2500\u2500 net             \/\/nfs,tftp\u7b49\u7f51\u7edc\u534f\u8bae\n\u251c\u2500\u2500 post\n\u251c\u2500\u2500 scripts<\/code><\/pre>\n\n\n\n<p>3\u3001uboot\u914d\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u6b64\u5904\u544a\u77e5make\u91c7\u7528arm-linux-gnueabi\u4e0b\u7684\u6240\u6709\u4ea4\u53c9\u7f16\u8bd1\u5de5\u5177\uff0c\u76ee\u6807\u67b6\u6784\u4e3aArm\uff0c\u8bbe\u5b9a\u5404\u9879\u9ed8\u8ba4\u914d\u7f6e\u4e3a nano \u7684spiflash\u652f\u6301\u7248\nmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig\n\n# \u82e5\u4e0d\u5e26spi-flash\u7684\u677f\u5b50\uff0c\u8bf7\u6362\u6210 licheepi_nano_defconfig\n\n\u4fee\u6539\u6587\u4ef6uboot\u6e90\u7801\u76ee\u5f55\u4e0b \u8fdb\u5165 .\/include\/configs\/suniv.h\n#define CONFIG_BOOTCOMMAND   \"sf probe 0:50000000; \"                 \\\n                             \"sf read 0x80C00000 0x100000 0x4000; \"  \\\n                             \"sf read 0x80008000 0x110000 0x400000; \" \\\n                             \"bootz 0x80008000 - 0x80C00000\"\n\n# \u8fdb\u884c\u53ef\u89c6\u5316\u914d\u7f6e\nmake ARCH=arm menuconfig\n\n#\u53d6\u6d88\u52fe\u9009 [ ] Enable a default value for bootcmd\n#\u52fe\u9009 [*] Enable boot arguments\uff1b\n#\u5728\u4e0b\u65b9\u4e00\u9879\u4e2d\u586b\u5165 bootargs \u53c2\u6570:\nconsole=ttyS0,115200 panic=5 rootwait root=\/dev\/mtdblock3 rw rootfstype=jffs2\n#(root=\/dev\/mtdblock3 \u6307\u7684\u662fmtd\u8bbe\u5907\u7b2c\u4e09\u5206\u533a\uff0c\u5206\u533a\u6307\u5b9a\u5728dts\u4e2d\u58f0\u660e)\n<\/code><\/pre>\n\n\n\n<p>4\u3001\u6dfb\u52a0LCD\u652f\u6301<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ARM architecture \u2023 Enable graphical uboot console on HDMI, LCD or VGA \u4e3a Y\n#\u63a5\u7740\u914d\u7f6e\u540c\u7ea7\u7684 LCD panel timing details \u4e3a\uff1a\n#\u5206\u8fa8\u7387800*480\nx:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0\n#\u5206\u8fa8\u7387480*272\nx:480,y:272,depth:18,pclk_khz:10000,le:42,ri:8,up:11,lo:4,hs:1,vs:1,sync:3,vmode:0\n\u5e76\u5c06 LCD panel backlight pwm pin \u8bbe\u4e3a\uff1aPE6 \uff08\u7ba1\u811a\u53c2\u7167\u539f\u7406\u56fe\uff09<\/code><\/pre>\n\n\n\n<p>5\u3001uboot\u7f16\u8bd1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4<\/code><\/pre>\n\n\n\n<p> \u7f16\u8bd1\u5b8c\u6210\u540e\uff0c\u53ef\u4e00\u770b\u5230\u76ee\u5f55\u4e0b\u591a\u4e86\u4e00\u5806\u4ee5u-boot\u5e26\u5934\u7684\u6587\u4ef6\uff0c\u6211\u4eec\u53ea\u9700\u53d6 <strong>u-boot-sunxi-with-spl.bin<\/strong> \u5373\u53ef\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e09\u3001Linux\u914d\u7f6e\u53ca\u7f16\u8bd1<\/h2>\n\n\n\n<p>1\u3001\u4eceGitHub\u4e0b\u8f7dLinux\u6e90\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u4e0b\u8f7d\u4ee3\u7801\ngit clone --depth=1 -b f1c100s-480272lcd-test https:\/\/github.com\/Icenowy\/linux.git<\/code><\/pre>\n\n\n\n<p>\u4e0b\u8f7d\u914d\u7f6e\u6587\u4ef6\uff1a<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"http:\/\/www.recologypower.com:9080\/wp-content\/uploads\/2020\/01\/config.txt\">config<\/a><a href=\"http:\/\/www.recologypower.com:9080\/wp-content\/uploads\/2020\/01\/config.txt\" class=\"wp-block-file__button\" download>\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<p>\u4e0b\u8f7d .config \u6587\u4ef6\uff0c\u653e\u5165\u6e90\u7801\u4e3b\u76ee\u5f55\u8fdb\u884c\u66ff\u6362 (\u82e5\u4e0b\u8f7d\u65f6\u6587\u4ef6\u540d\u6709\u53d8\uff0c\u8bf7\u91cd\u547d\u540d\u56de .config );<\/p>\n\n\n\n<p>2\u3001DTS\u4fee\u6539<\/p>\n\n\n\n<p> \u4fee\u6539\u5185\u6838\u6e90\u7801\u76ee\u5f55\u4e0b\u7684 .\/arch\/arm\/boot\/dts\/suniv-f1c100s-licheepi-nano.dts <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&amp;spi0 {\n    pinctrl-names = \"default\";\n    pinctrl-0 = &lt;&amp;spi0_pins_a>;\n    status = \"okay\";\n    spi-max-frequency = &lt;50000000>;\n    flash: w25q128@0 {\n        #address-cells = &lt;1>;\n        #size-cells = &lt;1>;\n        compatible = \"winbond,w25q128\", \"jedec,spi-nor\";\n        reg = &lt;0>;\n        spi-max-frequency = &lt;50000000>;\n        partitions {\n            compatible = \"fixed-partitions\";\n            #address-cells = &lt;1>;\n            #size-cells = &lt;1>;\n\n            partition@0 {\n                label = \"u-boot\";\n                reg = &lt;0x000000 0x100000>;\n                read-only;\n            };\n\n            partition@100000 {\n                label = \"dtb\";\n                reg = &lt;0x100000 0x10000>;\n                read-only;\n            };\n\n            partition@110000 {\n                label = \"kernel\";\n                reg = &lt;0x110000 0x400000>;\n                read-only;\n            };\n\n            partition@510000 {\n                label = \"rootfs\";\n                reg = &lt;0x510000 0xAF0000>;\n            };\n        };\n    };\n};<\/code><\/pre>\n\n\n\n<p> \u6b64\u5904\u5728dts\u4e2d\u4e3amtd\u8bbe\u5907\u9884\u5148\u5212\u5206\u597d\u4e86\u5206\u533a\u5185\u5bb9\uff0c\u5185\u6838\u5c06\u4f1a\u81ea\u52a8\u89e3\u6790 \u3002<\/p>\n\n\n\n<p>3\u3001\u5185\u6838\u914d\u7f6e\u4fee\u6539<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6253\u5f00\u53ef\u89c6\u5316\u914d\u7f6e\u7a97\u53e3\nmake ARCH=arm menuconfig<\/code><\/pre>\n\n\n\n<p> \u52fe\u9009 File systems \u2023 Miscellaneous filesystems \u2023 Journalling Flash File System v2 (JFFS2) support \u3002<\/p>\n\n\n\n<p>\u52fe\u9009 Device Drivers -&gt; Memory Technology Device (MTD) support \uff0c\u53ca\u4e0b\u9762\u5b50\u9879\uff1a<\/p>\n\n\n\n<ul><li> Caching block device access to MTD devices&nbsp; #\u4e3a\u4e86\u751f\u6210\/dev\/mtdblock*\u8bbe\u5907\uff0c\u4e0d\u9009\u4f1a\u62a5\u9519 <\/li><\/ul>\n\n\n\n<p>\u52fe\u9009 Device Drivers -&gt; SPI support \uff0c\u53ca\u4e0b\u9762\u5b50\u9879\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Allwinner A31 SPI Controller  \uff08\u52fe\u9009\uff09\nAllwinner A10 SoCs SPI controller   \uff08\u4e0d\u52fe\u9009\uff09<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539\u6e90\u7801\u4e0b\u7684 .\/drivers\/mtd\/ spi-nor\/ spi-nor.c<\/p>\n\n\n\n<p>\u4fee\u6539\u5bf9\u5e94spi-flash\uff1b\u5982 w25q128 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{ \"w25q128\", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },\n\/\/ \u4fee\u6539\u4e3a \uff08\u4e0d\u4f7f\u7528sector\uff0c\u4f7f\u7528\u5757\u64e6\u9664\uff09\uff1a\n{ \"w25q128\", INFO(0xef4018, 0, 64 * 1024, 256, 0) },<\/code><\/pre>\n\n\n\n<p>4\u3001\u5185\u6838\u7f16\u8bd1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4    #\u8bf7\u81ea\u884c\u4fee\u6539\u7f16\u8bd1\u7ebf\u7a0b\u6570<\/code><\/pre>\n\n\n\n<p>\n\u751f\u6210\u7684 zImage \u5728 arch \u2023 arm \u2023 boot \u76ee\u5f55\u4e0b\n\n<\/p>\n\n\n\n<p><strong> \u7f16\u8bd1\u5de5\u5177\u94fe\u4e3a arm-linux-gnueabi\uff0c\u5de5\u5177\u94fe\u7684\u5b89\u88c5\u8bf7\u53c2\u8003 uboot \u7f16\u8bd1\u90e8\u5206 \u3002<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u56db\u3001DTB\u6587\u4ef6\u7f16\u8bd1<\/h2>\n\n\n\n<p>\u8fdb\u5165Linux\u76ee\u5f55\uff0c\u6267\u884c\u5982\u4e0b\u4ee3\u7801\uff1a<\/p>\n\n\n\n<p>\n\u8bbe\u5907\u6811\u5728\u6e90\u7801\u7684 linux \u2023 arch \u2023 arm \u2023 boot \u2023 dts \u2023 suniv-f1c100s-licheepi-nano.dts\uff1b\n\n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j4<\/code><\/pre>\n\n\n\n<p> \u751f\u6210\u7684 dtb\u6587\u4ef6 \u5728 dts\u540c\u7ea7\u76ee\u5f55\u4e0b \u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e94\u3001\u6839\u6587\u4ef6\u7cfb\u7edf\u7f16\u8bd1<\/h2>\n\n\n\n<p>1\u3001\u4e0b\u8f7d\u4f9d\u8d56\u5305<\/p>\n\n\n\n<p><code>apt-get install linux-headers-$(uname -r)<\/code><\/p>\n\n\n\n<p>2\u3001buildroot\u4e0b\u8f7d\u914d\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/buildroot.org\/downloads\/buildroot-2017.08.tar.gz\ntar xvf buildroot-2017.08.tar.gz\ncd buildroot-2017.08\/\nmake menuconfig<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Target options  --->\n\n    Target Architecture Variant (arm926t)  --->   \/\/ arm926ejs\u67b6\u6784\n[ ] Enable VFP extension support                  \/\/ Nano \u6ca1\u6709 VFP\u5355\u5143\uff0c\u52fe\u9009\u4f1a\u5bfc\u81f4\u67d0\u4e9b\u5e94\u7528\u65e0\u6cd5\u8fd0\u884c\n    Target ABI (EABI)  --->\n    Floating point strategy (Soft float)  --->    \/\/ \u8f6f\u6d6e\u70b9\n\nSystem configuration  --->\n\n    (Lichee Pi) System hostname                   \/\/ hostname\n    (licheepi) Root password                      \/\/ \u9ed8\u8ba4\u8d26\u6237\u4e3aroot \u5bc6\u7801\u4e3alicheepi\n    [*] remount root filesystem read-write during boot  \/\/ \u542f\u52a8\u65f6\u91cd\u65b0\u6302\u5728\u6587\u4ef6\u7cfb\u7edf\u4f7f\u5176\u53ef\u8bfb\u5199<\/code><\/pre>\n\n\n\n<p>3\u3001\u7f16\u8bd1<\/p>\n\n\n\n<p> \u82e5\u7f16\u8bd1\u65f6\uff0cbuildroot\u4e0b\u8f7d\u8f6f\u4ef6\u5305\u901f\u5ea6\u592a\u6162\uff0c\u8bf7\u4e0b\u8f7d <a href=\"https:\/\/pan.baidu.com\/s\/1_tBdX9K7fOkH9JdXZ_MdiQ\">dl.zip<\/a> \uff0c\u5c06\u5176\u4e2d\u7684\u8f6f\u4ef6\u5305\u89e3\u538b\u81f3 buildroot \u2023 dl \u4e0b\uff1b <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u7f16\u8bd1\u547d\u4ee4\uff1a\nmake<\/code><\/pre>\n\n\n\n<p> \u7f16\u8bd1\u5b8c\u6210\u7684\u955c\u50cf\u5305\uff0c\u662f\u5728 buildroot-2017.08 \u2023 output \u2023images \u2023 rootfs.tar \u4e2d\u627e\u5230 \u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u516d\u3001\u4e00\u952e\u6253\u5305\u751f\u6210SPIflash\u56fa\u4ef6\u811a\u672c<\/h2>\n\n\n\n<p>\u811a\u672c\u4e0b\u8f7d\uff1a<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"http:\/\/www.recologypower.com:9080\/wp-content\/uploads\/2020\/01\/pack_flash_img.txt\">pack_flash_img<\/a><a href=\"http:\/\/www.recologypower.com:9080\/wp-content\/uploads\/2020\/01\/pack_flash_img.txt\" class=\"wp-block-file__button\" download>\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<p>\u628a.txt\u6539\u6210.sh\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"slide-text-bg2\">\n<h3>spi-flash\u7cfb\u7edf\u751f\u6210\u9700\u8981\u8fdb\u884c\u56db\u90e8\u66f2<\/h3>\n<\/div>\n<div class=\"flex-btn-div\"><a href=\"http:\/\/www.recologypower.com:9080\/?p=709\" class=\"btn1 flex-btn\">\u9605\u8bfb\u66f4\u591a<\/a><\/div>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85],"tags":[90,88,89,94,45,91],"_links":{"self":[{"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=\/wp\/v2\/posts\/709"}],"collection":[{"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=709"}],"version-history":[{"count":14,"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=\/wp\/v2\/posts\/709\/revisions"}],"predecessor-version":[{"id":731,"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=\/wp\/v2\/posts\/709\/revisions\/731"}],"wp:attachment":[{"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=709"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.recologypower.com:9080\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}