LINUX.ORG.RU

Может быть там есть разница в записи измененных данных на flash? Как я понял в случае point() запись на flash произойдет только после unpoint().

Dead ★★★★
()
Ответ на: комментарий от Dead

А вообще согласен. С точки зрения userspace - выглядит, как костыль.

Dead ★★★★
()
Ответ на: комментарий от Dead

Хм. А о записи я даже не подумал. Мне казалось что запись через указатель возвращенный point() невозможна.

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

Виноват, не дочитал до конца...

Mainly for NOR flash. As long as the flash is only read, it behaves just like normal memory. The read() function for NOR chips is essentially a memcpy(). For some purposes the extra memcpy() is a waste of time, so things can be optimized.

So the point() function does just that, it returns a pointer to the raw flash, so callers can operate directly on the flash.

But of course, things are a little more complicated than that. NOR flash chips can be in several different modes and only when in read mode will the above work. Therefore point() also locks the flash chip in addition to returning a pointer. And while locked, writes to the same flash chips have to wait. So callers have to call unpoint() soon after to release the chip again.

Dead ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.