I am reading a datasheet on the 28F010 flash. The datasheet states that for reading it behaves like a ordinary EEPROM but in order to alter memory content the command first the command must be issued. So then in datasheet there is a diagram where 28F010 is connected to a 80C186 processor. My question is how CPU will be able to write this flash memory? When we access the address for writing the CPU will generate standard signals on it't bus. CPU will not generate any command for writing because he doesn't know about the flash. So i guess if 28F010 is connected to 80C186 the CPU will be able to read this flash only. Am i correct?
It's possible to write to the flash, but it can't be written to like normal memory. Write accesses to the 28F010 flash, as with many other flash parts, aren't treated as normal memory accesses. Instead, the values of the data lines during a write are treated as a command. A specific programming algorithm is required, which is explained in Figures 4 and 5 of the 28F010 datasheet.
Writing code to execute this programming algorithm should be possible, so long as there are no other memory accesses being made to the flash memory. In an 80186 system, this would probably mean that the programming algorithm would need to be executed from system RAM, and interrupts would need to be disabled.
Compared to standard ROM you need two extra signals, /WE (Write Enable) and Vpp (programming Voltage). If it is wired according to the diagram in the datasheet then it should work.
Commands for writing, erasing etc. are sent via standard write cycles. However to activate the command register Vpp has to be >6.5V. To write or erase data Vpp needs to be raised to 12V. This high voltage is required to force charge into the memory cells.