Sự cố quan trọng
Bạn sẽ thấy một không gian bộ nhớ lớn hơn mong đợi được chiếm bởi giao diện nô lệ SGDMA vì tám bit địa chỉ được sử dụng cho cổng nô lệ. Do đó, mỗi thanh ghi 32 bit được cách nhau 16 byte. Các thanh ghi được đặt tại các địa chỉ sau:
Trạng thái --> byte 0, địa chỉ từ 32 bit 0
Kiểm soát --> byte địa chỉ từ 16, 32 bit 4
Descriptor Pointer tiếp theo --> byte địa chỉ 32, địa chỉ từ 32 bit 8
Nếu bạn truy cập trực tiếp vào thanh ghi SGDMA, điều rất quan trọng là bạn sử dụng các macro được định nghĩa trong "altera_avalon_sgmda_regs.h" để bạn không cần phải sửa đổi mã của mình nếu dải địa chỉ SGDMA được thay đổi.