1. A non-volatile memory sharing system, comprising: a plurality of processors comprising at least a first processor and a second processor; a non-volatile memory coupled to the first processor, the non-volatile memory for storing a plurality of program codes or data comprising at least a first program code or data for the first processor and a second program code or data for the second processor; and a processor bridge coupled between the first processor and the second processor; wherein the first processor is for executing the first program code stored in the non-volatile memory, and the second processor is for obtaining the second program code or data from the non-volatile memory via the first processor and the processor bridge.