×

Procedure and device for programming a DMA controller in which a translated physical address is stored in a buffer register of the address processing unit and then applied to the data bus and stored in a register of the DMA controller

  • US 7,581,039 B2
  • Filed: 07/11/2005
  • Issued: 08/25/2009
  • Est. Priority Date: 07/12/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for a user program running in user mode to directly program a DMA controller of a system on a chip, the system on a chip including a central processing unit, a memory management unit for translating virtual addresses according to a translation table, an address bus, a data bus, an address processing unit coupled between the central processing unit and the address and data buses, and the DMA controller, the DMA controller including at least one set of registers having a base subaddress that is used to address registers of the set of registers, the registers of the set of registers including a source register, a destination register, and a size register, said method comprising the steps of:

  • in response to a first dedicated instruction of the user program that includes an address argument indicating a virtual address corresponding to the physical address to be stored in the source or destination register of the DMA controller, translating the virtual address into the corresponding physical address and storing the corresponding physical address in a buffer register of the address processing unit that cannot be accessed by the user program; and

    in response to a second dedicated instruction of the user program that includes an address argument indicating the virtual address corresponding to the physical address to be stored in the source or destination register of the DMA controller;

    applying the corresponding physical address stored in the buffer register of the address processing unit to the data bus and a first word that includes at least high-order bits indicating the base subaddress of the set of registers to the address bus; and

    in response to the first word being applied to the address bus, selecting the source or destination register of the DMA controller and storing the corresponding physical address applied to the data bus in the selected register of the DMA controller,wherein the first dedicated instruction and the second dedicated instruction are instructions dedicated to directly programming the DMA controller, andthe second dedicated instruction is different than and after the first dedicated instruction.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×