A Minnesota police officer has been charged with manslaughter in the killing of a black man whose death was live streamed by his distraught girlfriend.

Jeronimo Yanez fatally shot Philando Castile, 32, during a traffic stop in Falcon Heights, a suburb of St Pauls, in July. The dead man’s final words were: “I wasn’t reaching for it.”

Mr Yanez was not arrested, but he was given a summons to appear in court Friday. He faces up to 10 years in prison on the manslaughter charge if convicted.

Protesters hang banners outside of the governor's residence <em>AP</em>

Ramsey County prosecutor John Choi said he had decided that the use of deadly force was not justified.

“I know my decision will be difficult for some in our community to accept' on pending decision on whether officer Jeronimo Yanez was justified in using deadly force against Philando Castile,” he said.

Diamond Reynolds, Mr Castile's girlfriend, is determined to fight for justice (REUTERS) (REUTERS)

The aftermath of the July 6 shooting was streamed live on Facebook by Mr Castile’s girlfriend, who was with him in the car along with her young daughter.

The woman said Mr Castile was shot several times while reaching for his ID after telling Mr Yanez he had a gun permit and was armed, the Associated Press said.

Mr Yanez’s lawyer, Tom Kelly, has said the officer, who is Latino, was reacting to the presence of a gun, and that one reason he pulled over Mr Castile was because he thought he looked like a possible match for an armed robbery suspect.

But family members have claimed that Mr Castile, an elementary school cafeteria worker, was racially profiled.

Mr Castile's mother, Valerie Castile, said she welcomed the prosecutor's charges and understood why a more severe charge might be too difficult to convict the officer on.