This paper presents the design and implementation of a software (SW)-based receiver running on a single digital signal processor (DSP) for terrestrial digital multimedia broadcasting (TDMB). Implementing the functions of the physical layer such as synchronization and channel decoding as well as codec decoders for a TDMB receiver in software running a DPS raises numerous design and implementation issues. We present solutions to these issues including an efficient software receiver structure, efficient algorithms with low complexity, real-time scheduling, reduction of the execution cycle number, and data transfer and communication between function blocks in the receiver, with a focus on the physical layer. The SW-based TDMB receiver developed in the present work can change and upgrade its functions and adapt to new standards. The performance of the implemented receiver was verified through successful decoding of live audio and video signals.