2016-07-19 5 views
0

Wenn ich den physischen Speicher von Daten kenne, weil er dort von einem Peripheriegerät mit Memory-Mapping platziert wurde, wie kann ich dann in einem Kernel-Modul darauf zugreifen? Mein erster Instinkt ist ein ZeigerKernel-Modul stürzt ab, wenn Speicher gelesen wird

int * addr; 

und weisen Sie

addr = 0x________; 

dann lesen

printk(KERN_INFO "%d\n",*addr); 

aber das Modul Absturz macht versucht, zu machen. Was ist der geeignete Weg, dies zu tun?

+0

Mögliche Duplikat von [Wie in einem Kernel-Modul Zugriff auf den Speicher ermöglichen?] (Http://unix.stackexchange.com/questions/296906/how-to-allow-access -zu-Speicher-in-einem-Kernel-Modul) –

Antwort

0

Sie müssen eine virtuelle Kernadresszuordnung für den Standort z.

addr = ioremap_nocache(0x________, <size_in_bytes>);

Verwandte Themen