Methods are provided for configuring a reconfigurable hardware device to execute a user application. Such a method includes providing static shell logic on the device. The static shell logic is controlled by a primary management core for managing operation of the device, and has a predetermined hardware interface. The method includes configuring on the device, via the primary management core, dynamic shell logic for implementing dynamically-selected shell functionality. The dynamic shell logic includes a secondary management core, adapted to communicate with the primary management core via the hardware interface, for managing operation of the dynamic shell logic. The method further comprises configuring on the device, via the primary management core, application logic, having an interface with the dynamic shell logic, for executing the user application. The secondary management core uploads to the primary management core dynamic code to adapt the primary management core for use with the dynamic shell logic.