when use kobs-ng program u-boot image to NAND with MX508 RD3 board, the image loaded to RAM by ROM loader has some bytes corrupted at address 0x207CF and 0x407CF.
the kobs-ng dump shows
m_u32Firmware1_startingPage = 512 m_u32Firmware2_startingPage = 1280 m_u32PagesInFirmware1 = 177 m_u32PagesInFirmware2 = 177 m_u32DBBTSearchAreaStartAddress = 256 m_u32BadBlockMarkerByte = 1999 m_u32BadBlockMarkerStartBit = 0 m_u32BBMarkerPhysicalOffset = 2048 m_u32BCHType = 0 m_u32DISBBM = 0 The problem is caused by manufacturer bad block Marker. If manufacturer bad block mark byte is used, it will be swapped with metadata to complete page data when ROM read data from NAND. When use kobs-ng to program NAND, it will write DisBBM to configure block to indicate whether swap is needed. Because m_u32BadBlockMarkerByte = 1999 is 0x7CF In 508 ROM code, if m_u32DISBBM is 0, the byte will be swapped.