Re: 關於XC8 Compiler的問題

作者 Ryang 於 2019年01月02日 14:04:32
這問題需要說明一下:

早期 Microchip 是沒有自己的 PIC16 的 Compiler, 只有使用在 PIC18 系列的 C18 Compiler。PIC16 系列也只能使用協力廠的的 C Compiler 例如: Hi-Tech PICC,CCS, IAR 等。

當然 Microchip 自家的 C18 也就有自家元件的 Peripheral Libraries 的支援。PIC16 系列也就沒有 Peripheral Libraries 的支援。這就是幾年前的模式。

自 Microchip 併購了澳洲的軟體公司 IO Software 後並將旗下的 Hi-Tech PICC, Hi-Tech PICC18 及 C18 共同整合成 XC8 成為 Microchip 對 8-bit PIC 的主要支援的 C Compiler。且因 PIC 族群種類不斷的研發種類越來越多,造成使用 Peripheral Libraries 的方式會因版本及數量過多在使用上有各自為政的混亂情形發生。於是 MCC 成為 PIC 新元件的周邊函數產生的主要來源。

以目前 8-bit PIC 的 C compiler 支援能力來看:

1. 如果使用 C18 的仍有 PIC18 周邊函數庫的支援,但僅限於較成熟的產品像 PIC18Fxxx, PIC18Fxxxx, PIC18xxJxx 系列的支援。記得較新的 PIC18xxKxx 的周邊函數庫只能使用 MCC 來產生周邊函數庫。

2, 如果使用 XC8 在 PIC18 系列的元件。在 XC8 v1.34 仍有內建 PIC18F 的周邊函數庫 (使用方式與 C18 雷同),但之後的版本就不含周邊函數庫的安裝,如仍要使用 PIC18 函數庫就需要另外安裝 Peripheral Libraries v2.00 (可以在教育訓練光碟下載) 並在 X IDE 下的 Linker 勾選使用此周邊函數庫。

3. 一樣,XC8 的 Peripheral Libraries v2.00 不支援 PIC18 K 系列的元件。K 系列元件的周邊函數庫必須使用 MCC 來產生。

4. XC8 用於PIC16F 元件也有分別。較舊的 PIC16Fxxx 三碼的原價只有少數有 MCC 的支援。至於四碼及五碼 (PIC16F1xxx & PIC16F1xxxx) 的元件都可以使用 MCC 來產生其周邊函數庫。

5. 至於 XC8 使用在舊的三碼編號 PIC16Fxxx,若無 MCC 支援的話,那只能自己使用最基本的暫存器設定方式來完成周邊的設定及使用。


所以目前最佳 8-bit PIC 的開發是: X IDE + MCC

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=18&topic_id=22512&post_id=79117