Скажем дружно «привет, stcdude»

Прошло некоторое время, с тех пор как были последние подвижки над этой проблемой, но сейчас уже начинает что-то вырисоввываться.
Я оказался полным идиотом и несколько дней потратил на брутфорс поиск нестандартного полинома дл CRC-16 и как-то недоглядел, что это чексуммой оказалась простая сумма байт в посылке в порядке BIG ENDIAN. ну а после задача развалилась и стала тривиальной, протокол оказался прост как три копейки одной монетой. отдельное время потребовалось на написание пары дешевых, но очень сердитых парсеров на луа, которые мне живехонько сварганили базу данных по контроллерам STC, их меджикам, а после дополнили это инфой из CDB файла от Keil’а Сейчас это тупо табличка луашная, которую просто обновлять вмерживая в нее инфу. Не шибко чистое решение для бд, но пока сойдет. А уж будет тормозить — переедем на sqlite.
Ладно, мой ‘proof-of-concept’ код, который пока только и умеет, что запрашивать инфо пакет и декодировать его, и то не полностью, в действии можно увидеть ниже:

[necromant@lamia stcdude]$ ./stcdude -d ./mcudb/stc12x.lua -p /dev/ttyUSB1 -i
STC ISP Tool. (c) Necromant 2012
Using mcudb file: ./mcudb/stc12x.lua
Loading mcudb ./init.lua
Done with result 0
Loading mcudb ./mcudb/stc12x.lua
Done with result 0
Using /dev/ttyUSB1 @ 19200
fd is 3
Waiting for an infopacket from MCU...
 --- 8< ---
Part name:       STC12C5A32S2
Magic bytes:     D170
IRAM size:       256 (0x100) bytes
XRAM size:       1024 (0x400) bytes
IROM size:       32768 (0x8000) bytes
Tested ops: FixMe: implement reading of tested ops
Description:
        8051-based microcontroller with 1T(1-clock) High-Speed Core,
        Dual DPTR, 36-44 I/O Lines, 2 Timers/Counters, 2 PCA Timers,
        Alternative build-in oscillator,
        Independent Baud Rate Generator, Programmable Clock-Out,
        32K bytes flash ROM, 1280 bytes data RAM,
        On-chip EEPROM, 2 UARTs, WDT, ISP/IAP, A/D, CCP/PWMm
--- 8< ---

Все остальное - в этапе напилинга, копания показали, что существует по меньшей мере 3 вариации ISP протокола, так что мы далеки от полной поддержки всего, что только есть. Но их добавить будет уже просто. Желающие отведать чудной препреальфы могут сходить взять копию с моего шитхаба.

Добавить комментарий