The mentioned technique was tried on the board. But still we faced the same problem.
In our tests code was downloaded into pages 3A. Then that code was loaded to RAM from 3A page, before write/read/erase operation. After this write/eraseperformed on 3D and 3C pages. But with that even we faced the same problem in page 3C.
But the observable point during those tests was, all the write/read/erase operations were successful in 3D page whereas in 3C page all those operations failed.
In the datasheet MC9S12C128_V1.pdf (Rev 1.15 7/2005) it is mentioned that for the page 3C the "Arrary relative address" will be 0x10000 to 0x13FFF ( page no. 295). So are "Arrary relative address" and Global address different?
BTW, according to the docs, C128/Q128 have single 128k flash array, not two 64k flash arrays. So probably all flash routines should run from RAM, no option to program flash array from another flash array.
Message Edited by kef on 2008-07-03 09:20 AM