I have been using the 908QB8 and now moving to the 9S08QE8. When attempting to mass erase or page erase or byte program flash on the 9S08QE8 from a RAM resident routine, I am not able to read FCDIV to verify it have been written. I am able to check and clear errors in FSTAT. I load HX with the flash address and A with data, then write it (all in a RAM based routine) then I follow the procedure to load FCMD and then set FCBEF. After the 4 cycle wait, FSTAT returns as 0 so FCCF never sets to indicate completion. Maybe there is something I should be doing prior to all of this possibly in the protection area but nothing seems to work. All errors are cleared prior to executing this code.
Any ideas? Is there something special with the QE8?