самуснговская NAND K9F2G08U0M, 2048 + 64 байт страница. стираю блок, сначала записываю страницу данных (2048 байт), дожидаюсь завершения, читаю статус (команда 0х70), все в порядке.
col1 = 0x00 col2 = 0x00 row1 = (unsigned char) page; row1 = (unsigned char) page>>8; row1 = (unsigned char) page>>16;
затем пишу spare area (64 байта) той же страницы.
col1 = 0x00 col2 = 0x80 row1 = (unsigned char) page; row1 = (unsigned char) page>>8; row1 = (unsigned char) page>>16; дожидаюсь завершения, читаю статус - все в порядке. но иногда при последующем чтении видно, что или данные или спаре область не записались. то-ли не стер я её.... то-ли х.з. уже и в режим рандом ввода/вывода загонял. все равно некоторые страницы не пишутся. и их много. линукс как ни странно все пишет/читает хорошо =)
|