Thật tuyệt vời khi bạn muốn được biên dịch độc lập! Thật không may, trình biên dịch hitech và CCS cho PIC cấp thấp sử dụng rất nhiều khai báo tiền xử lý cụ thể của trình biên dịch, các thói quen truy cập pin cụ thể của trình biên dịch và trong trường hợp các thói quen cụ thể của trình biên dịch CCS cho các chức năng lõi truy cập như SPI, I2C, ADC, v.v.
Không thể viết mã của bạn thành không phải trình biên dịch cụ thể nếu không có nhiều bộ tiền xử lý #define, #ifdef, #ifndef, v.v. để có quyền truy cập vào các phần cụ thể của mỗi trình biên dịch được cung cấp. Điều này sẽ làm cho mã của bạn không thể đọc được.
Điều tốt nhất bạn có thể nhắm đến là độc lập IDE và sử dụng một cái gì đó như nhật thực, vì vậy ít nhất bạn đang sử dụng cùng một IDE. Điều này sẽ dẫn đến việc mất các trình hướng dẫn CCS để thiết lập các chức năng cốt lõi, nhưng sẽ giúp bạn linh hoạt hơn trong việc sử dụng cùng một IDE.
Một điều khác cần xem xét là cả hitech và CCS đều không có (ít nhất là trong quá khứ) một trình liên kết trình biên dịch c thực sự và yêu cầu bạn sử dụng "#include myfile.c" mà cá nhân tôi coi thường ... nhưng đó là một câu chuyện khác.
Tôi chưa nhận xét về trình biên dịch IAR vì tôi chỉ sử dụng CCS và hitech. Cả hai đều hoạt động tốt, nhưng tôi chưa bao giờ thực sự hài lòng với sau khi di chuyển từ nền tảng Motorola (bây giờ là freescale) và sử dụng trình biên dịch metrowork tiên tiến hơn vào thời điểm đó. Trình biên dịch IAR có vẻ tốt nhưng tôi chưa bao giờ sử dụng nó.