The Arizona Cardinals wrapped up training camp on Thursday. They still have two preseason games to go before the regular season begins, but here are several things we learned from the time in camp.

Camp was physical, but certain players were protected

The Cardinals had a longer camp than most and they did more hitting than in years past, but quarterback Carson Palmer, running back David Johnson and receiver Larry Fitzgerald were given special protection.

Palmer had lots of days off as part of his workload management. Johnson didn’t take practices off, but so far he has only had nine snaps in the preseason. He will be limited in the team’s preseason game against the Atlanta Falcons.

Larry Fitzgerald had some days off, but he has only had a few preseason snaps and has not been targeted. Coach Bruce Arians said he probably wouldn’t be targeted, as that would mean he would get tackled.

No concern at CB anymore

Just three weeks ago, Bruce Arians was worried about the cornerback position. He isn’t any longer. Justin Bethel outplayed everyone and won the starting job. Brandon Williams made great strides in the last couple of weeks. They added veteran Tramon Williams. It appears that is all Arians wanted — some stability from a veteran instead of relying on someone with no experience.

WR was not a concern, but now it is

The offseason brought questions about the wide receivers on the roster, especially because of the health of John Brown. But Brown was great in the offseason. The depth and youth of the room were highly praised. Then training camp came and players got hurt and Arians called out almost everyone. With Brown still not 100 percent, it raises questions again. Outside of Larry Fitzgerald, there does not appear to be anyone completely reliable at the position. It is completely unknown what type of production the team will get.

Robert Nkemdiche is ready

The second-year defensive tackle has been everything it was hoped he could be. He has been dominant and disruptive all offseason. Now he has a calf injury that will sideline him for the last part of the preseason, but be is poised to become a wrecking ball on the defensive line.

Blaine Gabbert might be in future plans

The team signed Gabbert after the draft as a “why not” move. He has thrived and has done enough to make the roster and more. He will likely be inactive for almost the entire season, assuming he makes the roster, but he appears to be part of the plan in 2018, either as a potential backup or as someone who could compete for the starting job should Carson Palmer retire.

They stayed healthy (fingers crossed)

Training camp and the preseason have been bad luck for the Cardinals and injuries. They had lost a starter or presumed starter for the season in each of the previous six years. That hasn’t happened this year so far (and we cross our fingers and knock on wood so it doesn’t happen now).

Yes, they lost fifth-round pick T.J. Logan for about half the season, but no offensive or defensive starter has gone down with anything serious. When Week 1 rolls around, they should have a full starting lineup.