[FL-2744] SPI Mem Manager C port (#1860)
Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
7
applications/plugins/spi_mem_manager/tools/README.md
Normal file
7
applications/plugins/spi_mem_manager/tools/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
This utility can convert nofeletru's UsbAsp-flash's chiplist.xml to C array
|
||||
|
||||
Usage:
|
||||
```bash
|
||||
./chiplist_convert.py chiplist/chiplist.xml
|
||||
mv spi_mem_chip_arr.c ../lib/spi/spi_mem_chip_arr.c
|
||||
```
|
22
applications/plugins/spi_mem_manager/tools/chiplist/LICENSE
Normal file
22
applications/plugins/spi_mem_manager/tools/chiplist/LICENSE
Normal file
@@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 nofeletru
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
984
applications/plugins/spi_mem_manager/tools/chiplist/chiplist.xml
Normal file
984
applications/plugins/spi_mem_manager/tools/chiplist/chiplist.xml
Normal file
@@ -0,0 +1,984 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!---
|
||||
This file is downloaded from nofeletru's UsbAsp-flash repository
|
||||
https://github.com/nofeletru/UsbAsp-flash/blob/master/chiplist.xml
|
||||
And distributed under MIT license
|
||||
-->
|
||||
<!---
|
||||
size - размер данных микросхемы памяти в байтах(DEC)
|
||||
page - размер страницы микросхемы памяти в байтах(DEC). Для SST AAI Word programm - SSTW. Для SST AAI Byte programm - SSTB.
|
||||
id - индефикатор микросхемы памяти(HEX). Поддерживаются опкоды 9F, 90, AB, 15
|
||||
spicmd - команды для серий микросхем памяти 25, 45, 95(EEPROM)
|
||||
script - имя файла скрипта из папки scripts
|
||||
-->
|
||||
<chiplist>
|
||||
<SPI>
|
||||
<KB90XX>
|
||||
<KB9012 id="0" page="128" size="131072" spicmd="KB"/>
|
||||
</KB90XX>
|
||||
<ADESTO>
|
||||
<AT25DN256 id="1F4000" page="256" size="32768"/>
|
||||
</ADESTO>
|
||||
<AMIC>
|
||||
<A25L05PT id="372020" page="256" size="65536"/>
|
||||
<A25L05PU id="372010" page="256" size="65536"/>
|
||||
<A25L10PT id="372021" page="256" size="131072"/>
|
||||
<A25L10PU id="372011" page="256" size="131072"/>
|
||||
<A25L20PT id="372022" page="256" size="262144"/>
|
||||
<A25L20PU id="372012" page="256" size="262144"/>
|
||||
<A25L40PT id="372023" page="256" size="524288"/>
|
||||
<A25L40PU id="372013" page="256" size="524288"/>
|
||||
<A25L80PT id="372024" page="256" size="1048576"/>
|
||||
<A25L80PU id="372014" page="256" size="1048576"/>
|
||||
<A25L16PT id="372025" page="256" size="2097152"/>
|
||||
<A25L16PU id="372015" page="256" size="2097152"/>
|
||||
<A25L512 id="373010" page="256" size="65536"/>
|
||||
<A25L010 id="373011" page="256" size="131072"/>
|
||||
<A25L020 id="373012" page="256" size="262144"/>
|
||||
<A25L040 id="373013" page="256" size="524288"/>
|
||||
<A25L080 id="373014" page="256" size="1048576"/>
|
||||
<A25L016 id="373015" page="256" size="2097152"/>
|
||||
<A25L032 id="373016" page="256" size="4194304"/>
|
||||
<A25LQ16 id="374015" page="256" size="2097152"/>
|
||||
<A25LQ32A id="374016" page="256" size="4194304"/>
|
||||
</AMIC>
|
||||
<APLUS>
|
||||
<AF25BC08 page="32" size="1024" spicmd="95"/>
|
||||
<AF25BC16 page="32" size="2048" spicmd="95"/>
|
||||
<AF25BC32 page="32" size="4096" spicmd="95"/>
|
||||
<AF25BC64 page="32" size="8192" spicmd="95"/>
|
||||
<AF25BC128 page="64" size="16384" spicmd="95"/>
|
||||
<AF25BC256 page="64" size="32768" spicmd="95"/>
|
||||
</APLUS>
|
||||
<Boya>
|
||||
<BY25D80 id="684014" page="256" size="1048576"/>
|
||||
</Boya>
|
||||
<CATALYST_CSI>
|
||||
<CAT25010 page="16" size="128" spicmd="95"/>
|
||||
<CAT25020 page="16" size="256" spicmd="95"/>
|
||||
<CAT25040 page="16" size="512" spicmd="95"/>
|
||||
<CAT25080 page="32" size="1024" spicmd="95"/>
|
||||
<CAT25160 page="32" size="2048" spicmd="95"/>
|
||||
<CAT25320 page="32" size="4096" spicmd="95"/>
|
||||
<CAT25640 page="64" size="8192" spicmd="95"/>
|
||||
<CAT25128 page="64" size="16384" spicmd="95"/>
|
||||
<CAT25256 page="64" size="32768" spicmd="95"/>
|
||||
<CAT25C01 page="16" size="128" spicmd="95"/>
|
||||
<CAT25C02 page="16" size="256" spicmd="95"/>
|
||||
<CAT25C03 page="16" size="256" spicmd="95"/>
|
||||
<CAT25C04 page="16" size="512" spicmd="95"/>
|
||||
<CAT25C05 page="16" size="512" spicmd="95"/>
|
||||
<CAT25C08 page="32" size="1024" spicmd="95"/>
|
||||
<CAT25C09 page="32" size="1024" spicmd="95"/>
|
||||
<CAT25C16 page="32" size="2048" spicmd="95"/>
|
||||
<CAT25C17 page="32" size="2048" spicmd="95"/>
|
||||
<CAT25C32 page="32" size="4096" spicmd="95"/>
|
||||
<CAT25C33 page="32" size="4096" spicmd="95"/>
|
||||
<CAT25C64 page="64" size="8192" spicmd="95"/>
|
||||
<CAT25C65 page="64" size="8192" spicmd="95"/>
|
||||
<CAT25C128 page="64" size="16384" spicmd="95"/>
|
||||
<CAT25C256 page="64" size="32768" spicmd="95"/>
|
||||
</CATALYST_CSI>
|
||||
<EON>
|
||||
<EN25B05 id="1C2010" page="256" size="65536"/>
|
||||
<EN25B05T id="1C2010" page="256" size="65536"/>
|
||||
<EN25B10 id="1C2011" page="256" size="131072"/>
|
||||
<EN25B10T id="1C2011" page="256" size="131072"/>
|
||||
<EN25B20 id="1C2012" page="256" size="262144"/>
|
||||
<EN25B20T id="1C2012" page="256" size="262144"/>
|
||||
<EN25B40 id="1C2013" page="256" size="524288"/>
|
||||
<EN25B40T id="1C2013" page="256" size="524288"/>
|
||||
<EN25B80 id="1C2014" page="256" size="1048576"/>
|
||||
<EN25B80T id="1C2014" page="256" size="1048576"/>
|
||||
<EN25B16 id="1C2015" page="256" size="2097152"/>
|
||||
<EN25B16T id="1C2015" page="256" size="2097152"/>
|
||||
<EN25B32 id="1C2016" page="256" size="4194304"/>
|
||||
<EN25B32T id="1C2016" page="256" size="4194304"/>
|
||||
<EN25B64 id="1C2017" page="256" size="8388608"/>
|
||||
<EN25B64T id="1C2017" page="256" size="8388608"/>
|
||||
<EN25F05 id="1C3110" otp="240" page="256" size="65536"/>
|
||||
<EN25F10 id="1C3111" otp="496" page="256" size="131072"/>
|
||||
<EN25F20 id="1C3112" otp="1008" page="256" size="262144"/>
|
||||
<EN25F40 id="1C3113" otp="2032" page="256" size="524288"/>
|
||||
<EN25F80 id="1C3114" otp="4080" page="256" size="1048576"/>
|
||||
<EN25F16 id="1C3115" otp="8176" page="256" size="2097152"/>
|
||||
<EN25F32 id="1C3116" otp="16368" page="256" size="4194304"/>
|
||||
<EN25LF05 id="1C3110" page="256" size="65536"/>
|
||||
<EN25LF10 id="1C3111" page="256" size="131072"/>
|
||||
<EN25LF20 id="1C3112" page="256" size="262144"/>
|
||||
<EN25LF40 id="1C3113" page="256" size="524288"/>
|
||||
<EN25P05 id="1C2010" page="256" size="65536"/>
|
||||
<EN25P10 id="1C2011" page="256" size="131072"/>
|
||||
<EN25P20 id="1C2012" page="256" size="262144"/>
|
||||
<EN25P40 id="1C2013" page="256" size="524288"/>
|
||||
<EN25P80 id="1C2014" page="256" size="1048576"/>
|
||||
<EN25P16 id="1C2015" page="256" size="2097152"/>
|
||||
<EN25P32 id="1C2016" page="256" size="4194304"/>
|
||||
<EN25P64 id="1C2017" page="256" size="8388608"/>
|
||||
<EN25Q40 id="1C3013" otp="2032" page="256" size="524288"/>
|
||||
<EN25Q80A id="1C3014" otp="4080" page="256" size="1048576"/>
|
||||
<EN25Q16A id="1C3015" otp="8176" page="256" size="2097152"/>
|
||||
<EN25Q32A id="1C3016" otp="16368" page="256" size="4194304"/>
|
||||
<EN25Q32A id="1C7016" otp="16368" page="256" size="4194304"/>
|
||||
<EN25Q32B id="1C3016" otp="16368" page="256" size="4194304"/>
|
||||
<EN25Q64 id="1C3017" otp="32752" page="256" size="8388608"/>
|
||||
<EN25Q128 id="1C3018" otp="65520" page="256" size="16777216"/>
|
||||
<EN25QH16 id="1C7015" otp="8176" page="256" size="2097152"/>
|
||||
<EN25QH32 id="1C7016" otp="16368" page="256" size="4194304"/>
|
||||
<EN25QH64 id="1C7017" otp="32752" page="256" size="8388608"/>
|
||||
<EN25QH128 id="1C7018" otp="65520" page="256" size="16777216"/>
|
||||
<EN25QH256 id="1C7019" otp="0" page="256" size="33554432"/>
|
||||
<EN25T80 id="1C5114" otp="4080" page="256" size="1048576"/>
|
||||
<EN25T16 id="1C5115" otp="8176" page="256" size="2097152"/>
|
||||
<EN25F64 id="1C3117" otp="32752" page="256" size="8388608"/>
|
||||
</EON>
|
||||
<PMC>
|
||||
<PM25LD256C id="9D2F" page="256" size="32768"/>
|
||||
<PM25LD512 id="9D20" page="256" size="65536"/>
|
||||
<PM25LD512C id="9D20" page="256" size="65536"/>
|
||||
<PM25LD010 id="9D21" page="256" size="131072"/>
|
||||
<PM25LD010C id="9D21" page="256" size="131072"/>
|
||||
<PM25LD020 id="9D22" page="256" size="262144"/>
|
||||
<PM25LD020C id="9D22" page="256" size="262144"/>
|
||||
<PM25LD040 id="9D7E" page="256" size="524288"/>
|
||||
<PM25LD040C id="9D7E" page="256" size="524288"/>
|
||||
<PM25LV512 id="9D7B" page="256" size="65536"/>
|
||||
<PM25LV512A id="9D7B" page="256" size="65536"/>
|
||||
<PM25LV010 id="9D7C" page="256" size="131072"/>
|
||||
<PM25LV010A id="9D7C" page="256" size="131072"/>
|
||||
<PM25LV020 id="9D7D" page="256" size="262144"/>
|
||||
<PM25LV040 id="9D7E" page="256" size="524288"/>
|
||||
<PM25LV080B id="9D13" page="256" size="1048576"/>
|
||||
<PM25LV016B id="9D14" page="256" size="2097152"/>
|
||||
<PM25WD020 id="9D32" page="256" size="262144"/>
|
||||
<PM25WD040 id="9D33" page="256" size="524288"/>
|
||||
</PMC>
|
||||
<PFLASH>
|
||||
<Pm25LV010 id="7F9D7C" page="256" size="131072"/>
|
||||
<Pm25LD010 id="7F9D21" page="256" size="131072"/>
|
||||
<Pm25LV020 id="7F9D22" page="256" size="262144"/>
|
||||
<Pm25W020 id="7F9D7D" page="256" size="262144"/>
|
||||
<Pm25LV040 id="7F9D7E" page="256" size="524288"/>
|
||||
</PFLASH>
|
||||
<TERRA>
|
||||
<TS25L512A id="373010" page="256" size="65536"/>
|
||||
<TS25L010A id="373011" page="256" size="131072"/>
|
||||
<TS25L020A id="373012" page="256" size="262144"/>
|
||||
<TS25L16AP id="202015" page="256" size="2097152"/>
|
||||
<TS25L16BP id="202015" page="256" size="2097152"/>
|
||||
<ZP25L16P id="202015" page="256" size="2097152"/>
|
||||
<TS25L16PE id="208015" page="256" size="2097152"/>
|
||||
<TS25L80PE id="208014" page="256" size="1048576"/>
|
||||
<TS25L032A id="373016" page="256" size="4194304"/>
|
||||
<TS25L40P id="202013" page="256" size="524288"/>
|
||||
</TERRA>
|
||||
<Generalplus>
|
||||
<GPR25L005E id="C22010" page="256" size="65536"/>
|
||||
<GPR25L161B id="C22015" page="256" size="262144"/>
|
||||
<GPR25L020B id="C22012" page="256" size="262144"/>
|
||||
<GPR25L3203F id="C22016" page="256" size="4194304" script="GPR25L3203F_OTP.pas"/>
|
||||
</Generalplus>
|
||||
<DEUTRON>
|
||||
<AC25LV512 id="9D7B00" page="256" size="65536"/>
|
||||
<AC25LV010 id="9D7C00" page="256" size="131072"/>
|
||||
</DEUTRON>
|
||||
<EFST>
|
||||
<EM25LV512 id="9D7B00" page="256" size="65536"/>
|
||||
<EM25LV010 id="9D7C00" page="256" size="131072"/>
|
||||
<F25L004A id="8C2013" page="256" size="524288"/>
|
||||
<F25L008A id="8C2014" page="256" size="1048576"/>
|
||||
<F25L016A id="8C2015" page="256" size="2097152"/>
|
||||
<F25L04UA id="8C8C8C" page="256" size="524288"/>
|
||||
<F25L04P id="8C2013" page="256" size="524288"/>
|
||||
<F25S04P id="8C3013" page="256" size="524288"/>
|
||||
<F25L08P id="8C2014" page="256" size="1048576"/>
|
||||
<F25L16P id="8C2015" page="256" size="2097152"/>
|
||||
<F25L32P id="8C2016" page="256" size="4194304"/>
|
||||
<F25L32Q id="8C4016" page="256" size="4194304"/>
|
||||
</EFST>
|
||||
<EXCELSEMI>
|
||||
<ES25P10 id="4A2011" page="256" size="131072"/>
|
||||
<ES25P20 id="4A2012" page="256" size="262144"/>
|
||||
<ES25P40 id="4A2013" page="256" size="524288"/>
|
||||
<ES25P80 id="4A2014" page="256" size="1048576"/>
|
||||
<ES25P16 id="4A2015" page="256" size="2097152"/>
|
||||
<ES25P32 id="4A2016" page="256" size="4194304"/>
|
||||
<ES25M40A id="4A3213" page="256" size="524288"/>
|
||||
<ES25M80A id="4A3214" page="256" size="1048576"/>
|
||||
<ES25M16A id="4A3215" page="256" size="2097152"/>
|
||||
</EXCELSEMI>
|
||||
<FIDELIX>
|
||||
<FM25Q08A id="F83214" page="256" size="1048576"/>
|
||||
<FM25Q16A id="F83215" page="256" size="2097152"/>
|
||||
<FM25Q16B id="F83215" page="256" size="2097152"/>
|
||||
<FM25Q32A id="F83216" page="256" size="4194304"/>
|
||||
<FM25Q64A id="F83217" page="256" size="8388608"/>
|
||||
</FIDELIX>
|
||||
<GIANTEC>
|
||||
<GT25C01 page="8" size="128" spicmd="95"/>
|
||||
<GT25C02 page="8" size="256" spicmd="95"/>
|
||||
<GT25C04 page="8" size="512" spicmd="95"/>
|
||||
<GT25C08 page="32" size="1024" spicmd="95"/>
|
||||
<GT25C16 page="32" size="2048" spicmd="95"/>
|
||||
<GT25C32 page="32" size="4096" spicmd="95"/>
|
||||
<GT25C32A page="32" size="4096" spicmd="95"/>
|
||||
<GT25C64 page="32" size="8192" spicmd="95"/>
|
||||
<GT25C128 page="64" size="16384" spicmd="95"/>
|
||||
<GT25C128A page="64" size="16384" spicmd="95"/>
|
||||
<GT25C256 page="64" size="32768" spicmd="95"/>
|
||||
</GIANTEC>
|
||||
<GIGADEVICE>
|
||||
<GD25D40 id="C83013" page="256" size="524288"/>
|
||||
<GD25D80 id="C83014" page="256" size="1048576"/>
|
||||
<GD25F40 id="C82013" page="256" size="524288"/>
|
||||
<GD25F80 id="C82014" page="256" size="1048576"/>
|
||||
<GD25Q512 id="C84010" page="256" size="65536"/>
|
||||
<GD25Q10 id="C84011" page="256" size="131072"/>
|
||||
<GD25Q20 id="C84012" page="256" size="262144"/>
|
||||
<GD25LQ20C_1.8V id="C86012" page="256" size="262144"/>
|
||||
<GD25Q40 id="C84013" page="256" size="524288"/>
|
||||
<GD25Q80 id="C84014" page="256" size="1048576"/>
|
||||
<GD25Q80B id="C84014" page="256" size="1048576"/>
|
||||
<GD25Q80C id="C84014" page="256" size="1048576"/>
|
||||
<GD25Q16 id="C84015" page="256" size="2097152"/>
|
||||
<GD25Q16B id="C84015" page="256" size="2097152"/>
|
||||
<GD25Q32 id="C84016" page="256" size="4194304"/>
|
||||
<GD25Q32B id="C84016" page="256" size="4194304"/>
|
||||
<GD25Q64 id="C84017" page="256" size="8388608"/>
|
||||
<GD25Q64B id="C84017" page="256" size="8388608"/>
|
||||
<GD25B64C id="C84017" page="256" size="8388608"/>
|
||||
<GD25Q128B id="C84018" page="256" size="16777216"/>
|
||||
<GD25Q128C id="C84018" page="256" size="16777216"/>
|
||||
<GD25LQ064C_1.8V id="C86017" page="256" size="8388608"/>
|
||||
<GD25LQ128C_1.8V id="C86018" page="256" size="16777216"/>
|
||||
<GD25LQ256C_1.8V id="C86019" page="256" size="33554432"/>
|
||||
<MD25T80 id="C83114" page="256" size="1048576"/>
|
||||
<MD25D20 id="514012" page="256" size="262144"/>
|
||||
<MD25D40 id="514013" page="256" size="524288"/>
|
||||
<MD25D80 id="514014" page="256" size="1048576"/>
|
||||
<MD25D16 id="514015" page="256" size="2097152"/>
|
||||
</GIGADEVICE>
|
||||
<ICE>
|
||||
<ICE25P05 id="1C2010" page="128" size="65536"/>
|
||||
</ICE>
|
||||
<ICMIC>
|
||||
<X25020 page="4" size="256" spicmd="95"/>
|
||||
<X25021 page="4" size="256" spicmd="95"/>
|
||||
<X25040 page="4" size="512" spicmd="95"/>
|
||||
<X25041 page="4" size="512" spicmd="95"/>
|
||||
<X25080 page="32" size="1024" spicmd="95"/>
|
||||
<X25128 page="32" size="16384" spicmd="95"/>
|
||||
<X25160 page="32" size="2048" spicmd="95"/>
|
||||
<X25170 page="32" size="2048" spicmd="95"/>
|
||||
<X25320 page="32" size="4096" spicmd="95"/>
|
||||
<X25330 page="32" size="4096" spicmd="95"/>
|
||||
<X25640 page="32" size="8192" spicmd="95"/>
|
||||
<X25642 page="32" size="8192" spicmd="95"/>
|
||||
<X25650 page="32" size="8192" spicmd="95"/>
|
||||
</ICMIC>
|
||||
<INTEGRAL>
|
||||
<IN25AA020 page="16" size="256" spicmd="95"/>
|
||||
<IN25AA040 page="16" size="512" spicmd="95"/>
|
||||
<IN25AA080 page="16" size="1024" spicmd="95"/>
|
||||
<IN25AA160 page="16" size="2048" spicmd="95"/>
|
||||
</INTEGRAL>
|
||||
<INTEL>
|
||||
<QB25F016S33B id="898911" page="256" size="2097152"/>
|
||||
<QB25F160S33B id="898911" page="256" size="2097152"/>
|
||||
<QB25F320S33B id="898912" page="256" size="4194304"/>
|
||||
<QB25F640S33B id="898913" page="256" size="8388608"/>
|
||||
<QH25F016S33B id="898911" page="256" size="2097152"/>
|
||||
<QH25F160S33B id="898911" page="256" size="2097152"/>
|
||||
<QH25F320S33B id="898912" page="256" size="4194304"/>
|
||||
</INTEL>
|
||||
<ISSI>
|
||||
<IS25C01 page="8" size="128" spicmd="95"/>
|
||||
<IS25C02 page="16" size="256" spicmd="95"/>
|
||||
<IS25C04 page="16" size="512" spicmd="95"/>
|
||||
<IS25C08 page="16" size="1024" spicmd="95"/>
|
||||
<IS25C16 page="16" size="2048" spicmd="95"/>
|
||||
<IS25C32 page="32" size="4096" spicmd="95"/>
|
||||
<IS25C32A page="32" size="4096" spicmd="95"/>
|
||||
<IS25C64 page="64" size="8192" spicmd="95"/>
|
||||
<IS25C128 page="64" size="16384" spicmd="95"/>
|
||||
<IS25C256 page="64" size="32768" spicmd="95"/>
|
||||
</ISSI>
|
||||
<KHIC>
|
||||
<KH25L1005 id="C22011" page="256" size="131072"/>
|
||||
<KH25L1005A id="C22011" page="256" size="131072"/>
|
||||
<KH25L2005 id="C22012" page="256" size="262144"/>
|
||||
<KH25L4005 id="C22013" page="256" size="524288"/>
|
||||
<KH25L4005A id="C22013" page="256" size="524288"/>
|
||||
<KH25L512 id="C22010" page="256" size="65536"/>
|
||||
<KH25L512A id="C22010" page="256" size="65536"/>
|
||||
<KH25L8005 id="C22014" page="256" size="1048576"/>
|
||||
<KH25L8036D id="C22615" page="256" size="1048576"/>
|
||||
</KHIC>
|
||||
<MACRONIX>
|
||||
<MX25L1005 id="C22011" page="256" size="131072"/>
|
||||
<MX25L1005A id="C22011" page="256" size="131072"/>
|
||||
<MX25L1005C id="C22011" page="256" size="131072"/>
|
||||
<MX25L1006E id="C22011" page="256" size="131072"/>
|
||||
<MX25L1021E id="C22211" page="32" size="131072"/>
|
||||
<MX25L1025C id="C22011" page="256" size="131072"/>
|
||||
<MX25L1026E id="C22011" page="256" size="131072"/>
|
||||
<MX25L12805D id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12835E id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12835F id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12836E id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12839F id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12845E id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12845G id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12845F id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12865E id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12865F id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12873F id="C22018" page="256" size="16777216"/>
|
||||
<MX25L12875F id="C22018" page="256" size="16777216"/>
|
||||
<MX25L25635E id="C22019" page="256" size="33554432"/>
|
||||
<MX25L1605 id="C22015" page="256" size="2097152"/>
|
||||
<MX25L1605A id="C22015" page="256" size="2097152"/>
|
||||
<MX25L1605D id="C22015" page="256" size="2097152"/>
|
||||
<MX25L1606E id="C22015" page="256" size="2097152"/>
|
||||
<MX25L1633E id="C22415" page="256" size="2097152"/>
|
||||
<MX25L1635D id="C22415" page="256" size="2097152"/>
|
||||
<MX25L1635E id="C22515" page="256" size="2097152"/>
|
||||
<MX25L1636D id="C22415" page="256" size="2097152"/>
|
||||
<MX25L1636E id="C22515" page="256" size="2097152"/>
|
||||
<MX25L1673E id="C22415" page="256" size="2097152"/>
|
||||
<MX25L1675E id="C22415" page="256" size="2097152"/>
|
||||
<MX25L2005 id="C22012" page="256" size="262144"/>
|
||||
<MX25L2005C id="C22012" page="256" size="262144"/>
|
||||
<MX25L2006E id="C22012" page="256" size="262144"/>
|
||||
<MX25L2026C id="C22012" page="256" size="262144"/>
|
||||
<MX25L2026E id="C22012" page="256" size="262144"/>
|
||||
<MX25L3205 id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3205A id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3205D id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3206E id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3208E id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3225D id="C25E16" page="256" size="4194304"/>
|
||||
<MX25L3233F id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3235D id="C25E16" page="256" size="4194304"/>
|
||||
<MX25L3235E id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3236D id="C25E16" page="256" size="4194304"/>
|
||||
<MX25L3237D id="C25E16" page="256" size="4194304"/>
|
||||
<MX25L3239E id="C22536" page="256" size="4194304"/>
|
||||
<MX25L3273E id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3273F id="C22016" page="256" size="4194304"/>
|
||||
<MX25L3275E id="C22016" page="256" size="4194304"/>
|
||||
<MX25L4005 id="C22013" page="256" size="524288"/>
|
||||
<MX25L4005A id="C22013" page="256" size="524288"/>
|
||||
<MX25L4005C id="C22013" page="256" size="524288"/>
|
||||
<MX25L4006E id="C22013" page="256" size="524288"/>
|
||||
<MX25L4026E id="C22013" page="256" size="524288"/>
|
||||
<MX25L512 id="C22010" page="256" size="65536"/>
|
||||
<MX25L512A id="C22010" page="256" size="65536"/>
|
||||
<MX25L512C id="C22010" page="256" size="65536"/>
|
||||
<MX25L5121E id="C22210" page="32" size="65536"/>
|
||||
<MX25L6405 id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6405D id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6406E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6408E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6433F id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6435E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6436E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6436F id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6439E id="C22537" page="256" size="8388608"/>
|
||||
<MX25L6445E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6465E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6473E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6473F id="C22017" page="256" size="8388608"/>
|
||||
<MX25L6475E id="C22017" page="256" size="8388608"/>
|
||||
<MX25L8005 id="C22014" page="256" size="1048576"/>
|
||||
<MX25L8006E id="C22014" page="256" size="1048576"/>
|
||||
<MX25L8008E id="C22014" page="256" size="1048576"/>
|
||||
<MX25L8035E id="C22014" page="256" size="1048576"/>
|
||||
<MX25L8036E id="C22014" page="256" size="1048576"/>
|
||||
<MX25L8073E id="C22014" page="256" size="1048576"/>
|
||||
<MX25L8075E id="C22014" page="256" size="1048576"/>
|
||||
<MX25L25673G id="C22019" page="256" size="33554432"/>
|
||||
<MX25R512F id="C22810" page="256" size="65536"/>
|
||||
<MX25R1035F id="C22811" page="256" size="131072"/>
|
||||
<MX25R1635F id="C22815" page="256" size="2097152"/>
|
||||
<MX25R2035F id="C22812" page="256" size="262144"/>
|
||||
<MX25R3235F id="C22816" page="256" size="4194304"/>
|
||||
<MX25R4035F id="C22813" page="256" size="524288"/>
|
||||
<MX25R6435F id="C22817" page="256" size="8388608"/>
|
||||
<MX25R8035F id="C22814" page="256" size="1048576"/>
|
||||
<MX25U1001E_1.8V id="C22531" page="256" size="131072"/>
|
||||
<MX25U12835F_1.8V id="C22518" page="256" size="16777216"/>
|
||||
<MX25U25673G_1.8V id="C22539" page="256" size="33554432"/>
|
||||
<MX25U25645G_1.8V id="C22539" page="256" size="33554432"/>
|
||||
<MX25U1635E_1.8V id="C22535" page="256" size="2097152"/>
|
||||
<MX25U1635F_1.8V id="C22535" page="256" size="2097152"/>
|
||||
<MX25U2032E_1.8V id="C22532" page="256" size="262144"/>
|
||||
<MX25U2033E_1.8V id="C22532" page="256" size="262144"/>
|
||||
<MX25U3235E_1.8V id="C22536" page="256" size="4194304"/>
|
||||
<MX25U3235F_1.8V id="C22536" page="256" size="4194304"/>
|
||||
<MX25U4032E_1.8V id="C22533" page="256" size="524288"/>
|
||||
<MX25U4033E_1.8V id="C22533" page="256" size="524288"/>
|
||||
<MX25U4035_1.8V id="C22533" page="256" size="524288"/>
|
||||
<MX25U5121E_1.8V id="C22530" page="256" size="65536"/>
|
||||
<MX25U6435F_1.8V id="C22537" page="256" size="8388608"/>
|
||||
<MX25U6473F_1.8V id="C22537" page="256" size="8388608"/>
|
||||
<MX25U8032E_1.8V id="C22534" page="256" size="1048576"/>
|
||||
<MX25U8033E_1.8V id="C22534" page="256" size="1048576"/>
|
||||
<MX25U8035_1.8V id="C22534" page="256" size="1048576"/>
|
||||
<MX25U8035E_1.8V id="C22534" page="256" size="1048576"/>
|
||||
<MX25U12873F_1.8V id="C22538" page="256" size="16777216"/>
|
||||
<MX25V1006E id="C22011" page="256" size="131072"/>
|
||||
<MX25V1035F id="C22311" page="256" size="131072"/>
|
||||
<MX25V2006E id="C22012" page="256" size="262144"/>
|
||||
<MX25V2035F id="C22312" page="256" size="262144"/>
|
||||
<MX25V512 id="C22010" page="256" size="65536"/>
|
||||
<MX25V512C id="C22010" page="256" size="65536"/>
|
||||
<MX25V512E id="C22010" page="256" size="65536"/>
|
||||
<MX25V512F id="C22310" page="256" size="65536"/>
|
||||
<MX25V4005 id="C22013" page="256" size="524288"/>
|
||||
<MX25V4006E id="C22013" page="256" size="524288"/>
|
||||
<MX25V4035 id="C22553" page="256" size="524288"/>
|
||||
<MX25V4035F id="C22313" page="256" size="524288"/>
|
||||
<MX25V8005 id="C22014" page="256" size="1048576"/>
|
||||
<MX25V8006E id="C22014" page="256" size="1048576"/>
|
||||
<MX25V8035 id="C22554" page="256" size="1048576"/>
|
||||
<MX25V8035F id="C22314" page="256" size="1048576"/>
|
||||
<MX66U51235F_1.8V id="C2253A" page="256" size="67108864"/>
|
||||
<MX66U1G45G_1.8V id="C2253B" page="256" size="134217728"/>
|
||||
</MACRONIX>
|
||||
<MICROCHIP>
|
||||
<_25AA010A page="16" size="128" spicmd="95"/>
|
||||
<_25AA020A page="16" size="256" spicmd="95"/>
|
||||
<_25AA040 page="16" size="512" spicmd="95"/>
|
||||
<_25AA040A page="16" size="512" spicmd="95"/>
|
||||
<_25AA080 page="16" size="1024" spicmd="95"/>
|
||||
<_25AA080A page="16" size="1024" spicmd="95"/>
|
||||
<_25AA080B page="32" size="1024" spicmd="95"/>
|
||||
<_25AA080C page="16" size="1024" spicmd="95"/>
|
||||
<_25AA080D page="32" size="1024" spicmd="95"/>
|
||||
<_25AA1024 page="256" size="131072" spicmd="95"/>
|
||||
<_25AA128 page="64" size="16384" spicmd="95"/>
|
||||
<_25AA160 page="16" size="2048" spicmd="95"/>
|
||||
<_25AA160A page="16" size="2048" spicmd="95"/>
|
||||
<_25AA160B page="32" size="2048" spicmd="95"/>
|
||||
<_25AA256 page="64" size="32768" spicmd="95"/>
|
||||
<_25AA320 page="32" size="4096" spicmd="95"/>
|
||||
<_25AA512 page="128" size="65536" spicmd="95"/>
|
||||
<_25AA640 page="32" size="8192" spicmd="95"/>
|
||||
<_25C040 page="16" size="512" spicmd="95"/>
|
||||
<_25C080 page="16" size="1024" spicmd="95"/>
|
||||
<_25C160 page="16" size="2048" spicmd="95"/>
|
||||
<_25C320 page="32" size="4096" spicmd="95"/>
|
||||
<_25C640 page="32" size="8192" spicmd="95"/>
|
||||
<_25LC010A page="16" size="128" spicmd="95"/>
|
||||
<_25LC020A page="16" size="256" spicmd="95"/>
|
||||
<_25LC040 page="16" size="512" spicmd="95"/>
|
||||
<_25LC040A page="16" size="512" spicmd="95"/>
|
||||
<_25LC080 page="16" size="1024" spicmd="95"/>
|
||||
<_25LC080A page="16" size="1024" spicmd="95"/>
|
||||
<_25LC080B page="32" size="1024" spicmd="95"/>
|
||||
<_25LC080C page="16" size="1024" spicmd="95"/>
|
||||
<_25LC080D page="32" size="1024" spicmd="95"/>
|
||||
<_25LC1024 page="256" size="131072" spicmd="95"/>
|
||||
<_25LC128 page="64" size="16384" spicmd="95"/>
|
||||
<_25LC160 page="16" size="2048" spicmd="95"/>
|
||||
<_25LC160A page="16" size="2048" spicmd="95"/>
|
||||
<_25LC160B page="32" size="2048" spicmd="95"/>
|
||||
<_25LC256 page="64" size="32768" spicmd="95"/>
|
||||
<_25LC320 page="32" size="4096" spicmd="95"/>
|
||||
<_25LC512 page="128" size="65536" spicmd="95"/>
|
||||
<_25LC640 page="32" size="8192" spicmd="95"/>
|
||||
</MICROCHIP>
|
||||
<MICRON>
|
||||
<N25Q032A id="20BA16" page="256" size="4194304"/>
|
||||
<N25Q064A id="20BA17" page="256" size="8388608"/>
|
||||
<N25Q256A13 id="20BA19" page="256" size="33554432"/>
|
||||
<N25Q512A83 id="20BA20" page="256" size="67108864"/>
|
||||
<N25W256A11 id="2CCB19" page="256" size="33554432"/>
|
||||
<MT25QL128AB id="20BA18" page="256" size="16777216"/>
|
||||
<MT25QL256A id="20BA19" page="256" size="33554432"/>
|
||||
<MT25QL512A id="20BA20" page="256" size="67108864"/>
|
||||
<MT25QL02GC id="20BA22" page="256" size="268435456"/>
|
||||
<MT25QU256 id="20BB19" page="256" size="33554432"/>
|
||||
<N25Q00AA13G id="20BA21" page="256" size="134217728"/>
|
||||
</MICRON>
|
||||
<MSHINE>
|
||||
<MS25X512 id="373010" page="256" size="65536"/>
|
||||
<MS25X10 id="373011" page="256" size="131072"/>
|
||||
<MS25X20 id="373012" page="256" size="262144"/>
|
||||
<MS25X40 id="373013" page="256" size="524288"/>
|
||||
<MS25X80 id="373014" page="256" size="1048576"/>
|
||||
<MS25X16 id="373015" page="256" size="2097152"/>
|
||||
<MS25X32 id="373016" page="256" size="4194304"/>
|
||||
</MSHINE>
|
||||
<NANTRONICS>
|
||||
<N25S10 id="D53011" page="256" size="131072"/>
|
||||
<N25S20 id="D53012" page="256" size="262144"/>
|
||||
<N25S40 id="D53013" page="256" size="524288"/>
|
||||
<N25S16 id="D53015" page="256" size="2097152"/>
|
||||
<N25S32 id="D53016" page="256" size="4194304"/>
|
||||
<N25S80 id="D53014" page="256" size="1048576"/>
|
||||
</NANTRONICS>
|
||||
<NEXFLASH>
|
||||
<NX25P10 id="9D7F7C" page="256" size="131072"/>
|
||||
<NX25P16 id="EF2015" page="256" size="2097152"/>
|
||||
<NX25P20 id="9D7F7D" page="256" size="262144"/>
|
||||
<NX25P32 id="EF2016" page="256" size="4194304"/>
|
||||
<NX25P40 id="9D7F7E" page="256" size="524288"/>
|
||||
<NX25P80 id="9D7F13" page="256" size="1048576"/>
|
||||
</NEXFLASH>
|
||||
<NUMONYX>
|
||||
<M45PE16 id="204015" page="256" size="2097152" script="blockerase.pas"/>
|
||||
<M25P05 id="202010" page="128" size="65536"/>
|
||||
<M25P05A id="202010" page="256" size="65536"/>
|
||||
<M25P10 id="202011" page="128" size="131072"/>
|
||||
<M25P10A id="202011" page="256" size="131072"/>
|
||||
<M25P20 id="202012" page="256" size="262144"/>
|
||||
<M25P40 id="202013" page="256" size="524288"/>
|
||||
<M25P80 id="202014" page="256" size="1048576"/>
|
||||
<M25P16 id="202015" page="256" size="2097152"/>
|
||||
<M25P32 id="202016" page="256" size="4194304"/>
|
||||
<M25P64 id="202017" page="256" size="8388608"/>
|
||||
<M25P128_ST25P28V6G id="202018" page="256" size="16777216"/>
|
||||
<M25PE10 id="208011" page="256" size="131072"/>
|
||||
<M25PE16 id="208015" page="256" size="2097152"/>
|
||||
<M25PE20 id="208012" page="256" size="262144"/>
|
||||
<M25PE40 id="208013" page="256" size="524288"/>
|
||||
<M25PE80 id="208014" page="256" size="1048576"/>
|
||||
</NUMONYX>
|
||||
<PCT>
|
||||
<PCT25LF020A id="BF4300" page="256" size="262144"/>
|
||||
<PCT25VF010A id="BF4900" page="256" size="131072"/>
|
||||
<PCT25VF016B id="BF2541" page="256" size="2097152"/>
|
||||
<PCT25VF020A id="BF4300" page="256" size="262144"/>
|
||||
<PCT25VF032B id="BF254A" page="256" size="4194304"/>
|
||||
<PCT25VF040A id="BF4400" page="256" size="524288"/>
|
||||
<PCT25VF040B id="BF258D" page="256" size="524288"/>
|
||||
<PCT25VF080B id="BF258E" page="256" size="1048576"/>
|
||||
</PCT>
|
||||
<RAMTRON>
|
||||
<FM25040 page="32" size="512" spicmd="95"/>
|
||||
<FM25C160 page="32" size="2048" spicmd="95"/>
|
||||
<FM25640 page="32" size="8192" spicmd="95"/>
|
||||
<FM25CL04 page="32" size="512" spicmd="95"/>
|
||||
<FM25CL64 page="32" size="8192" spicmd="95"/>
|
||||
<FM25L16 page="32" size="2048" spicmd="95"/>
|
||||
<FM25L256 page="32" size="32768" spicmd="95"/>
|
||||
<FM25L512 page="32" size="65536" spicmd="95"/>
|
||||
<FM25W256 page="32" size="32768" spicmd="95"/>
|
||||
</RAMTRON>
|
||||
<RENESAS>
|
||||
<HN58X2502 page="16" size="256" spicmd="95"/>
|
||||
<HN58X2504 page="16" size="512" spicmd="95"/>
|
||||
<HN58X2508 page="16" size="1024" spicmd="95"/>
|
||||
<HN58X25128 page="64" size="16384" spicmd="95"/>
|
||||
<HN58X2516 page="16" size="2048" spicmd="95"/>
|
||||
<HN58X25256 page="64" size="32768" spicmd="95"/>
|
||||
<HN58X2532 page="32" size="4096" spicmd="95"/>
|
||||
<HN58X2564 page="32" size="8192" spicmd="95"/>
|
||||
<R1EX25002A page="16" size="256" spicmd="95"/>
|
||||
<R1EX25004A page="16" size="512" spicmd="95"/>
|
||||
<R1EX25008A page="16" size="1024" spicmd="95"/>
|
||||
<R1EX25016A page="16" size="2048" spicmd="95"/>
|
||||
<R1EX25032A page="32" size="4096" spicmd="95"/>
|
||||
<R1EX25064A page="32" size="8192" spicmd="95"/>
|
||||
</RENESAS>
|
||||
<ROHM>
|
||||
<BR25010 page="16" size="128" spicmd="95"/>
|
||||
<BR25020 page="16" size="256" spicmd="95"/>
|
||||
<BR25040 page="16" size="512" spicmd="95"/>
|
||||
<BR25080 page="16" size="1024" spicmd="95"/>
|
||||
<BR25160 page="16" size="2048" spicmd="95"/>
|
||||
<BR25320 page="32" size="4096" spicmd="95"/>
|
||||
<BR25H010 page="16" size="128" spicmd="95"/>
|
||||
<BR25H020 page="16" size="256" spicmd="95"/>
|
||||
<BR25H040 page="16" size="512" spicmd="95"/>
|
||||
<BR25H080 page="16" size="1024" spicmd="95"/>
|
||||
<BR25H160 page="16" size="2048" spicmd="95"/>
|
||||
<BR25H320 page="32" size="4096" spicmd="95"/>
|
||||
<BR25L010 page="16" size="128" spicmd="95"/>
|
||||
<BR25L010 page="16" size="128" spicmd="95"/>
|
||||
<BR25L020 page="16" size="256" spicmd="95"/>
|
||||
<BR25L040 page="16" size="512" spicmd="95"/>
|
||||
<BR25L080 page="16" size="1024" spicmd="95"/>
|
||||
<BR25L160 page="16" size="2048" spicmd="95"/>
|
||||
<BR25L320 page="32" size="4096" spicmd="95"/>
|
||||
<BR25L640 page="32" size="8192" spicmd="95"/>
|
||||
<BR25S320 page="32" size="4096" spicmd="95"/>
|
||||
<BR25S640 page="32" size="8192" spicmd="95"/>
|
||||
<BR25S128 page="64" size="16384" spicmd="95"/>
|
||||
<BR25S256 page="64" size="32768" spicmd="95"/>
|
||||
<BR95010 page="8" size="128" spicmd="95"/>
|
||||
<BR95020 page="8" size="256" spicmd="95"/>
|
||||
<BR95040 page="8" size="512" spicmd="95"/>
|
||||
<BR95080 page="32" size="1024" spicmd="95"/>
|
||||
<BR95160 page="32" size="2048" spicmd="95"/>
|
||||
</ROHM>
|
||||
<SAIFUN>
|
||||
<SA25C1024H page="128" size="131072" spicmd="95"/>
|
||||
<SA25C1024L page="128" size="131072" spicmd="95"/>
|
||||
<SA25C512H page="128" size="65536" spicmd="95"/>
|
||||
<SA25C512L page="128" size="65536" spicmd="95"/>
|
||||
</SAIFUN>
|
||||
<SANYO>
|
||||
<LE25FU106BMA id="621D" page="256" size="131072"/>
|
||||
<LE25FU206MA id="6244" page="256" size="262144"/>
|
||||
<LE25FU406BMA id="621E" page="256" size="524288"/>
|
||||
<LE25FW206M id="6226" page="256" size="262144"/>
|
||||
<LE25FW406M id="6207" page="256" size="524288"/>
|
||||
<LE25FW406AM id="621A" page="256" size="524288"/>
|
||||
<LE25FW806M id="6226" page="256" size="1048576"/>
|
||||
</SANYO>
|
||||
<SEIKO>
|
||||
<S-25A010A page="8" size="128" spicmd="95"/>
|
||||
<S-25A020A page="8" size="256" spicmd="95"/>
|
||||
<S-25A040A page="8" size="512" spicmd="95"/>
|
||||
<S-25A080A page="32" size="1024" spicmd="95"/>
|
||||
<S-25A160A page="32" size="2048" spicmd="95"/>
|
||||
<S-25A320A page="32" size="4096" spicmd="95"/>
|
||||
<S-25A640A page="32" size="8192" spicmd="95"/>
|
||||
<S-25C010A page="8" size="128" spicmd="95"/>
|
||||
<S-25C020A page="8" size="256" spicmd="95"/>
|
||||
<S-25C040A page="8" size="512" spicmd="95"/>
|
||||
<S-25C080A page="32" size="1024" spicmd="95"/>
|
||||
<S-25C160A page="32" size="2048" spicmd="95"/>
|
||||
<S-25C320A page="32" size="4096" spicmd="95"/>
|
||||
<S-25C640A page="32" size="8192" spicmd="95"/>
|
||||
</SEIKO>
|
||||
<SIEMENS>
|
||||
<SLA25010 page="16" size="128" spicmd="95"/>
|
||||
<SLA25020 page="16" size="256" spicmd="95"/>
|
||||
<SLA25040 page="16" size="512" spicmd="95"/>
|
||||
<SLA25080 page="32" size="1024" spicmd="95"/>
|
||||
<SLA25160 page="32" size="2048" spicmd="95"/>
|
||||
<SLA25320 page="32" size="4096" spicmd="95"/>
|
||||
<SLE25010 page="16" size="128" spicmd="95"/>
|
||||
<SLE25020 page="16" size="256" spicmd="95"/>
|
||||
<SLE25040 page="16" size="512" spicmd="95"/>
|
||||
<SLE25080 page="32" size="1024" spicmd="95"/>
|
||||
<SLE25160 page="32" size="2048" spicmd="95"/>
|
||||
<SLE25320 page="32" size="4096" spicmd="95"/>
|
||||
</SIEMENS>
|
||||
<SPANSION>
|
||||
<S25FL001D id="010210" page="256" size="131072"/>
|
||||
<S25FL002D id="010211" page="256" size="262144"/>
|
||||
<S25FL004A id="010212" page="256" size="524288"/>
|
||||
<S25FL004D id="010212" page="256" size="524288"/>
|
||||
<S25FL004K id="EF4013" page="256" size="524288"/>
|
||||
<S25FL008A id="010213" page="256" size="1048576"/>
|
||||
<S25FL008D id="010213" page="256" size="1048576"/>
|
||||
<S25FL008K id="EF4014" page="256" size="1048576"/>
|
||||
<S25FL016A id="010214" page="256" size="2097152"/>
|
||||
<S25FL016K id="EF4015" page="256" size="2097152"/>
|
||||
<S25FL032A id="010215" page="256" size="4194304"/>
|
||||
<S25FL032K id="EF4016" page="256" size="4194304"/>
|
||||
<S25FL032P id="010215" page="256" size="4194304"/>
|
||||
<S25FL040A id="010212" page="256" size="524288"/>
|
||||
<S25FL040A_BOT id="010226" page="256" size="524288"/>
|
||||
<S25FL040A_TOP id="010225" page="256" size="524288"/>
|
||||
<S25FL064A id="010216" page="256" size="8388608"/>
|
||||
<S25FL064K id="EF4017" page="256" size="8388608"/>
|
||||
<S25FL064P id="010216" page="256" size="8388608"/>
|
||||
<S25FL116K id="014015" page="256" size="2097152"/>
|
||||
<S25FL128K id="EF4018" page="256" size="16777216"/>
|
||||
<S25FL128P id="012018" page="256" size="16777216"/>
|
||||
<S25FL128S id="012018" page="256" size="16777216"/>
|
||||
<S25FL132K id="014016" page="256" size="4194304"/>
|
||||
<S25FL164K id="014017" page="256" size="8388608"/>
|
||||
<S25FL256S id="010219" page="256" size="33554432"/>
|
||||
</SPANSION>
|
||||
<SST>
|
||||
<SST25LF020A id="BF43" page="SSTB" size="262144"/>
|
||||
<SST25LF040A id="BF44" page="SSTB" size="524288"/>
|
||||
<SST25LF080A id="BF80" page="SSTB" size="1048576"/>
|
||||
<SST25VF010 id="BF49" page="SSTB" size="131072"/>
|
||||
<SST25VF010A id="BF49" page="SSTB" size="131072"/>
|
||||
<SST25VF016B id="BF2541" page="SSTW" size="2097152"/>
|
||||
<SST25VF020 id="BF43" page="SSTB" size="262144"/>
|
||||
<SST25VF020A id="BF43" page="SSTB" size="262144"/>
|
||||
<SST25VF020B id="BF258C" page="SSTW" size="262144"/>
|
||||
<SST25VF032B id="BF254A" page="SSTW" size="4194304"/>
|
||||
<SST25VF064C id="BF254B" page="256" size="8388608"/>
|
||||
<SST25VF040 id="BF44" page="SSTB" size="524288"/>
|
||||
<SST25VF040A id="BF44" page="SSTB" size="524288"/>
|
||||
<SST25VF040B id="BF258D" page="SSTW" size="524288"/>
|
||||
<SST25VF080B id="BF258E" page="SSTW" size="1048576"/>
|
||||
<SST25VF512 id="BF48" page="SSTB" size="65536"/>
|
||||
<SST25VF512A id="BF48" page="SSTB" size="65536"/>
|
||||
</SST>
|
||||
<ST>
|
||||
<M25C16 page="16" size="2048" spicmd="95"/>
|
||||
<M25PX16 id="207115" page="256" size="2097152"/>
|
||||
<M25PX32 id="207116" page="256" size="4194304"/>
|
||||
<M25PX64 id="207117" page="256" size="8388608"/>
|
||||
<M25PX80 id="207114" page="256" size="1048576"/>
|
||||
<M25W16 page="16" size="2048" spicmd="95"/>
|
||||
<M35080-3 page="32" size="1024" spicmd="95"/>
|
||||
<M35080-6 page="32" size="1024" spicmd="95"/>
|
||||
<M35080V6 page="32" size="1024" spicmd="95"/>
|
||||
<M35080VP page="32" size="1024" spicmd="95"/>
|
||||
<M95010 page="8" size="128" spicmd="95"/>
|
||||
<M95010R page="8" size="128" spicmd="95"/>
|
||||
<M95010W page="8" size="128" spicmd="95"/>
|
||||
<M95020 page="8" size="256" spicmd="95"/>
|
||||
<M95020R page="8" size="256" spicmd="95"/>
|
||||
<M95020W page="8" size="256" spicmd="95"/>
|
||||
<M95040 page="8" size="512" spicmd="95"/>
|
||||
<M95040R page="8" size="512" spicmd="95"/>
|
||||
<M95040W page="8" size="512" spicmd="95"/>
|
||||
<M95080 page="32" size="1024" spicmd="95"/>
|
||||
<M95080R page="32" size="1024" spicmd="95"/>
|
||||
<M95080W page="32" size="1024" spicmd="95"/>
|
||||
<M95128 page="64" size="16384" spicmd="95"/>
|
||||
<M95128R page="64" size="16384" spicmd="95"/>
|
||||
<M95128W page="64" size="16384" spicmd="95"/>
|
||||
<M95160 page="32" size="2048" spicmd="95"/>
|
||||
<M95160R page="32" size="2048" spicmd="95"/>
|
||||
<M95160W page="32" size="2048" spicmd="95"/>
|
||||
<M95256 page="64" size="32768" spicmd="95"/>
|
||||
<M95256R page="64" size="32768" spicmd="95"/>
|
||||
<M95256W page="64" size="32768" spicmd="95"/>
|
||||
<M95320 page="32" size="4096" spicmd="95"/>
|
||||
<M95320R page="32" size="4096" spicmd="95"/>
|
||||
<M95320W page="32" size="4096" spicmd="95"/>
|
||||
<M95512R page="128" size="65536" spicmd="95"/>
|
||||
<M95512W page="128" size="65536" spicmd="95"/>
|
||||
<M95640 page="32" size="8192" spicmd="95"/>
|
||||
<M95640R page="32" size="8192" spicmd="95"/>
|
||||
<M95640W page="32" size="8192" spicmd="95"/>
|
||||
<M95M01R page="256" size="131072" spicmd="95"/>
|
||||
<M95M01W page="256" size="131072" spicmd="95"/>
|
||||
<ST25C16 page="16" size="2048" spicmd="95"/>
|
||||
<ST25P05 id="202010" page="128" size="65536"/>
|
||||
<ST25P05A id="202010" page="256" size="65536"/>
|
||||
<ST25P10 id="202011" page="128" size="131072"/>
|
||||
<ST25P10A id="202011" page="256" size="131072"/>
|
||||
<ST25P16 id="202015" page="256" size="2097152"/>
|
||||
<ST25P20 id="202012" page="256" size="262144"/>
|
||||
<ST25P32 id="202016" page="256" size="4194304"/>
|
||||
<ST25P40 id="202013" page="256" size="524288"/>
|
||||
<ST25P64 id="202017" page="256" size="8388608"/>
|
||||
<ST25P80 id="202014" page="256" size="1048576"/>
|
||||
</ST>
|
||||
<WINBOND>
|
||||
<W25P10 id="EF1000" page="256" size="131072"/>
|
||||
<W25P16 id="EF2015" page="256" size="2097152"/>
|
||||
<W25P20 id="EF1100" page="256" size="262144"/>
|
||||
<W25P32 id="EF2016" page="256" size="4194304"/>
|
||||
<W25P40 id="EF1200" page="256" size="524288"/>
|
||||
<W25P64 id="EF2017" page="256" size="8388608"/>
|
||||
<W25P80 id="EF2014" page="256" size="1048576"/>
|
||||
<W25Q10EW_1.8V id="EF6011" page="256" size="131072"/>
|
||||
<W25Q128BV id="EF4018" page="256" size="16777216"/>
|
||||
<W25Q128FV id="EF4018" page="256" size="16777216"/>
|
||||
<W25Q128JV id="EF7018" page="256" size="16777216"/>
|
||||
<W25Q256FV id="EF4019" page="256" size="33554432"/>
|
||||
<W25Q256JV id="EF4019" page="256" size="33554432"/>
|
||||
<W25Q256JV id="EF7019" page="256" size="33554432"/>
|
||||
<W25Q128FW_1.8V id="EF6018" page="256" size="16777216"/>
|
||||
<W25Q16 id="EF4015" page="256" size="2097152"/>
|
||||
<W25Q16BV id="EF4015" page="256" size="2097152"/>
|
||||
<W25Q16CL id="EF4015" page="256" size="2097152"/>
|
||||
<W25Q16CV id="EF4015" page="256" size="2097152"/>
|
||||
<W25Q16DV id="EF4015" page="256" size="2097152"/>
|
||||
<W25Q16FW_1.8V id="EF6015" page="256" size="2097152"/>
|
||||
<W25Q16V id="EF4015" page="256" size="2097152"/>
|
||||
<W25Q20CL id="EF4012" page="256" size="262144"/>
|
||||
<W25Q20EW_1.8V id="EF6012" page="256" size="262144"/>
|
||||
<W25Q32 id="EF4016" page="256" size="4194304"/>
|
||||
<W25Q32BV id="EF4016" page="256" size="4194304"/>
|
||||
<W25Q32FV id="EF4016" page="256" size="4194304"/>
|
||||
<W25Q32FW_1.8V id="EF6016" page="256" size="4194304"/>
|
||||
<W25Q32V id="EF4016" page="256" size="4194304"/>
|
||||
<W25Q40BL id="EF4013" page="256" size="524288"/>
|
||||
<W25Q40BV id="EF4013" page="256" size="524288"/>
|
||||
<W25Q40CL id="EF4013" page="256" size="524288"/>
|
||||
<W25Q40EW_1.8V id="EF6013" page="256" size="524288"/>
|
||||
<W25Q64BV id="EF4017" page="256" size="8388608"/>
|
||||
<W25Q64CV id="EF4017" page="256" size="8388608"/>
|
||||
<W25Q64FV id="EF4017" page="256" size="8388608"/>
|
||||
<W25Q64JV id="EF4017" page="256" size="8388608"/>
|
||||
<W25Q64FW_1.8V id="EF6017" page="256" size="8388608"/>
|
||||
<W25Q80BL id="EF4014" page="256" size="1048576"/>
|
||||
<W25Q80BV id="EF4014" page="256" size="1048576"/>
|
||||
<W25Q80BW_1.8V id="EF5014" page="256" size="1048576"/>
|
||||
<W25Q80DV id="EF4014" page="256" size="1048576"/>
|
||||
<W25Q80EW_1.8V id="EF6014" page="256" size="1048576"/>
|
||||
<W25X05 id="EF3010" page="256" size="65536"/>
|
||||
<W25X05CL id="EF3010" page="256" size="65536"/>
|
||||
<W25X10AV id="EF3011" page="256" size="131072"/>
|
||||
<W25X10BL id="EF3011" page="256" size="131072"/>
|
||||
<W25X10BV id="EF3011" page="256" size="131072"/>
|
||||
<W25X10CL id="EF3011" page="256" size="131072"/>
|
||||
<W25X10L id="EF3011" page="256" size="131072"/>
|
||||
<W25X10V id="EF3011" page="256" size="131072"/>
|
||||
<W25X16 id="EF3015" page="256" size="2097152"/>
|
||||
<W25X16AL id="EF3015" page="256" size="2097152"/>
|
||||
<W25X16AV id="EF3015" page="256" size="2097152"/>
|
||||
<W25X16BV id="EF3015" page="256" size="2097152"/>
|
||||
<W25X16V id="EF3015" page="256" size="2097152"/>
|
||||
<W25X20AL id="EF3012" page="256" size="262144"/>
|
||||
<W25X20AV id="EF3012" page="256" size="262144"/>
|
||||
<W25X20BL id="EF3012" page="256" size="262144"/>
|
||||
<W25X20BV id="EF3012" page="256" size="262144"/>
|
||||
<W25X20CL id="EF3012" page="256" size="262144"/>
|
||||
<W25X20L id="EF3012" page="256" size="262144"/>
|
||||
<W25X20V id="EF3012" page="256" size="262144"/>
|
||||
<W25X32 id="EF3016" page="256" size="4194304"/>
|
||||
<W25X32AV id="EF3016" page="256" size="4194304"/>
|
||||
<W25X32BV id="EF3016" page="256" size="4194304"/>
|
||||
<W25X32V id="EF3016" page="256" size="4194304"/>
|
||||
<W25X40AL id="EF3013" page="256" size="524288"/>
|
||||
<W25X40AV id="EF3013" page="256" size="524288"/>
|
||||
<W25X40BL id="EF3013" page="256" size="524288"/>
|
||||
<W25X40BV id="EF3013" page="256" size="524288"/>
|
||||
<W25X40CL id="EF3013" page="256" size="524288"/>
|
||||
<W25X40L id="EF3013" page="256" size="524288"/>
|
||||
<W25X40V id="EF3013" page="256" size="524288"/>
|
||||
<W25X64 id="EF3017" page="256" size="8388608"/>
|
||||
<W25X64BV id="EF3017" page="256" size="8388608"/>
|
||||
<W25X64V id="EF3017" page="256" size="8388608"/>
|
||||
<W25X80AL id="EF3014" page="256" size="1048576"/>
|
||||
<W25X80AV id="EF3014" page="256" size="1048576"/>
|
||||
<W25X80BV id="EF3014" page="256" size="1048576"/>
|
||||
<W25X80L id="EF3014" page="256" size="1048576"/>
|
||||
<W25X80V id="EF3014" page="256" size="1048576"/>
|
||||
<W25M512JV id="EF7119" page="256" size="67108864"/>
|
||||
<W25R256JV id="EF4019" page="256" size="33554432"/>
|
||||
</WINBOND>
|
||||
<XICOR>
|
||||
<X25010 page="4" size="128" spicmd="95"/>
|
||||
<X25043 page="4" size="512" spicmd="95"/>
|
||||
<X25045 page="4" size="512" spicmd="95"/>
|
||||
<X25F008 page="32" size="1024" spicmd="95"/>
|
||||
<X25F016 page="32" size="2048" spicmd="95"/>
|
||||
<X25F032 page="32" size="4096" spicmd="95"/>
|
||||
<X25F064 page="32" size="8192" spicmd="95"/>
|
||||
<X5043 page="16" size="512" spicmd="95"/>
|
||||
<X5045 page="16" size="512" spicmd="95"/>
|
||||
</XICOR>
|
||||
<ZEMPRO>
|
||||
<TS25L512A id="372010" page="256" size="65536"/>
|
||||
<TS25L010A id="373011" page="256" size="131072"/>
|
||||
<TS25L020A id="373012" page="256" size="262144"/>
|
||||
<TS25L16AP id="202015" page="256" size="2097152"/>
|
||||
<TS25L16BP id="202015" page="256" size="2097152"/>
|
||||
<TS25L16P id="372015" page="256" size="2097152"/>
|
||||
</ZEMPRO>
|
||||
<Zbit>
|
||||
<ZB25D16 id="5E4015" page="256" size="2097152"/>
|
||||
</Zbit>
|
||||
<Berg_Micro>
|
||||
<BG25Q40A id="E04013" page="256" size="524288"/>
|
||||
<BG25Q80A id="E04014" page="256" size="1048576"/>
|
||||
<BG25Q16A id="E04015" page="256" size="2097152"/>
|
||||
<BG25Q32A id="E04016" page="256" size="4194304"/>
|
||||
</Berg_Micro>
|
||||
<ATMEL>
|
||||
<AT45DB021D id="1F2300" page="264" size="270336" spicmd="45"/>
|
||||
<AT45DB041D id="1F2400" page="264" size="540672" spicmd="45"/>
|
||||
<AT45DB161D id="1F2600" page="528" size="2162688" spicmd="45"/>
|
||||
<AT45DB321D id="1F2701" page="528" size="4325376" spicmd="45"/>
|
||||
<AT25010 page="8" size="128" spicmd="95"/>
|
||||
<AT25010A page="8" size="128" spicmd="95"/>
|
||||
<AT25020 page="8" size="256" spicmd="95"/>
|
||||
<AT25020A page="8" size="256" spicmd="95"/>
|
||||
<AT25040 page="8" size="512" spicmd="95"/>
|
||||
<AT25040A page="8" size="512" spicmd="95"/>
|
||||
<AT25080 page="32" size="1024" spicmd="95"/>
|
||||
<AT25080A page="32" size="1024" spicmd="95"/>
|
||||
<AT25080B page="32" size="1024" spicmd="95"/>
|
||||
<AT25160 page="32" size="2048" spicmd="95"/>
|
||||
<AT25160A page="32" size="2048" spicmd="95"/>
|
||||
<AT25160B page="32" size="2048" spicmd="95"/>
|
||||
<AT25320 page="32" size="4096" spicmd="95"/>
|
||||
<AT25320A page="32" size="4096" spicmd="95"/>
|
||||
<AT25320B page="32" size="4096" spicmd="95"/>
|
||||
<AT25640 page="32" size="8192" spicmd="95"/>
|
||||
<AT25640A page="32" size="8192" spicmd="95"/>
|
||||
<AT25640B page="32" size="8192" spicmd="95"/>
|
||||
<AT25128 page="64" size="16384" spicmd="95"/>
|
||||
<AT25128A page="64" size="16384" spicmd="95"/>
|
||||
<AT25128B page="64" size="16384" spicmd="95"/>
|
||||
<AT25256 page="64" size="32768" spicmd="95"/>
|
||||
<AT25256A page="64" size="32768" spicmd="95"/>
|
||||
<AT25256B page="64" size="32768" spicmd="95"/>
|
||||
<AT25512 page="128" size="65536" spicmd="95"/>
|
||||
<AT25DF021 id="1F4300" page="256" size="262144"/>
|
||||
<AT25DF041 id="1F4400" page="256" size="524288"/>
|
||||
<AT25DF041A id="1F4400" page="256" size="524288"/>
|
||||
<AT25SF041 id="1F8400" page="256" size="524288"/>
|
||||
<AT25DF081 id="1F4500" page="256" size="1048576"/>
|
||||
<AT25DF081A id="1F4500" page="256" size="1048576"/>
|
||||
<AT25DF161 id="1F4600" page="256" size="2097152"/>
|
||||
<AT25DF321 id="1F4700" page="256" size="4194304"/>
|
||||
<AT25DF321A id="1F4700" page="256" size="4194304"/>
|
||||
<AT25DF641 id="1F4800" page="256" size="8388608"/>
|
||||
<AT25F512 id="1F65" page="256" size="65536"/>
|
||||
<AT25F512A id="1F65" page="128" size="65536"/>
|
||||
<AT25F512B id="1F6500" page="256" size="65536"/>
|
||||
<AT25F1024 id="1F60" page="256" size="131072"/>
|
||||
<AT25F1024A id="1F60" page="256" size="131072"/>
|
||||
<AT25F2048 id="1F63" page="256" size="262144"/>
|
||||
<AT25F2048A id="1F63" page="256" size="262144"/>
|
||||
<AT25F4096 id="1F64" page="256" size="524288"/>
|
||||
<AT25F4096A id="1F64" page="256" size="524288"/>
|
||||
<AT25HP256 page="128" size="32768" spicmd="95"/>
|
||||
<AT25HP512 page="128" size="65536" spicmd="95"/>
|
||||
<AT26DF081 id="1F4500" page="256" size="1048576"/>
|
||||
<AT26DF081A id="1F4500" page="256" size="1048576"/>
|
||||
<AT26DF161 id="1F4600" page="256" size="2097152"/>
|
||||
<AT26DF161A id="1F4600" page="256" size="2097152"/>
|
||||
<AT26DF321 id="1F4700" page="256" size="4194304"/>
|
||||
<AT26DF321A id="1F4700" page="256" size="4194304"/>
|
||||
<AT26F004 id="1F0400" page="256" size="524288"/>
|
||||
</ATMEL>
|
||||
<ACE>
|
||||
<ACE25A128G_1.8V id="E06018" page="256" size="16777216"/>
|
||||
</ACE>
|
||||
<ATO>
|
||||
<ATO25Q32 id="9B3216" page="256" size="4194304"/>
|
||||
</ATO>
|
||||
<DOUQI>
|
||||
<DQ25Q64A id="544017" page="256" size="8388608"/>
|
||||
</DOUQI>
|
||||
<Fremont>
|
||||
<FT25H16 id="0E4015" page="256" size="2097152"/>
|
||||
</Fremont>
|
||||
<Fudan>
|
||||
<FM25Q04A id="A14013" page="256" size="524288"/>
|
||||
<FM25Q32 id="A14016" page="256" size="4194304"/>
|
||||
</Fudan>
|
||||
<Genitop>
|
||||
<GT25Q80A id="E04014" page="256" size="1048576"/>
|
||||
</Genitop>
|
||||
<Paragon>
|
||||
<PN25F04A id="E04013" page="256" size="524288"/>
|
||||
</Paragon>
|
||||
</SPI>
|
||||
<I2C>
|
||||
<_24Cxxx>
|
||||
<AT24C01 page="1" size="128" addrtype="0"/>
|
||||
<_24C01 page="1" size="128" addrtype="1"/>
|
||||
<_24C02 page="1" size="256" addrtype="1"/>
|
||||
<_24C04 page="1" size="512" addrtype="2"/>
|
||||
<_24C08 page="16" size="1024" addrtype="3"/>
|
||||
<_24C16 page="16" size="2048" addrtype="4"/>
|
||||
<_24C32 page="32" size="4096" addrtype="5"/>
|
||||
<_24C64 page="32" size="8192" addrtype="5"/>
|
||||
<_24C128 page="64" size="16384" addrtype="5"/>
|
||||
<_24C256 page="64" size="32768" addrtype="5"/>
|
||||
<_24C512 page="128" size="65536" addrtype="5"/>
|
||||
<_24C1024 page="128" size="131072" addrtype="6"/>
|
||||
</_24Cxxx>
|
||||
</I2C>
|
||||
<Microwire>
|
||||
<Microchip>
|
||||
<M93C86 size="2048" addrbitlen="10"/>
|
||||
<M93C76 size="1024" addrbitlen="10"/>
|
||||
<M93C66 size="512" addrbitlen="8"/>
|
||||
<M93C56 size="256" addrbitlen="8"/>
|
||||
<M93C46 size="128" addrbitlen="6"/>
|
||||
<M93C06 size="16" addrbitlen="6"/>
|
||||
</Microchip>
|
||||
</Microwire>
|
||||
</chiplist>
|
109
applications/plugins/spi_mem_manager/tools/chiplist_convert.py
Executable file
109
applications/plugins/spi_mem_manager/tools/chiplist_convert.py
Executable file
@@ -0,0 +1,109 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import xml.etree.ElementTree as XML
|
||||
import sys
|
||||
|
||||
|
||||
def getArgs():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="chiplist.xml to C array converter",
|
||||
)
|
||||
parser.add_argument("file", help="chiplist.xml file")
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def getXML(file):
|
||||
tree = XML.parse(file)
|
||||
root = tree.getroot()
|
||||
return root
|
||||
|
||||
|
||||
def parseChip(cur, arr, vendor, vendorCodeArr):
|
||||
chip = {}
|
||||
chipAttr = cur.attrib
|
||||
if "page" not in chipAttr: # chip without page size not supported
|
||||
return
|
||||
if "id" not in chipAttr: # I2C not supported yet
|
||||
return
|
||||
if len(chipAttr["id"]) < 6: # ID wihout capacity id not supported yet
|
||||
return
|
||||
chip["modelName"] = cur.tag
|
||||
chip["vendorEnum"] = "SPIMemChipVendor" + vendor
|
||||
chip["vendorID"] = "0x" + chipAttr["id"][0] + chipAttr["id"][1]
|
||||
chip["typeID"] = chipAttr["id"][2] + chipAttr["id"][3]
|
||||
chip["capacityID"] = chipAttr["id"][4] + chipAttr["id"][5]
|
||||
chip["size"] = chipAttr["size"]
|
||||
if chipAttr["page"] == "SSTW":
|
||||
chip["writeMode"] = "SPIMemChipWriteModeAAIWord"
|
||||
chip["pageSize"] = "1"
|
||||
elif chipAttr["page"] == "SSTB":
|
||||
chip["writeMode"] = "SPIMemChipWriteModeAAIByte"
|
||||
chip["pageSize"] = "1"
|
||||
else:
|
||||
chip["writeMode"] = "SPIMemChipWriteModePage"
|
||||
chip["pageSize"] = chipAttr["page"]
|
||||
arr.append(chip)
|
||||
vendorCodeArr[vendor].add(chip["vendorID"])
|
||||
|
||||
|
||||
def cleanEmptyVendors(vendors):
|
||||
for cur in list(vendors):
|
||||
if not vendors[cur]:
|
||||
vendors.pop(cur)
|
||||
|
||||
|
||||
def getVendors(xml, interface):
|
||||
arr = {}
|
||||
for cur in xml.find(interface):
|
||||
arr[cur.tag] = set()
|
||||
return arr
|
||||
|
||||
|
||||
def parseXML(xml, interface, vendorCodeArr):
|
||||
arr = []
|
||||
for vendor in xml.find(interface):
|
||||
for cur in vendor:
|
||||
parseChip(cur, arr, vendor.tag, vendorCodeArr)
|
||||
return arr
|
||||
|
||||
|
||||
def getVendorNameEnum(vendorID):
|
||||
try:
|
||||
return vendors[vendorID]
|
||||
except:
|
||||
print("Unknown vendor: " + vendorID)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def generateCArr(arr, filename):
|
||||
with open(filename, "w") as out:
|
||||
print('#include "spi_mem_chip_i.h"', file=out)
|
||||
print("const SPIMemChip SPIMemChips[] = {", file=out)
|
||||
for cur in arr:
|
||||
print(" {" + cur["vendorID"] + ",", file=out, end="")
|
||||
print(" 0x" + cur["typeID"] + ",", file=out, end="")
|
||||
print(" 0x" + cur["capacityID"] + ",", file=out, end="")
|
||||
print(' "' + cur["modelName"] + '",', file=out, end="")
|
||||
print(" " + cur["size"] + ",", file=out, end="")
|
||||
print(" " + cur["pageSize"] + ",", file=out, end="")
|
||||
print(" " + cur["vendorEnum"] + ",", file=out, end="")
|
||||
if cur == arr[-1]:
|
||||
print(" " + cur["writeMode"] + "}};", file=out)
|
||||
else:
|
||||
print(" " + cur["writeMode"] + "},", file=out)
|
||||
|
||||
def main():
|
||||
filename = "spi_mem_chip_arr.c"
|
||||
args = getArgs()
|
||||
xml = getXML(args.file)
|
||||
vendors = getVendors(xml, "SPI")
|
||||
chipArr = parseXML(xml, "SPI", vendors)
|
||||
cleanEmptyVendors(vendors)
|
||||
for cur in vendors:
|
||||
print(' {"' + cur + '", SPIMemChipVendor' + cur + "},")
|
||||
generateCArr(chipArr, filename)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Reference in New Issue
Block a user