Компилятор BKND C действительно причудливый и не очень хорошо поддерживает компоновщик. Но тогда большинство микросхем PIC16 достаточно малы, так что нет ничего страшного в том, чтобы просто включить весь ваш источник в один файл C.
Я провел некоторое сравнение компилятора BKND и HiTECH C, и, похоже, BKND генерирует значительно лучший код. По крайней мере, в моем приложении это было необходимо для удовлетворения требований к скорости / пространству моего приложения на таком маленьком MCU.
Многие из особенностей компилятора BKND (дополнительные типы данных и т. Д.) Очень полезны для настройки вашего кода для работы на небольшом MCU. Стандартный C, который вы пишете на ARM или x86, на самом деле не подходит для крошечного ЦП с всего лишь несколькими сотнями байтов ОЗУ.
Для больших чипов PIC (18, 24F и т. Д.) Отлично подойдет компилятор C, поставляемый Microchip.