What is the advantage of uint8_t over char or bool?

I have to migrate some C++ functions into a µVision project and usually you use uint8_t instead of char and bool. Is there any downside to using bool? I mean including the bool.h will not make the code significantly larger.