I agree with FvM's observation about the convenience of the CCS regarding to the extensive set of API functions that are suitable for those who do not yet have a lot of resourcefulness in handling internal registers of the microcontroller's peripherals. Perhaps an offtopic comment, but I currently take into consideration in the choice of compilers, not only their availability in freeware, but also if they are supported in simulation tools, namely Proteus. In many cases, the possibility of developing the firmware, even before the HW is built, allows a considerable time advance to the project.