Nowadays processors advance towards multicore architecture. In heterogeneous multicore processors, different kinds of computing tasks can be assigned to different processor kernels in order to perform parallel execution, which can provide more flexible and more effective principles. Nowadays the heterogeneous multicore architecture becomes the research hot. This paper introduces the design of heterogeneous multicore processors from architecture, and analyzes the challenges in terms of some important aspects: architecture of cores, interconnect, storage system, operating system support, test and validation, DVFS and so on. The challenges for the design of heterogeneous multicore processors are discussed. Finally we propose the design key points for high performance and embedded realtime applications: the performance and the number of cores for high performance heterogeneous multicores, realtime and lower power for embedded realtime multicores.