Software pipelining exploits instruction level parallelism by reconstructing loops
while modulo scheduling is a kind of widely used scheduling algorithms for software pipelining.Traditional modulo scheduling algorithms usually cause overlapping register lifetimes and increase register pressure
and thus are not applicable to embedded processors.This paper presents the NOn-Overlapped Iterative (NOOI) modulo scheduling algorithm based on an optimized backtracking model for embedded processors.NOOI algorithm avoids the register lifetime overlap by adding loop-carried anti-dependence and resolves the scheduling conflicts using dependence-constrained and resource-constrained backtracking model.Our evaluations show that NOOI can significantly improve the success ratio and loop initial interval