diff --git a/doc/dump-mcu.py b/doc/dump-mcu.py index 0025395..b17e281 100644 --- a/doc/dump-mcu.py +++ b/doc/dump-mcu.py @@ -25,12 +25,12 @@ for i in range(MCU_TABLE_SIZE): inp.seek(mcu_name_offset) name_str = inp.read(16).split(b'\00')[0].decode("ascii") - # XXX: 1 KB are reserved one *some* MCUs for some reason - #if ee_size > 0 and not name_str.startswith("IAP"): - # ee_size -= 1024 + # TODO: With some MCUs, the amount of available EEPROM depends on the BSL version. + # Generally, newer BSLs free up a KB of additional EEPROM. Currently, always the + # maximum amount (with newer BSL) is reported. - # STC12C54xx always have 12 KB eeprom - if name_str.startswith("STC12C54"): + # STC12x54xx always have 12 KB eeprom + if name_str.startswith("STC12C54") or name_str.startswith("STC12LE54"): ee_size = 12 * 1024 print("MCUModel(name='%s', magic=0x%02x%02x, total=%d, code=%d, eeprom=%d)," % diff --git a/stcgal/models.py b/stcgal/models.py index fa310c8..995dae8 100644 --- a/stcgal/models.py +++ b/stcgal/models.py @@ -839,28 +839,28 @@ class MCUModelDatabase: MCUModel(name='STC12C5420', magic=0xe014, total=32768, code=20480, eeprom=12288), MCUModel(name='STC12C5424', magic=0xe018, total=32768, code=24576, eeprom=12288), MCUModel(name='STC12C5428', magic=0xe01c, total=32768, code=28672, eeprom=12288), - MCUModel(name='STC12LE5401AD', magic=0xe0e1, total=32768, code=1024, eeprom=22016), - MCUModel(name='STC12LE5402AD', magic=0xe0e2, total=32768, code=2048, eeprom=20992), - MCUModel(name='STC12LE5404AD', magic=0xe0e4, total=32768, code=4096, eeprom=18944), - MCUModel(name='STC12LE5406AD', magic=0xe0e6, total=32768, code=6144, eeprom=16896), - MCUModel(name='STC12LE5408AD', magic=0xe0e8, total=32768, code=8192, eeprom=10752), - MCUModel(name='STC12LE5410AD', magic=0xe0ea, total=32768, code=10240, eeprom=4608), - MCUModel(name='STC12LE5412AD', magic=0xe0ec, total=32768, code=12288, eeprom=11776), + MCUModel(name='STC12LE5401AD', magic=0xe0e1, total=32768, code=1024, eeprom=12288), + MCUModel(name='STC12LE5402AD', magic=0xe0e2, total=32768, code=2048, eeprom=12288), + MCUModel(name='STC12LE5404AD', magic=0xe0e4, total=32768, code=4096, eeprom=12288), + MCUModel(name='STC12LE5406AD', magic=0xe0e6, total=32768, code=6144, eeprom=12288), + MCUModel(name='STC12LE5408AD', magic=0xe0e8, total=32768, code=8192, eeprom=12288), + MCUModel(name='STC12LE5410AD', magic=0xe0ea, total=32768, code=10240, eeprom=12288), + MCUModel(name='STC12LE5412AD', magic=0xe0ec, total=32768, code=12288, eeprom=12288), MCUModel(name='STC12LE5416AD', magic=0xe0f0, total=32768, code=16384, eeprom=12288), - MCUModel(name='STC12LE5420AD', magic=0xe0f4, total=32768, code=20480, eeprom=8192), - MCUModel(name='STC12LE5424AD', magic=0xe0f8, total=32768, code=24576, eeprom=4096), - MCUModel(name='STC12LE5428AD', magic=0xe0fc, total=32768, code=28672, eeprom=0), - MCUModel(name='STC12LE5401', magic=0xe081, total=32768, code=1024, eeprom=22016), - MCUModel(name='STC12LE5402', magic=0xe082, total=32768, code=2048, eeprom=20992), - MCUModel(name='STC12LE5404', magic=0xe084, total=32768, code=4096, eeprom=18944), - MCUModel(name='STC12LE5406', magic=0xe086, total=32768, code=6144, eeprom=16896), - MCUModel(name='STC12LE5408', magic=0xe088, total=32768, code=8192, eeprom=10752), - MCUModel(name='STC12LE5410', magic=0xe08a, total=32768, code=10240, eeprom=4608), - MCUModel(name='STC12LE5412', magic=0xe08c, total=32768, code=12288, eeprom=11776), + MCUModel(name='STC12LE5420AD', magic=0xe0f4, total=32768, code=20480, eeprom=12288), + MCUModel(name='STC12LE5424AD', magic=0xe0f8, total=32768, code=24576, eeprom=12288), + MCUModel(name='STC12LE5428AD', magic=0xe0fc, total=32768, code=28672, eeprom=12288), + MCUModel(name='STC12LE5401', magic=0xe081, total=32768, code=1024, eeprom=12288), + MCUModel(name='STC12LE5402', magic=0xe082, total=32768, code=2048, eeprom=12288), + MCUModel(name='STC12LE5404', magic=0xe084, total=32768, code=4096, eeprom=12288), + MCUModel(name='STC12LE5406', magic=0xe086, total=32768, code=6144, eeprom=12288), + MCUModel(name='STC12LE5408', magic=0xe088, total=32768, code=8192, eeprom=12288), + MCUModel(name='STC12LE5410', magic=0xe08a, total=32768, code=10240, eeprom=12288), + MCUModel(name='STC12LE5412', magic=0xe08c, total=32768, code=12288, eeprom=12288), MCUModel(name='STC12LE5416', magic=0xe090, total=32768, code=16384, eeprom=12288), - MCUModel(name='STC12LE5420', magic=0xe094, total=32768, code=20480, eeprom=8192), - MCUModel(name='STC12LE5424', magic=0xe098, total=32768, code=24576, eeprom=4096), - MCUModel(name='STC12LE5428', magic=0xe09c, total=32768, code=28672, eeprom=0), + MCUModel(name='STC12LE5420', magic=0xe094, total=32768, code=20480, eeprom=12288), + MCUModel(name='STC12LE5424', magic=0xe098, total=32768, code=24576, eeprom=12288), + MCUModel(name='STC12LE5428', magic=0xe09c, total=32768, code=28672, eeprom=12288), MCUModel(name='STC12C1052AD', magic=0xf211, total=8192, code=1024, eeprom=5120), MCUModel(name='STC12C2052AD', magic=0xf212, total=8192, code=2048, eeprom=4096), MCUModel(name='STC12C3052AD', magic=0xf213, total=8192, code=3072, eeprom=3072),