Patent ID: 7620743

Claim:
A reusable software block stored in a computer-readable memory, the reusable software block comprising: a device hardware abstraction software layer adapted to configure multiple instantiations of a peripheral device within an integrated circuit, the hardware abstraction software layer defining, relative to a variable base address received as a parameter passed to the device hardware abstraction software layer, offset values for registers of the peripheral device and defining a data structure for the peripheral device that accesses the registers of the peripheral device relative to the variable base address; and; a platform hardware abstraction software layer defining an address map of the integrated circuit comprised of a plurality of base addresses, the platform hardware abstraction software layer adapted to configure each instantiation of the peripheral device via calls to the device hardware abstraction software layer, the calls to the device hardware abstraction software layer each passing a one of the plurality of base addresses that correspond to an instantiation of the peripheral device to the device hardware abstraction software layer.