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 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 directly from the program code storage module, the second processor is for sending an access request requesting data corresponding to the second program code to the processor bridge; the first processor is for retrieving the access request from the processor bridge, fetching the data from the second program code in the non-volatile memory according to the access request, and delivering the data to the processor bridge; and the second processor is further for fetching the data from the processor bridge.