The 33-year-old missed the entire 2009 season because of an elbow injury and clinical depression. He pitched in only five games with the Oakland Athletics last April before undergoing surgery on his left hip.
He is 33-25 with a 3.13 ERA over eight seasons with the Texas Rangers and A's.
Duchscherer's base salary would escalate to $1.1 million under Friday's agreement if he's on the 25-man active roster once the season begins.
He can earn an additional $3.4 million in performance bonuses based on starts: $250,000 for 10; $300,000 each for 13 and 16; $350,000 for 18; $400,000 apiece for 20, 22 and 25; and $500,000 each for 28 and 30.
The two-time All-Star has made 32 career starts -- 22 in 2008.