First thing would be to check the battery, a low battery voltage can set this code as well. If the battery is good, clean and check the connections and check all of the fuses for corrosion. If those are all okay then you may want to remove the battery negative. Remove the PCM and check for corrosion/dirt/water in the connectors. Then reconnect it and see if the error is still there.
If it still comes back then you likely have a failing PCM. Re-flashing it will not repair it as your description of temperature making a difference makes it sound like the issue is mechanical, like a bad solder joint or poor pin fitment, or voltage related as colder temps=less battery voltage and any poor connection makes it worse.
SPONSORED LINKS
Saturday, December 30th, 2017 AT 7:59 AM