logo elektroda
logo elektroda
X
logo elektroda

NiceMCU XH-WB3S BK7238 Flashing, Testing, Pinout, Development, Porting

divadiow 10095 313
ADVERTISEMENT
  • #301 21649860
    divadiow
    Level 35  
    if you start with new BLDC -> empty flash -> write OpenBL602 as below ->

    Screenshot of Bouffalo Lab Dev Cube showing firmware configuration paths for BL602

    BLDC 2mb read dump -> erase flash -> SharpBL602Tool 2mb dump write

    Code: Text
    Log in, to see the code


    OTA 1.18.57 -> 1.18.95 - wifi is OK ✅ -> OTA to 1.18.163 - wifi is OK ✅

    was original full_binary_with_app_OpenBL602_1.18.57.bin made with BLDC 1.4.8?

    Must be newer boot and dts and other image blobs that are compatible with newer SDK in recent BLDC?
  • ADVERTISEMENT
  • #302 21649921
    divadiow
    Level 35  
    for comparison purposes. same procedure to make 2mb dump. BUT using 1.4.8 program, dts, blsp_boot2.bin - same toml as 1.9.0

    Screenshot showing Bouffalo Lab Dev Cube 1.4.8 configuration for flashing firmware to BL602/604 chip.

    there are difference in the BL from 0, from 0x2000 and then a few other places. app partition from 0x11000 is the same I think

    Comparison of two binary files in hexadecimal format using WinMerge, with differences highlighted.

    https://github.com/WinMerge/winmerge/releases/tag/v2.16.50.2
  • ADVERTISEMENT
  • #303 21651255
    insmod
    Level 27  
    I soldered my T3-3S module to nicemcu board, and tried to take a backup via EF.
    It worked... somewhat. I did it in BK7231N mode, had to skip key check and ignore crc error.
    I tried to do flash read via custom operation, because T3 has 4mb flash.
    And well, it first dumped last 2mb into file, then first 2mb. If i fixed it manually, then file content matches the dump made in BKFIL.
    Attached both files, fixed and default.
    Getting bus success!
    Going to set baud rate setting (1500000)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1665C8
    Will now search for Flash def in out database...
    Flash def found! For: 1665C8
    Flash information: mid: 1665C8, icName: GD25WQ32E, manufacturer: GD, szMem: 2000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 38
    sr: a38
    final sr: a38
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    sr: 0
    sr: a00
    final sr: a00
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to read encryption key...
    Encryption key read done!
    Encryption key: 00000000 00000000 00000000 00000000
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^
    WARNING! Non-standard encryption key!
    If it's all zero, it may also mean that read is disabled.
    Please report to forum https://www.elektroda.com/rtvforum/forum51.html 
    Or just try using BK7231M mode 
    ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^
    Going to start reading at offset 0x00...
    Reading 0x00... Ok! Reading 0x1000... Ok! Reading 0x2000... Ok! Reading 0x3000... Ok! Reading 0x4000... Ok! Reading 0x5000... Ok! Reading 0x6000... Ok! Reading 0x7000... Ok! Reading 0x8000... Ok! Reading 0x9000... Ok! Reading 0xA000... Ok! Reading 0xB000... Ok! Reading 0xC000... Ok! Reading 0xD000... Ok! Reading 0xE000... Ok! Reading 0xF000... Ok! Reading 0x10000... Ok! Reading 0x11000... Ok! Reading 0x12000... Ok! Reading 0x13000... Ok! Reading 0x14000... Ok! Reading 0x15000... Ok! Reading 0x16000... Ok! Reading 0x17000... Ok! Reading 0x18000... Ok! Reading 0x19000... Ok! Reading 0x1A000... Ok! Reading 0x1B000... Ok! Reading 0x1C000... Ok! Reading 0x1D000... Ok! Reading 0x1E000... Ok! Reading 0x1F000... Ok! Reading 0x20000... Ok! Reading 0x21000... Ok! Reading 0x22000... Ok! Reading 0x23000... Ok! Reading 0x24000... Ok! Reading 0x25000... Ok! Reading 0x26000... Ok! Reading 0x27000... Ok! Reading 0x28000... Ok! Reading 0x29000... Ok! Reading 0x2A000... Ok! Reading 0x2B000... Ok! Reading 0x2C000... Ok! Reading 0x2D000... Ok! Reading 0x2E000... Ok! Reading 0x2F000... Ok! Reading 0x30000... Ok! Reading 0x31000... Ok! Reading 0x32000... Ok! Reading 0x33000... Ok! Reading 0x34000... Ok! Reading 0x35000... Ok! Reading 0x36000... Ok! Reading 0x37000... Ok! Reading 0x38000... Ok! Reading 0x39000... Ok! Reading 0x3A000... Ok! Reading 0x3B000... Ok! Reading 0x3C000... Ok! Reading 0x3D000... Ok! Reading 0x3E000... Ok! Reading 0x3F000... Ok! Reading 0x40000... Ok! Reading 0x41000... Ok! Reading 0x42000... Ok! Reading 0x43000... Ok! Reading 0x44000... Ok! Reading 0x45000... Ok! Reading 0x46000... Ok! Reading 0x47000... Ok! Reading 0x48000... Ok! Reading 0x49000... Ok! Reading 0x4A000... Ok! Reading 0x4B000... Ok! Reading 0x4C000... Ok! Reading 0x4D000... Ok! Reading 0x4E000... Ok! Reading 0x4F000... Ok! Reading 0x50000... Ok! Reading 0x51000... Ok! Reading 0x52000... Ok! Reading 0x53000... Ok! Reading 0x54000... Ok! Reading 0x55000... Ok! Reading 0x56000... Ok! Reading 0x57000... Ok! Reading 0x58000... Ok! Reading 0x59000... Ok! Reading 0x5A000... Ok! Reading 0x5B000... Ok! Reading 0x5C000... Ok! Reading 0x5D000... Ok! Reading 0x5E000... Ok! Reading 0x5F000... Ok! Reading 0x60000... Ok! Reading 0x61000... Ok! Reading 0x62000... Ok! Reading 0x63000... Ok! Reading 0x64000... Ok! Reading 0x65000... Ok! Reading 0x66000... Ok! Reading 0x67000... Ok! Reading 0x68000... Ok! Reading 0x69000... Ok! Reading 0x6A000... Ok! Reading 0x6B000... Ok! Reading 0x6C000... Ok! Reading 0x6D000... Ok! Reading 0x6E000... Ok! Reading 0x6F000... Ok! Reading 0x70000... Ok! Reading 0x71000... Ok! Reading 0x72000... Ok! Reading 0x73000... Ok! Reading 0x74000... Ok! Reading 0x75000... Ok! Reading 0x76000... Ok! Reading 0x77000... Ok! Reading 0x78000... Ok! Reading 0x79000... Ok! Reading 0x7A000... Ok! Reading 0x7B000... Ok! Reading 0x7C000... Ok! Reading 0x7D000... Ok! Reading 0x7E000... Ok! Reading 0x7F000... Ok! Reading 0x80000... Ok! Reading 0x81000... Ok! Reading 0x82000... Ok! Reading 0x83000... Ok! Reading 0x84000... Ok! Reading 0x85000... Ok! Reading 0x86000... Ok! Reading 0x87000... Ok! Reading 0x88000... Ok! Reading 0x89000... Ok! Reading 0x8A000... Ok! Reading 0x8B000... Ok! Reading 0x8C000... Ok! Reading 0x8D000... Ok! Reading 0x8E000... Ok! Reading 0x8F000... Ok! Reading 0x90000... Ok! Reading 0x91000... Ok! Reading 0x92000... Ok! Reading 0x93000... Ok! Reading 0x94000... Ok! Reading 0x95000... Ok! Reading 0x96000... Ok! Reading 0x97000... Ok! Reading 0x98000... Ok! Reading 0x99000... Ok! Reading 0x9A000... Ok! Reading 0x9B000... Ok! Reading 0x9C000... Ok! Reading 0x9D000... Ok! Reading 0x9E000... Ok! Reading 0x9F000... Ok! Reading 0xA0000... Ok! Reading 0xA1000... Ok! Reading 0xA2000... Ok! Reading 0xA3000... Ok! Reading 0xA4000... Ok! Reading 0xA5000... Ok! Reading 0xA6000... Ok! Reading 0xA7000... Ok! Reading 0xA8000... Ok! Reading 0xA9000... Ok! Reading 0xAA000... Ok! Reading 0xAB000... Ok! Reading 0xAC000... Ok! Reading 0xAD000... Ok! Reading 0xAE000... Ok! Reading 0xAF000... Ok! Reading 0xB0000... Ok! Reading 0xB1000... Ok! Reading 0xB2000... Ok! Reading 0xB3000... Ok! Reading 0xB4000... Ok! Reading 0xB5000... Ok! Reading 0xB6000... Ok! Reading 0xB7000... Ok! Reading 0xB8000... Ok! Reading 0xB9000... Ok! Reading 0xBA000... Ok! Reading 0xBB000... Ok! Reading 0xBC000... Ok! Reading 0xBD000... Ok! Reading 0xBE000... Ok! Reading 0xBF000... Ok! Reading 0xC0000... Ok! Reading 0xC1000... Ok! Reading 0xC2000... Ok! Reading 0xC3000... Ok! Reading 0xC4000... Ok! Reading 0xC5000... Ok! Reading 0xC6000... Ok! Reading 0xC7000... Ok! Reading 0xC8000... Ok! Reading 0xC9000... Ok! Reading 0xCA000... Ok! Reading 0xCB000... Ok! Reading 0xCC000... Ok! Reading 0xCD000... Ok! Reading 0xCE000... Ok! Reading 0xCF000... Ok! Reading 0xD0000... Ok! Reading 0xD1000... Ok! Reading 0xD2000... Ok! Reading 0xD3000... Ok! Reading 0xD4000... Ok! Reading 0xD5000... Ok! Reading 0xD6000... Ok! Reading 0xD7000... Ok! Reading 0xD8000... Ok! Reading 0xD9000... Ok! Reading 0xDA000... Ok! Reading 0xDB000... Ok! Reading 0xDC000... Ok! Reading 0xDD000... Ok! Reading 0xDE000... Ok! Reading 0xDF000... Ok! Reading 0xE0000... Ok! Reading 0xE1000... Ok! Reading 0xE2000... Ok! Reading 0xE3000... Ok! Reading 0xE4000... Ok! Reading 0xE5000... Ok! Reading 0xE6000... Ok! Reading 0xE7000... Ok! Reading 0xE8000... Ok! Reading 0xE9000... Ok! Reading 0xEA000... Ok! Reading 0xEB000... Ok! Reading 0xEC000... Ok! Reading 0xED000... Ok! Reading 0xEE000... Ok! Reading 0xEF000... Ok! Reading 0xF0000... Ok! Reading 0xF1000... Ok! Reading 0xF2000... Ok! Reading 0xF3000... Ok! Reading 0xF4000... Ok! Reading 0xF5000... Ok! Reading 0xF6000... Ok! Reading 0xF7000... Ok! Reading 0xF8000... Ok! Reading 0xF9000... Ok! Reading 0xFA000... Ok! Reading 0xFB000... Ok! Reading 0xFC000... Ok! Reading 0xFD000... Ok! Reading 0xFE000... Ok! Reading 0xFF000... Ok! Reading 0x100000... Ok! Reading 0x101000... Ok! Reading 0x102000... Ok! Reading 0x103000... Ok! Reading 0x104000... Ok! Reading 0x105000... Ok! Reading 0x106000... Ok! Reading 0x107000... Ok! Reading 0x108000... Ok! Reading 0x109000... Ok! Reading 0x10A000... Ok! Reading 0x10B000... Ok! Reading 0x10C000... Ok! Reading 0x10D000... Ok! Reading 0x10E000... Ok! Reading 0x10F000... Ok! Reading 0x110000... Ok! Reading 0x111000... Ok! Reading 0x112000... Ok! Reading 0x113000... Ok! Reading 0x114000... Ok! Reading 0x115000... Ok! Reading 0x116000... Ok! Reading 0x117000... Ok! Reading 0x118000... Ok! Reading 0x119000... Ok! Reading 0x11A000... Ok! Reading 0x11B000... Ok! Reading 0x11C000... Ok! Reading 0x11D000... Ok! Reading 0x11E000... Ok! Reading 0x11F000... Ok! Reading 0x120000... Ok! Reading 0x121000... Ok! Reading 0x122000... Ok! Reading 0x123000... Ok! Reading 0x124000... Ok! Reading 0x125000... Ok! Reading 0x126000... Ok! Reading 0x127000... Ok! Reading 0x128000... Ok! Reading 0x129000... Ok! Reading 0x12A000... Ok! Reading 0x12B000... Ok! Reading 0x12C000... Ok! Reading 0x12D000... Ok! Reading 0x12E000... Ok! Reading 0x12F000... Ok! Reading 0x130000... Ok! Reading 0x131000... Ok! Reading 0x132000... Ok! Reading 0x133000... Ok! Reading 0x134000... Ok! Reading 0x135000... Ok! Reading 0x136000... Ok! Reading 0x137000... Ok! Reading 0x138000... Ok! Reading 0x139000... Ok! Reading 0x13A000... Ok! Reading 0x13B000... Ok! Reading 0x13C000... Ok! Reading 0x13D000... Ok! Reading 0x13E000... Ok! Reading 0x13F000... Ok! Reading 0x140000... Ok! Reading 0x141000... Ok! Reading 0x142000... Ok! Reading 0x143000... Ok! Reading 0x144000... Ok! Reading 0x145000... Ok! Reading 0x146000... Ok! Reading 0x147000... Ok! Reading 0x148000... Ok! Reading 0x149000... Ok! Reading 0x14A000... Ok! Reading 0x14B000... Ok! Reading 0x14C000... Ok! Reading 0x14D000... Ok! Reading 0x14E000... Ok! Reading 0x14F000... Ok! Reading 0x150000... Ok! Reading 0x151000... Ok! Reading 0x152000... Ok! Reading 0x153000... Ok! Reading 0x154000... Ok! Reading 0x155000... Ok! Reading 0x156000... Ok! Reading 0x157000... Ok! Reading 0x158000... Ok! Reading 0x159000... Ok! Reading 0x15A000... Ok! Reading 0x15B000... Ok! Reading 0x15C000... Ok! Reading 0x15D000... Ok! Reading 0x15E000... Ok! Reading 0x15F000... Ok! Reading 0x160000... Ok! Reading 0x161000... Ok! Reading 0x162000... Ok! Reading 0x163000... Ok! Reading 0x164000... Ok! Reading 0x165000... Ok! Reading 0x166000... Ok! Reading 0x167000... Ok! Reading 0x168000... Ok! Reading 0x169000... Ok! Reading 0x16A000... Ok! Reading 0x16B000... Ok! Reading 0x16C000... Ok! Reading 0x16D000... Ok! Reading 0x16E000... Ok! Reading 0x16F000... Ok! Reading 0x170000... Ok! Reading 0x171000... Ok! Reading 0x172000... Ok! Reading 0x173000... Ok! Reading 0x174000... Ok! Reading 0x175000... Ok! Reading 0x176000... Ok! Reading 0x177000... Ok! Reading 0x178000... Ok! Reading 0x179000... Ok! Reading 0x17A000... Ok! Reading 0x17B000... Ok! Reading 0x17C000... Ok! Reading 0x17D000... Ok! Reading 0x17E000... Ok! Reading 0x17F000... Ok! Reading 0x180000... Ok! Reading 0x181000... Ok! Reading 0x182000... Ok! Reading 0x183000... Ok! Reading 0x184000... Ok! Reading 0x185000... Ok! Reading 0x186000... Ok! Reading 0x187000... Ok! Reading 0x188000... Ok! Reading 0x189000... Ok! Reading 0x18A000... Ok! Reading 0x18B000... Ok! Reading 0x18C000... Ok! Reading 0x18D000... Ok! Reading 0x18E000... Ok! Reading 0x18F000... Ok! Reading 0x190000... Ok! Reading 0x191000... Ok! Reading 0x192000... Ok! Reading 0x193000... Ok! Reading 0x194000... Ok! Reading 0x195000... Ok! Reading 0x196000... Ok! Reading 0x197000... Ok! Reading 0x198000... Ok! Reading 0x199000... Ok! Reading 0x19A000... Ok! Reading 0x19B000... Ok! Reading 0x19C000... Ok! Reading 0x19D000... Ok! Reading 0x19E000... Ok! Reading 0x19F000... Ok! Reading 0x1A0000... Ok! Reading 0x1A1000... Ok! Reading 0x1A2000... Ok! Reading 0x1A3000... Ok! Reading 0x1A4000... Ok! Reading 0x1A5000... Ok! Reading 0x1A6000... Ok! Reading 0x1A7000... Ok! Reading 0x1A8000... Ok! Reading 0x1A9000... Ok! Reading 0x1AA000... Ok! Reading 0x1AB000... Ok! Reading 0x1AC000... Ok! Reading 0x1AD000... Ok! Reading 0x1AE000... Ok! Reading 0x1AF000... Ok! Reading 0x1B0000... Ok! Reading 0x1B1000... Ok! Reading 0x1B2000... Ok! Reading 0x1B3000... Ok! Reading 0x1B4000... Ok! Reading 0x1B5000... Ok! Reading 0x1B6000... Ok! Reading 0x1B7000... Ok! Reading 0x1B8000... Ok! Reading 0x1B9000... Ok! Reading 0x1BA000... Ok! Reading 0x1BB000... Ok! Reading 0x1BC000... Ok! Reading 0x1BD000... Ok! Reading 0x1BE000... Ok! Reading 0x1BF000... Ok! Reading 0x1C0000... Ok! Reading 0x1C1000... Ok! Reading 0x1C2000... Ok! Reading 0x1C3000... Ok! Reading 0x1C4000... Ok! Reading 0x1C5000... Ok! Reading 0x1C6000... Ok! Reading 0x1C7000... Ok! Reading 0x1C8000... Ok! Reading 0x1C9000... Ok! Reading 0x1CA000... Ok! Reading 0x1CB000... Ok! Reading 0x1CC000... Ok! Reading 0x1CD000... Ok! Reading 0x1CE000... Ok! Reading 0x1CF000... Ok! Reading 0x1D0000... Ok! Reading 0x1D1000... Ok! Reading 0x1D2000... Ok! Reading 0x1D3000... Ok! Reading 0x1D4000... Ok! Reading 0x1D5000... Ok! Reading 0x1D6000... Ok! Reading 0x1D7000... Ok! Reading 0x1D8000... Ok! Reading 0x1D9000... Ok! Reading 0x1DA000... Ok! Reading 0x1DB000... Ok! Reading 0x1DC000... Ok! Reading 0x1DD000... Ok! Reading 0x1DE000... Ok! Reading 0x1DF000... Ok! Reading 0x1E0000... Ok! Reading 0x1E1000... Ok! Reading 0x1E2000... Ok! Reading 0x1E3000... Ok! Reading 0x1E4000... Ok! Reading 0x1E5000... Ok! Reading 0x1E6000... Ok! Reading 0x1E7000... Ok! Reading 0x1E8000... Ok! Reading 0x1E9000... Ok! Reading 0x1EA000... Ok! Reading 0x1EB000... Ok! Reading 0x1EC000... Ok! Reading 0x1ED000... Ok! Reading 0x1EE000... Ok! Reading 0x1EF000... Ok! Reading 0x1F0000... Ok! Reading 0x1F1000... Ok! Reading 0x1F2000... Ok! Reading 0x1F3000... Ok! Reading 0x1F4000... Ok! Reading 0x1F5000... Ok! Reading 0x1F6000... Ok! Reading 0x1F7000... Ok! Reading 0x1F8000... Ok! Reading 0x1F9000... Ok! Reading 0x1FA000... Ok! Reading 0x1FB000... Ok! Reading 0x1FC000... Ok! Reading 0x1FD000... Ok! Reading 0x1FE000... Ok! Reading 0x1FF000... Ok! Reading 0x200000... Ok! Reading 0x201000... Ok! Reading 0x202000... Ok! Reading 0x203000... Ok! Reading 0x204000... Ok! Reading 0x205000... Ok! Reading 0x206000... Ok! Reading 0x207000... Ok! Reading 0x208000... Ok! Reading 0x209000... Ok! Reading 0x20A000... Ok! Reading 0x20B000... Ok! Reading 0x20C000... Ok! Reading 0x20D000... Ok! Reading 0x20E000... Ok! Reading 0x20F000... Ok! Reading 0x210000... Ok! Reading 0x211000... Ok! Reading 0x212000... Ok! Reading 0x213000... Ok! Reading 0x214000... Ok! Reading 0x215000... Ok! Reading 0x216000... Ok! Reading 0x217000... Ok! Reading 0x218000... Ok! Reading 0x219000... Ok! Reading 0x21A000... Ok! Reading 0x21B000... Ok! Reading 0x21C000... Ok! Reading 0x21D000... Ok! Reading 0x21E000... Ok! Reading 0x21F000... Ok! Reading 0x220000... Ok! Reading 0x221000... Ok! Reading 0x222000... Ok! Reading 0x223000... Ok! Reading 0x224000... Ok! Reading 0x225000... Ok! Reading 0x226000... Ok! Reading 0x227000... Ok! Reading 0x228000... Ok! Reading 0x229000... Ok! Reading 0x22A000... Ok! Reading 0x22B000... Ok! Reading 0x22C000... Ok! Reading 0x22D000... Ok! Reading 0x22E000... Ok! Reading 0x22F000... Ok! Reading 0x230000... Ok! Reading 0x231000... Ok! Reading 0x232000... Ok! Reading 0x233000... Ok! Reading 0x234000... Ok! Reading 0x235000... Ok! Reading 0x236000... Ok! Reading 0x237000... Ok! Reading 0x238000... Ok! Reading 0x239000... Ok! Reading 0x23A000... Ok! Reading 0x23B000... Ok! Reading 0x23C000... Ok! Reading 0x23D000... Ok! Reading 0x23E000... Ok! Reading 0x23F000... Ok! Reading 0x240000... Ok! Reading 0x241000... Ok! Reading 0x242000... Ok! Reading 0x243000... Ok! Reading 0x244000... Ok! Reading 0x245000... Ok! Reading 0x246000... Ok! Reading 0x247000... Ok! Reading 0x248000... Ok! Reading 0x249000... Ok! Reading 0x24A000... Ok! Reading 0x24B000... Ok! Reading 0x24C000... Ok! Reading 0x24D000... Ok! Reading 0x24E000... Ok! Reading 0x24F000... Ok! Reading 0x250000... Ok! Reading 0x251000... Ok! Reading 0x252000... Ok! Reading 0x253000... Ok! Reading 0x254000... Ok! Reading 0x255000... Ok! Reading 0x256000... Ok! Reading 0x257000... Ok! Reading 0x258000... Ok! Reading 0x259000... Ok! Reading 0x25A000... Ok! Reading 0x25B000... Ok! Reading 0x25C000... Ok! Reading 0x25D000... Ok! Reading 0x25E000... Ok! Reading 0x25F000... Ok! Reading 0x260000... Ok! Reading 0x261000... Ok! Reading 0x262000... Ok! Reading 0x263000... Ok! Reading 0x264000... Ok! Reading 0x265000... Ok! Reading 0x266000... Ok! Reading 0x267000... Ok! Reading 0x268000... Ok! Reading 0x269000... Ok! Reading 0x26A000... Ok! Reading 0x26B000... Ok! Reading 0x26C000... Ok! Reading 0x26D000... Ok! Reading 0x26E000... Ok! Reading 0x26F000... Ok! Reading 0x270000... Ok! Reading 0x271000... Ok! Reading 0x272000... Ok! Reading 0x273000... Ok! Reading 0x274000... Ok! Reading 0x275000... Ok! Reading 0x276000... Ok! Reading 0x277000... Ok! Reading 0x278000... Ok! Reading 0x279000... Ok! Reading 0x27A000... Ok! Reading 0x27B000... Ok! Reading 0x27C000... Ok! Reading 0x27D000... Ok! Reading 0x27E000... Ok! Reading 0x27F000... Ok! Reading 0x280000... Ok! Reading 0x281000... Ok! Reading 0x282000... Ok! Reading 0x283000... Ok! Reading 0x284000... Ok! Reading 0x285000... Ok! Reading 0x286000... Ok! Reading 0x287000... Ok! Reading 0x288000... Ok! Reading 0x289000... Ok! Reading 0x28A000... Ok! Reading 0x28B000... Ok! Reading 0x28C000... Ok! Reading 0x28D000... Ok! Reading 0x28E000... Ok! Reading 0x28F000... Ok! Reading 0x290000... Ok! Reading 0x291000... Ok! Reading 0x292000... Ok! Reading 0x293000... Ok! Reading 0x294000... Ok! Reading 0x295000... Ok! Reading 0x296000... Ok! Reading 0x297000... Ok! Reading 0x298000... Ok! Reading 0x299000... Ok! Reading 0x29A000... Ok! Reading 0x29B000... Ok! Reading 0x29C000... Ok! Reading 0x29D000... Ok! Reading 0x29E000... Ok! Reading 0x29F000... Ok! Reading 0x2A0000... Ok! Reading 0x2A1000... Ok! Reading 0x2A2000... Ok! Reading 0x2A3000... Ok! Reading 0x2A4000... Ok! Reading 0x2A5000... Ok! Reading 0x2A6000... Ok! Reading 0x2A7000... Ok! Reading 0x2A8000... Ok! Reading 0x2A9000... Ok! Reading 0x2AA000... Ok! Reading 0x2AB000... Ok! Reading 0x2AC000... Ok! Reading 0x2AD000... Ok! Reading 0x2AE000... Ok! Reading 0x2AF000... Ok! Reading 0x2B0000... Ok! Reading 0x2B1000... Ok! Reading 0x2B2000... Ok! Reading 0x2B3000... Ok! Reading 0x2B4000... Ok! Reading 0x2B5000... Ok! Reading 0x2B6000... Ok! Reading 0x2B7000... Ok! Reading 0x2B8000... Ok! Reading 0x2B9000... Ok! Reading 0x2BA000... Ok! Reading 0x2BB000... Ok! Reading 0x2BC000... Ok! Reading 0x2BD000... Ok! Reading 0x2BE000... Ok! Reading 0x2BF000... Ok! Reading 0x2C0000... Ok! Reading 0x2C1000... Ok! Reading 0x2C2000... Ok! Reading 0x2C3000... Ok! Reading 0x2C4000... Ok! Reading 0x2C5000... Ok! Reading 0x2C6000... Ok! Reading 0x2C7000... Ok! Reading 0x2C8000... Ok! Reading 0x2C9000... Ok! Reading 0x2CA000... Ok! Reading 0x2CB000... Ok! Reading 0x2CC000... Ok! Reading 0x2CD000... Ok! Reading 0x2CE000... Ok! Reading 0x2CF000... Ok! Reading 0x2D0000... Ok! Reading 0x2D1000... Ok! Reading 0x2D2000... Ok! Reading 0x2D3000... Ok! Reading 0x2D4000... Ok! Reading 0x2D5000... Ok! Reading 0x2D6000... Ok! Reading 0x2D7000... Ok! Reading 0x2D8000... Ok! Reading 0x2D9000... Ok! Reading 0x2DA000... Ok! Reading 0x2DB000... Ok! Reading 0x2DC000... Ok! Reading 0x2DD000... Ok! Reading 0x2DE000... Ok! Reading 0x2DF000... Ok! Reading 0x2E0000... Ok! Reading 0x2E1000... Ok! Reading 0x2E2000... Ok! Reading 0x2E3000... Ok! Reading 0x2E4000... Ok! Reading 0x2E5000... Ok! Reading 0x2E6000... Ok! Reading 0x2E7000... Ok! Reading 0x2E8000... Ok! Reading 0x2E9000... Ok! Reading 0x2EA000... Ok! Reading 0x2EB000... Ok! Reading 0x2EC000... Ok! Reading 0x2ED000... Ok! Reading 0x2EE000... Ok! Reading 0x2EF000... Ok! Reading 0x2F0000... Ok! Reading 0x2F1000... Ok! Reading 0x2F2000... Ok! Reading 0x2F3000... Ok! Reading 0x2F4000... Ok! Reading 0x2F5000... Ok! Reading 0x2F6000... Ok! Reading 0x2F7000... Ok! Reading 0x2F8000... Ok! Reading 0x2F9000... Ok! Reading 0x2FA000... Ok! Reading 0x2FB000... Ok! Reading 0x2FC000... Ok! Reading 0x2FD000... Ok! Reading 0x2FE000... Ok! Reading 0x2FF000... Ok! Reading 0x300000... Ok! Reading 0x301000... Ok! Reading 0x302000... Ok! Reading 0x303000... Ok! Reading 0x304000... Ok! Reading 0x305000... Ok! Reading 0x306000... Ok! Reading 0x307000... Ok! Reading 0x308000... Ok! Reading 0x309000... Ok! Reading 0x30A000... Ok! Reading 0x30B000... Ok! Reading 0x30C000... Ok! Reading 0x30D000... Ok! Reading 0x30E000... Ok! Reading 0x30F000... Ok! Reading 0x310000... Ok! Reading 0x311000... Ok! Reading 0x312000... Ok! Reading 0x313000... Ok! Reading 0x314000... Ok! Reading 0x315000... Ok! Reading 0x316000... Ok! Reading 0x317000... Ok! Reading 0x318000... Ok! Reading 0x319000... Ok! Reading 0x31A000... Ok! Reading 0x31B000... Ok! Reading 0x31C000... Ok! Reading 0x31D000... Ok! Reading 0x31E000... Ok! Reading 0x31F000... Ok! Reading 0x320000... Ok! Reading 0x321000... Ok! Reading 0x322000... Ok! Reading 0x323000... Ok! Reading 0x324000... Ok! Reading 0x325000... Ok! Reading 0x326000... Ok! Reading 0x327000... Ok! Reading 0x328000... Ok! Reading 0x329000... Ok! Reading 0x32A000... Ok! Reading 0x32B000... Ok! Reading 0x32C000... Ok! Reading 0x32D000... Ok! Reading 0x32E000... Ok! Reading 0x32F000... Ok! Reading 0x330000... Ok! Reading 0x331000... Ok! Reading 0x332000... Ok! Reading 0x333000... Ok! Reading 0x334000... Ok! Reading 0x335000... Ok! Reading 0x336000... Ok! Reading 0x337000... Ok! Reading 0x338000... Ok! Reading 0x339000... Ok! Reading 0x33A000... Ok! Reading 0x33B000... Ok! Reading 0x33C000... Ok! Reading 0x33D000... Ok! Reading 0x33E000... Ok! Reading 0x33F000... Ok! Reading 0x340000... Ok! Reading 0x341000... Ok! Reading 0x342000... Ok! Reading 0x343000... Ok! Reading 0x344000... Ok! Reading 0x345000... Ok! Reading 0x346000... Ok! Reading 0x347000... Ok! Reading 0x348000... Ok! Reading 0x349000... Ok! Reading 0x34A000... Ok! Reading 0x34B000... Ok! Reading 0x34C000... Ok! Reading 0x34D000... Ok! Reading 0x34E000... Ok! Reading 0x34F000... Ok! Reading 0x350000... Ok! Reading 0x351000... Ok! Reading 0x352000... Ok! Reading 0x353000... Ok! Reading 0x354000... Ok! Reading 0x355000... Ok! Reading 0x356000... Ok! Reading 0x357000... Ok! Reading 0x358000... Ok! Reading 0x359000... Ok! Reading 0x35A000... Ok! Reading 0x35B000... Ok! Reading 0x35C000... Ok! Reading 0x35D000... Ok! Reading 0x35E000... Ok! Reading 0x35F000... Ok! Reading 0x360000... Ok! Reading 0x361000... Ok! Reading 0x362000... Ok! Reading 0x363000... Ok! Reading 0x364000... Ok! Reading 0x365000... Ok! Reading 0x366000... Ok! Reading 0x367000... Ok! Reading 0x368000... Ok! Reading 0x369000... Ok! Reading 0x36A000... Ok! Reading 0x36B000... Ok! Reading 0x36C000... Ok! Reading 0x36D000... Ok! Reading 0x36E000... Ok! Reading 0x36F000... Ok! Reading 0x370000... Ok! Reading 0x371000... Ok! Reading 0x372000... Ok! Reading 0x373000... Ok! Reading 0x374000... Ok! Reading 0x375000... Ok! Reading 0x376000... Ok! Reading 0x377000... Ok! Reading 0x378000... Ok! Reading 0x379000... Ok! Reading 0x37A000... Ok! Reading 0x37B000... Ok! Reading 0x37C000... Ok! Reading 0x37D000... Ok! Reading 0x37E000... Ok! Reading 0x37F000... Ok! Reading 0x380000... Ok! Reading 0x381000... Ok! Reading 0x382000... Ok! Reading 0x383000... Ok! Reading 0x384000... Ok! Reading 0x385000... Ok! Reading 0x386000... Ok! Reading 0x387000... Ok! Reading 0x388000... Ok! Reading 0x389000... Ok! Reading 0x38A000... Ok! Reading 0x38B000... Ok! Reading 0x38C000... Ok! Reading 0x38D000... Ok! Reading 0x38E000... Ok! Reading 0x38F000... Ok! Reading 0x390000... Ok! Reading 0x391000... Ok! Reading 0x392000... Ok! Reading 0x393000... Ok! Reading 0x394000... Ok! Reading 0x395000... Ok! Reading 0x396000... Ok! Reading 0x397000... Ok! Reading 0x398000... Ok! Reading 0x399000... Ok! Reading 0x39A000... Ok! Reading 0x39B000... Ok! Reading 0x39C000... Ok! Reading 0x39D000... Ok! Reading 0x39E000... Ok! Reading 0x39F000... Ok! Reading 0x3A0000... Ok! Reading 0x3A1000... Ok! Reading 0x3A2000... Ok! Reading 0x3A3000... Ok! Reading 0x3A4000... Ok! Reading 0x3A5000... Ok! Reading 0x3A6000... Ok! Reading 0x3A7000... Ok! Reading 0x3A8000... Ok! Reading 0x3A9000... Ok! Reading 0x3AA000... Ok! Reading 0x3AB000... Ok! Reading 0x3AC000... Ok! Reading 0x3AD000... Ok! Reading 0x3AE000... Ok! Reading 0x3AF000... Ok! Reading 0x3B0000... Ok! Reading 0x3B1000... Ok! Reading 0x3B2000... Ok! Reading 0x3B3000... Ok! Reading 0x3B4000... Ok! Reading 0x3B5000... Ok! Reading 0x3B6000... Ok! Reading 0x3B7000... Ok! Reading 0x3B8000... Ok! Reading 0x3B9000... Ok! Reading 0x3BA000... Ok! Reading 0x3BB000... Ok! Reading 0x3BC000... Ok! Reading 0x3BD000... Ok! Reading 0x3BE000... Ok! Reading 0x3BF000... Ok! Reading 0x3C0000... Ok! Reading 0x3C1000... Ok! Reading 0x3C2000... Ok! Reading 0x3C3000... Ok! Reading 0x3C4000... Ok! Reading 0x3C5000... Ok! Reading 0x3C6000... Ok! Reading 0x3C7000... Ok! Reading 0x3C8000... Ok! Reading 0x3C9000... Ok! Reading 0x3CA000... Ok! Reading 0x3CB000... Ok! Reading 0x3CC000... Ok! Reading 0x3CD000... Ok! Reading 0x3CE000... Ok! Reading 0x3CF000... Ok! Reading 0x3D0000... Ok! Reading 0x3D1000... Ok! Reading 0x3D2000... Ok! Reading 0x3D3000... Ok! Reading 0x3D4000... Ok! Reading 0x3D5000... Ok! Reading 0x3D6000... Ok! Reading 0x3D7000... Ok! Reading 0x3D8000... Ok! Reading 0x3D9000... Ok! Reading 0x3DA000... Ok! Reading 0x3DB000... Ok! Reading 0x3DC000... Ok! Reading 0x3DD000... Ok! Reading 0x3DE000... Ok! Reading 0x3DF000... Ok! Reading 0x3E0000... Ok! Reading 0x3E1000... Ok! Reading 0x3E2000... Ok! Reading 0x3E3000... Ok! Reading 0x3E4000... Ok! Reading 0x3E5000... Ok! Reading 0x3E6000... Ok! Reading 0x3E7000... Ok! Reading 0x3E8000... Ok! Reading 0x3E9000... Ok! Reading 0x3EA000... Ok! Reading 0x3EB000... Ok! Reading 0x3EC000... Ok! Reading 0x3ED000... Ok! Reading 0x3EE000... Ok! Reading 0x3EF000... Ok! Reading 0x3F0000... Ok! Reading 0x3F1000... Ok! Reading 0x3F2000... Ok! Reading 0x3F3000... Ok! Reading 0x3F4000... Ok! Reading 0x3F5000... Ok! Reading 0x3F6000... Ok! Reading 0x3F7000... Ok! Reading 0x3F8000... Ok! Reading 0x3F9000... Ok! Reading 0x3FA000... Ok! Reading 0x3FB000... Ok! Reading 0x3FC000... Ok! Reading 0x3FD000... Ok! Reading 0x3FE000... Ok! Reading 0x3FF000... Ok! 
    Basic read operation finished, but now it's time to verify...
    Starting CRC check for 1024 sectors, starting at offset 0x00
    CRC mismatch!
    Send by BK 0xFBCB8F41, our CRC 0xE4E3FBDE
    Maybe you have wrong chip type set?
    Did you set BK7231T but have in reality BK7231N or BK7231M?
    IgnoreCRCErr checked, bin will be saved even if there is a crc mismatch
    All read!
    Loaded total 0x400000 bytes 
    Wrote 4194304 to readResult_BK7231N_QIO_7236_2025-02-9-13-25-17.bin
    Backup 2MB created, now will attempt to extract OBK config.
    It's not an OBK config, header is bad
    OBK config not found.
    Backup 2MB created, now will attempt to extract Tuya config.
    Tuya config extractor - magic is at 1900544 
    WARNING - strange nextblock header 9BB094AC
    WARNING - bad nextblock CRC
    ...
    

    There are A LOT of warnings, i removed them.

    If doing standard firmware backup, it reads only last 2mb of flash.

    @p.kaczmarek2
    What do you think about my earlier idea regarding flash size on BK72xx in EF?
    Currently it always dump 2mb, but do you think it's prudent to make it autodetect flash size like with RTL8720D?
  • #304 21657369
    divadiow
    Level 35  
    insmod wrote:
    What do you think about my earlier idea regarding flash size on BK72xx in EF?
    Currently it always dump 2mb, but do you think it's prudent to make it autodetect flash size like with RTL8720D?

    yes. please fix :)
  • ADVERTISEMENT
  • #305 21658428
    p.kaczmarek2
    Moderator Smart Home
    Yes, it's a good idea, you can do this if you have a spare moment, otherwise I'll try to check this out.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • Helpful post
    #306 21686219
    insmod
    Level 27  
    Got T5-E1. EF flash backup situation is the same as with T3. First the last 6mb of flash memory is read, then the first 2mb.
    Getting bus success!
    Going to set baud rate setting (1500000)!
    Will try to read device flash MID (for unprotect N):
    Flash MID loaded: 1765C8
    Will now search for Flash def in out database...
    Flash def found! For: 1765C8
    Flash information: mid: 1765C8, icName: GD25WQ64E, manufacturer: GD, szMem: 4000000, szSR: 2, cwUnp: 0, cwEnp: 7, cwMsk: 407C, sb: 2, lb: 5, cwdRd: 05-35-FF-FF, cwdWr: 01-FF-FF-FF
    Entering SetProtectState(True)...
    sr: 0
    sr: 200
    final sr: 200
    msk: 407c
    cw: 0, sb: 2, lb: 5
    bfd: 0
    SetProtectState(True) success!
    Going to read encryption key...
    Encryption key read done!
    Encryption key: 00000000 00000000 00000000 00000000
    

    Unlike with T3, i was able to get boot log (460800 baud from P0)
     
     u_bootloader enter
    ty heap base: 28001B00 size: 65280
    __read_manage_block: mag->blockid=255, id=0, mag->state=255.
    __read_manage_block: mag->magic=0xFFFFFFFF, rescrc=0x0, mag->crc32=0xFFFFFFFF.
    __read_manage_block: mag->blockid=255, id=1, mag->state=255.
    __read_manage_block: mag->magic=0xFFFFFFFF, rescrc=0x0, mag->crc32=0xFFFFFFFF.
    _judge_ota_info checkerr0:1, checkerr1:1
    jump toxx:0x2010000
    jump toxx:0x2010000 [Flash](components/easy_flash/easy_flash_V4.X/src/ef_env.c:1818) ENV start address is 0x007CB000, size is 8192 bytes.
    [Flash]EasyFlash V4.1.0 is initialize success.
    [Flash]You can get the latest version on https://github.com/armink/EasyFlash .
    ate enabled is 0
    driver_init end
    uncali sdmadc value:[0 0]
    reason - unknown
    regs - 7f, 7f, 0
    start user app thread.
    -------- left heap: 187536, reset reason: 7f
    go to tuya
    temp in otp is:571
    rwnx_cal_set_rfconfig(0x101) phy on; rf off
    user app entry(0x20b8915)
    wakeup
    
    $media app thread startup complete
    media_app_mailbox_init sema ok 0x28032538
    media_app_mailbox_message_handle
    mailbox app thread startup complete
    core cpu0 create ipc channel: tuya01, 28033150
    [01-01 00:00:00 ty D][7038][tal_thread.c:224] Thread:sys_timer Exec Start. Set to Running Stat 0x60703850
    [01-01 00:00:00 ty I][7010][tal_thread.c:200] thread_create name:sys_timer,stackDepth:8192,totalstackDepth:8192,priority:5
    [01-01 00:00:00 ty I][7010][tal_thread.c:200] thread_create name:wq_system,stackDepth:6144,totalstackDepth:14336,priority:3
    [01-01 00:00:00 ty I][7010][tal_thread.c:200] thread_create name:wq_highpri,stackDepth:5120,totalstackDepth:19456,priority:4
    [01-01 00:00:00 ty D][7067][tal_thread.c:224] Thread:wq_highpri Exec Start. Set to Running Stat 0x60706760
    [01-01 00:00:00 ty D][7010][tuya_svc_netmgr_linkage.c:86] link[9] is registered [0]
    [01-01 00:00:00 ty D][7010][tuya_svc_netmgr_linkage.c:86] link[2] is registered [1]
    tkl_wifi_init
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:0
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:1
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:2
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:3
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:4
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:5
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:6
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:7
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:8
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:114] add new node,type:9
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:58] init watchdog, interval: 60
    tkl_watchdog_init interval_ms(30000)!
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:161] update type:7,period:10
    [01-01 00:00:00 ty D][7010][tuya_devos_health.c:491] watch_dog_interval:60, monitor_detect_interval:600
    [01-01 00:00:00 ty D][707d][tal_thread.c:224] Thread:health_monitor Exec Start. Set to Running Stat 0x60707da0
    [01-01 00:00:00 ty I][7010][tal_thread.c:200] thread_create name:health_monitor,stackDepth:3072,totalstackDepth:22528,priority:5
    [01-01 00:00:00 ty I][7010][mqc_app.c:502] mqc app init ...
    [01-01 00:00:00 ty D][7010][mqc_app.c:112] mq_pro:5 cnt:1
    [01-01 00:00:00 ty D][7010][mqc_app.c:112] mq_pro:31 cnt:2
    [01-01 00:00:00 ty D][7010][tuya_svc_online_log.c:291] svc online log init success
    [01-01 00:00:00 ty E][7010][log_seq.c:930] logseq empty
    [01-01 00:00:00 ty N][7010][tuya_device.c:150] < TuyaOS V:3.12.11 BS:40.00_PT:2.3_LAN:3.5_CAD:1.0.5_CD:1.0.0 >
    < BUILD AT:2025_05_09_17_57_26 BY ci_manage FOR tuyaos-ai AT T5 >
    IOT DEFS < WIFI_GW:1 DEBUG:1 KV_FILE:0 LITTLE_END:1 SL:1 OPERATING_SYSTEM:98 RELIABLE_TRANSFER:0 >
    
    bk_value:7f, ty_value:0
    [01-01 00:00:00 ty N][7010][tuya_device.c:151] reset_reason:0
    [01-01 00:00:00 ty N][7010][tuya_device.c:152] t5_common_user_config_ai_ty sw ver:0.0.14
    [01-01 00:00:00 ty D][7010][tuya_ws_db.c:466] init fs. Path: null 
    [01-01 00:00:00 ty D][7010][kv_storge.c:46] *****************kvs_init. 
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:206] protected init. addr:0x007cd000
    [01-01 00:00:00 ty N][7010][simple_flash_protected.c:87] init protected data length 491 wr_cnt 6
    [01-01 00:00:00 ty N][7010][simple_flash.c:447] key_addr: 0x7fd000   block_sz 4096
    [01-01 00:00:00 ty N][7010][simple_flash.c:533] get key:
    0xc4 0xeb 0xf4 0x27 0xf6 0x8b 0xfa 0xa2 0xf7 0x9e 0xb5 0xc8 0x3d 0xd6 0x13 0x31 
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:216] protected verify begin
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:231] check [gw_wsm][140]
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:231] check [gw_bi][279]
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:243] protected verify end
    [01-01 00:00:00 ty D][7010][simple_flash.c:877] begin try update kv version
    [01-01 00:00:00 ty D][7010][simple_flash.c:884] pre kv version is 2
    [01-01 00:00:00 ty D][7010][simple_flash.c:1185] 111 k=1  i=15 1
    [01-01 00:00:00 ty D][7010][ty_gfw_wifi_sleep.c:924] __read_sleep_mode op_ret:-6, s_mode:255
    [01-01 00:00:00 ty N][7010][tuya_tls.c:915] uni_random_init...
    [01-01 00:00:00 ty N][7010][tuya_tls.c:354] tuya_tls_rand_init ok!
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:343] protected read [gw_bi]
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:387] protected read ret:0 length:279
    [01-01 00:00:00 ty D][7010][ws_db_gw.c:148] gw_bi read ret:0
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:343] protected read [gw_wsm]
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:387] protected read ret:0 length:140
    [01-01 00:00:00 ty D][7010][ws_db_gw.c:257] gw_wsm read ret:0
    [01-01 00:00:00 ty N][7010][tuya_svc_devos.c:366] gw_cntl->gw_wsm.stat:0
    [01-01 00:00:00 ty E][7010][tuya_ws_db.c:320] kvs_read fails gw_di -6
    [01-01 00:00:00 ty D][7010][ws_db_gw.c:374] gw_di read ret:-6
    [01-01 00:00:00 ty E][7010][tuya_svc_devos.c:382] desc read err:-6
    [01-01 00:00:00 ty E][7010][tuya_svc_devos.c:576] ret:-6
    [01-01 00:00:00 ty E][7010][base_event.c:156] ret:-6
    [01-01 00:00:00 ty D][7010][mf_core.c:38] mf_core_init success
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:343] protected read [gw_bi]
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:387] protected read ret:0 length:279
    [01-01 00:00:00 ty D][7010][ws_db_gw.c:148] gw_bi read ret:0
    [01-01 00:00:00 ty E][7010][mf_identify.c:165] auth invaild ,33384d22c313a89f
    [01-01 00:00:00 ty N][7010][mf_test.c:334] mf identify init err -1
    [01-01 00:00:00 ty I][7010][tal_thread.c:200] thread_create name:mf_test,stackDepth:5120,totalstackDepth:27648,priority:4
    [01-01 00:00:00 ty D][7087][tal_thread.c:216] enter Thread:mf_test func call
    [01-01 00:00:00 ty D][7087][tal_thread.c:224] Thread:mf_test Exec Start. Set to Running Stat 0x607087c8
    [01-01 00:00:00 ty D][7051][tal_thread.c:224] Thread:wq_system Exec Start. Set to Running Stat 0x607051d8
    [01-01 00:00:00 ty D][7087][mf_test.c:218] mf thread delete
    [01-01 00:00:00 ty D][7087][tal_thread.c:265] Del Thrd:mf_test
    tkl_wifi_set_sniffer 0, cb((nil)).
    [01-01 00:00:00 ty N][7010][tuya_app_main.c:199] mf_init succ
    [01-01 00:00:00 ty D][7010][prod_test.c:296] s_prodtest_app_cfg.ssid_count 0
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:343] protected read [gw_wsm]
    [01-01 00:00:00 ty D][7087][tal_thread.c:240] Thread:mf_test Exec Finish. Set to Del Stat
    [01-01 00:00:00 ty D][7087][tal_thread.c:95] del list not empty...deleting 0x6070879c, next 0x607017a0
    [01-01 00:00:00 ty D][7087][tal_thread.c:103] Final Free Thread:mf_test, is_self:1
    [01-01 00:00:00 ty D][7087][tal_thread.c:107] delay to delete thread self
    [01-01 00:00:00 ty D][7087][tal_thread.c:119] finally delete thread self
    [01-01 00:00:00 ty D][7087][tal_thread.c:73] real delete thread:0x607087c8
    [01-01 00:00:00 ty D][7010][simple_flash_protected.c:387] protected read ret:0 length:140
    [01-01 00:00:00 ty D][7010][ws_db_gw.c:257] gw_wsm read ret:0
    [01-01 00:00:00 ty D][7010][prod_test.c:331] read_gw_wsm.nc_tp 0
    [01-01 00:00:00 ty D][7010][prod_test.c:347] prodtest_ssid_listen
    tkl_wifi_set_sniffer 1, cb(0x21947ed).
    [01-01 00:00:00 ty D][7010][prod_test.c:172] prodtest_listen_start success
    tkl_wifi_set_sniffer 0, cb((nil)).
    [01-01 00:00:01 ty D][7010][prod_test.c:274] -------------ssid filter-------------
    tkl_wifi_set_sniffer 0, cb((nil)).
    [01-01 00:00:01 ty N][7010][prod_test.c:352] cannot found prod ssid,ret:-6
    [01-01 00:00:01 ty D][7010][tuya_app_main.c:211] device_init in
    [01-01 00:00:01 ty I][7010][tal_thread.c:200] thread_create name:gfw_core,stackDepth:4096,totalstackDepth:31744,priority:3
    [01-01 00:00:01 ty I][7010][tal_thread.c:200] thread_create name:lp_irq_task,stackDepth:2048,totalstackDepth:33792,priority:3
    [01-01 00:00:01 ty N][7010][ty_gfw_ai.c:730] gfw ai init success
    [01-01 00:00:01 ty D][7087][tal_thread.c:224] Thread:gfw_core Exec Start. Set to Running Stat 0x607087d8
    [01-01 00:00:01 ty E][7087][ty_gfw_core.c:68] ret:-6
    [01-01 00:00:01 ty D][70b2][tal_thread.c:224] Thread:lp_irq_task Exec Start. Set to Running Stat 0x6070b2d0
    [01-01 00:00:01 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 9600
    [01-01 00:00:01 ty D][7087][ty_gfw_wifi_sleep.c:339] wd_common_read err:-6
    [01-01 00:00:01 ty E][7087][ty_gfw_wifi_sleep.c:389] Failed to read flash
    [01-01 00:00:02 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 115200
    [01-01 00:00:02 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 1000000
    [01-01 00:00:03 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 1500000
    [01-01 00:00:03 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 2000000
    [01-01 00:00:04 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 2166666
    [01-01 00:00:05 ty D][707d][tuya_devos_health.c:71] feed watchdog
    [01-01 00:00:05 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 9600
    [01-01 00:00:05 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 115200
    [01-01 00:00:06 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 1000000
    [01-01 00:00:06 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 1500000
    [01-01 00:00:07 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 2000000
    [01-01 00:00:08 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 2166666
    [01-01 00:00:08 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 9600
    [01-01 00:00:09 ty D][7087][ty_gfw_core_dispatcher.c:99] detect 115200
    

    Both backups attached (one with BKFIL, one with EF)
    Additionally got 4 WT0132C6-S5, 1 ESP32-C61 and 1 IR with T1-3S.
  • Helpful post
    #307 21687317
    insmod
    Level 27  
    >>21657369
    https://github.com/openshwprojects/BK7231GUIFlashTool/pull/64
    Added BK7236, BK7258 and BK7252N
    Flash size autodetect works for me with BK7236 and BK7258. Sadly, it can't work with BK7252.
    After i disabled flash wrapping, backup was created normally and CRC check passed.

    Some minor readability fixes (like switch instead of ifs), formatted and idented flash list for BK.
    Added 2000000 baud rate. Works for T5, but doesn't for T3
    Added T-chips names to BKs
    Chip type selection menu with dropdown list in software interface
  • #308 21687325
    divadiow
    Level 35  
    you spoil us. very nice

    Added after 13 [minutes]:

    OK at 1500000 with UAM026 (Uascent key BK7231N) on NiceMCU.

    (higher stops at beginning)
    Code: Text
    Log in, to see the code


    BK7231 Easy UART Flasher interface with “Reading success!” message

    Development board with UAM026 module connected via USB-C
  • #309 21687356
    insmod
    Level 27  
    >>21687325
    Are OBK config read and write works?
    I disabled flash wrapping on everything except BK7231T.
  • #310 21687377
    divadiow
    Level 35  
    simulate real device conversion.
    basic generic plug Tuya_Plug_AU_(schemaID-000004b708)_keyjup78v54myhan_j20xh6tbtz8rn2sr_CB2S_1.1.23.bin

    Screenshot of BK7231N Easy UART Flasher showing successful Write success operation
    FormOBKConfig window with Wi-Fi settings and GPIO mappings for a Tuya device

    device joins AP in OBKConfig form, flag set, startup command set. Extracted config OK too

    OpenBK7231N interface with device turned off and detailed energy stats
  • #311 21687572
    insmod
    Level 27  
    2000000 didn't work on any nicemcu board i have (i've tested transplanted BK7231U, BK7231T, BK7236 and BK7238).
    It worked fine with BK7231N on a different board and BK7252.

    Caching in workflows, reduces build time. + using apt-fast for system gcc, hopefully it would stop runner hangs.
    https://github.com/openshwprojects/OpenBK7231T_App/pull/1793
    This also allows gcc version selection. I've used gcc-8 for XRs and RTL8710A/B. Final binary size reduction is 8904 bytes on RTL_A, 7280 on RTL_B, about 10kb on XR809, 2kb ota on XR872 and 13068 bytes on LN882H.
    Used cacheable gcc-10.3 on RTL8720D, 32kb binary size increase.
    Using cacheable gcc on RTL87X0C increases binary size beyond partition size, so still using apt one.
    Without turning off LTO can't be used on beken alt. Even using gcc 12 with -Oz results in significantly bigger binary. So still using apt one.
    Available versions - https://github.com/marketplace/actions/arm-no...gnu-arm-embedded-toolchain#available-releases
  • #312 21687606
    divadiow
    Level 35  
    great!

    regarding flash size detection and subsequent read address adjustment, would a 4mb BK7231M read test and maybe, dunno 16mb, 32 etc RTL8720D be useful? If you're confident already then I won't de-solder...
  • #313 21687615
    insmod
    Level 27  
    I did nothing to RTL, and 4mb BK7231N should read all 4mb.
    I tested it on 4mb BK7236 and 8mb BK7258 and everything worked fine. And they all use the same protocol.
  • #314 21687621
    divadiow
    Level 35  
    >>21687615

    righto, yep. ok

    I don't fully understand the wrap-around thing and why that means no full flash, but I'll just look it up.

Topic summary

The discussion centers on the NiceMCU XH-WB3S development board featuring the BK7238 SoC, initially suspected to be BK7231T but confirmed as BK7238. Users share experiences with flashing, testing, and porting firmware, including challenges with encryption keys, flash IDs, and bootloader compatibility. The BK7238 uses 2MB flash with varying encryption keys per chip, complicating universal firmware flashing. Tools like BKFIL and Easy Flasher (EF) are used for backup and restore, with EF supporting full flash erase and restore including bootloader. Flash ID support was extended to include missing flash chips to avoid CRC errors. Arduino SDK and Beken FreeRTOS SDK (version 3.0.70.1 and newer 3.0.76) are referenced for development, with partial support for BK7238 and related chips (BK7231N, BK7231U, BK7252). Porting efforts include adapting delay functions for 160MHz BK7238, resolving flashvars alignment issues due to 64-bit time_t, and addressing HTTP server and TCP socket stability problems in LWIP. OTA updates are functional but require correct image types and bootloader versions. Power save modes and their impact on peripherals like BL0937 energy meter and DS18B20 sensors are discussed, with some instability noted under power save. SPI flashing and UART flashing methods are compared, with SPI preferred for some devices. BK7231U (CC8000 chip) support is emerging, with builds available but some undefined references and boot issues. BK7252 camera module support is experimental, with encrypted flash complicating firmware use. Users report issues with DS18B20 sensor timing on BK7238 due to delay_us inaccuracies, partially fixed by new SDK delay implementations. Logging and MQTT load affect system stability and sensor reading consistency. The community shares flash dumps, toolchain links, and SDK forks to aid development and testing. Overall, the thread provides detailed technical insights into BK7238-based NiceMCU boards' flashing, SDK porting, peripheral support, and firmware development challenges and progress.
Summary generated by the language model.
ADVERTISEMENT