A 20-year-old man was charged on Sunday with first-degree assault for last week's shooting of two police officers during a protest in the troubled city Ferguson, Missouri, a crime that fueled a national debate on race and policing.

The suspect, Jeffrey Williams, has admitted firing the shots and was from the general St. Louis area, St. Louis County Prosecuting Attorney Robert McCulloch told a news conference.

"It was not certain if he had been targeting police," he added.