Tôi đang sử dụng trình điều khiển mà tôi đã đăng tại Direct Memory Access in Linux để chèn một số ram vật lý vào địa chỉ không gian người dùng. Tuy nhiên, tôi không thể sử dụng GDB để xem bất kỳ địa chỉ nào; tức là, x 0x12345678 (trong đó 0x12345678 là giá trị trả về của mmap) không thành công với lỗi "Không thể truy cập bộ nhớ tại địa chỉ 0x12345678".Kiểm tra địa chỉ được tạo hình bằng cách sử dụng GDB
Có cách nào để nói với GDB rằng bộ nhớ này có thể được xem không? Ngoài ra, có một cái gì đó khác nhau tôi có thể làm trong mmap (hoặc là cuộc gọi hoặc thực hiện foo_mmap có) mà sẽ cho phép nó truy cập vào bộ nhớ này?
Lưu ý rằng tôi không yêu cầu về/dev/mem (như trong đoạn đầu tiên ở đó) nhưng khoảng một mmap vào bộ nhớ mua qua ioremap(), virt_to_phys() và remap_pfn_range()
Dường như điều này là cụ thể cho/dev/mem – jpalecek
có thể, nhưng tôi không sử dụng/dev/mem;) – Mikeage