2011年1月5日 星期三

Swordfish – A Basic Compiler for PIC18

Swordfish 簡介

Swordfish 是一個專門給 PIC18 family 使用的 Basic Compiler,它可以產生經過最佳化而且可以直接燒錄到微控制器的韌體檔。對於習慣使用 Basic 語言的人來說,Swordfish 提供了另一個進入 PIC18 微控制器世界的途徑。

Swordfish 有一個功能強大且彈性的整合開發環境(IDE, Integrated Development Environment ),只要在 Swordfish IDE 上點一下滑鼠或是按個快速鍵,Swordfish 就會自動編譯程式並將你的專案燒錄到目標微控制器上(target microcontroller)。下圖是 Swordfish IDE 的介面:

image

Swordfish 提供大量的函式庫(library),諸如下列:

  • GLCD
  • LCD
  • Secure Digital (SD) Multi Media(MM) Card
  • OneWire
  • ADC
  • EEPROM
  • Shift
  • Hardware SPI and Software SPI
  • Hardware I2C and Software I2C
  • USART and Sotware UART
  • Math
  • Keypad
  • USB
  • String 字串處理函式

這些函式庫的原始碼是開放的,只要安裝 Swordfish 便可以在安裝目錄裏找到。

In-Circuit-Debug(ICD)與 Simulation

如下圖,Swordfish 支援 MPLAB 線上除錯 (ICD, In-Circuit Debugging),可以讓你單步執行(single step)程式並觀察硬體暫存器和變數的變化:

image

此外,你也可以在 MPLAB 裏使用模擬功能 (Simulation)或者搭配 Labcenter Electronics 的 Proteus VSM(ISIS) 這套電路模擬軟體執行 Swordfish 程式,如下圖:

image

兩種版本

Swordfish 分成兩種版本:

  1. 商業版本: 擁有完整的功能,但是必須向付費購買。
  2. 特別版本(免費版): 和商業版幾乎一樣,擁有完整的功能,而且沒有使用期限,唯一的限制是 RAM 的使用量,免費版的 Swordfish 最多只能使用 256 bytes 的 RAM,程式若使用超過 256 bytes 的 RAM 就沒辦法編譯。特別版本可以在下面的網址取得:

http://www.sfcompiler.co.uk/swordfish/download/index.html

Hello Swordfish 程式

底下是 Hello Swordfish 程式,程式的邏輯是每隔 0.5 秒切換一次 LED 燈號:

程式說明:

  • L10: 定義 LED 燈號位於 RA4 腳位
  • L14~L17: 進入 Repeat … Until 無窮迴圈,每隔 0.5 秒就切換一次 LED 燈號
參考資料

0 意見: