How convert eight hex characters to uint32_t using strtol() function?
The function strtol() is not able to convert numbers that are larger than LONG_MAX and smaller than LONG_MIN as it uses signed numbers.

You should use the function strtoul() instead (for unsigned long integers). 

Cheers!