microchip提供了在linux下的集成开发软件MAPLAB X IDE,以及免费xc编译器(不提供优化编译)。MAPLAB X IDE不再支持Picstart+及ICD2等较早的编程/调试工具了。
其实,在linux下有很多优秀的PIC免费开发工具,还兼容较早的编程/调试工具。
piklab就是一款支持众多PIC编译器的IDE集成开发工具,仍然提供对Picstart+及ICD2等较早的编程/调试工具的支持。piklab可以在百度搜索或http://sourceforge.net/projects/piklab/下载源码编译安装。piklab基于kde开发,并使用QT4,由于使用lubuntu桌面,需要安装编译环境:
sudo apt-get install libqt4-core libqt4-dev libqt4-dev-bin libqt4-gui libqt4-opengl libqt4-opengl-dev
sudo apt-get install cmake libusb-dev libppd-dev kdelibs-bin kdelibs5-dev
sudo apt-get install kdeconnect
然后进入源码目录
cmake .
make
sudo make install
JalV2是一款优秀的非C语言的PIC单片机免费开源编译器,他使用类pascal语言(不要说“我只会用C”。结合例子,JalV2上手不需要1小时,熟练应用不需要1天,有空看看pascal语言更好),具有跟ccs c类似的风格,在jallib中提供了几乎所有应用的库及上千个例子,能快速上手,迅速完成开发工作。
JalV2可以百度搜索或http://www.casadeyork.com/jalv2/下载,包括了linux和windows版本。
使用JalV2的最好方法是下载jallib:https://github.com/jallib/jallib,集成了JavV2 2.4q3最新版。解压到/opt/jallib中,编译器目录为/opt/jallib/jallib-master/compiler。在piklab中配置好JalV2工具链及include目录,就可以编译了,编辑器对jal文件提供彩 {MOD}文法支持。由于jallib的include目录分成了许多独立目录,而例子中并未按独立目录引用,所以要设置大量include目录,不过这里已经设置好了:),复制即可
/opt/jallib/jallib-master/include/device/;/opt/jallib/jallib-master/include/external/;/opt/jallib/jallib-master/include/external/adc/;/opt/jallib/jallib-master/include/external/battery/;/opt/jallib/jallib-master/include/external/can/;/opt/jallib/jallib-master/include/external/co2/;/opt/jallib/jallib-master/include/external/dac/;/opt/jallib/jallib-master/include/external/dds/;/opt/jallib/jallib-master/include/external/digital_potentiometer/;/opt/jallib/jallib-master/include/external/humidity/;/opt/jallib/jallib-master/include/external/keyboard/;/opt/jallib/jallib-master/include/external/lcd/;/opt/jallib/jallib-master/include/external/lcd/fonts/;/opt/jallib/jallib-master/include/external/led_array/;/opt/jallib/jallib-master/include/external/led_matrix/;/opt/jallib/jallib-master/include/external/media/;/opt/jallib/jallib-master/include/external/motor/;/opt/jallib/jallib-master/include/external/motor/period_skip/;/opt/jallib/jallib-master/include/external/motor/servo/;/opt/jallib/jallib-master/include/external/motor/stepper/;/opt/jallib/jallib-master/include/external/one_wire/;/opt/jallib/jallib-master/include/external/oxygen/;/opt/jallib/jallib-master/include/external/pll/;/opt/jallib/jallib-master/include/external/pressure/;/opt/jallib/jallib-master/include/external/ps2/;/opt/jallib/jallib-master/include/external/ranger/;/opt/jallib/jallib-master/include/external/ranger/ir/;/opt/jallib/jallib-master/include/external/remote_control/;/opt/jallib/jallib-master/include/external/rtc/;/opt/jallib/jallib-master/include/external/seven_segment/;/opt/jallib/jallib-master/include/external/shift_register/;/opt/jallib/jallib-master/include/external/sound/;/opt/jallib/jallib-master/include/external/storage/;/opt/jallib/jallib-master/include/external/storage/eeprom/;/opt/jallib/jallib-master/include/external/storage/ram/;/opt/jallib/jallib-master/include/external/temperature/;/opt/jallib/jallib-master/include/filesystem/;/opt/jallib/jallib-master/include/jal/;/opt/jallib/jallib-master/include/networking/;/opt/jallib/jallib-master/include/networking/device/;/opt/jallib/jallib-master/include/peripheral/;/opt/jallib/jallib-master/include/peripheral/adc/;/opt/jallib/jallib-master/include/peripheral/can/;/opt/jallib/jallib-master/include/peripheral/data_eeprom/;/opt/jallib/jallib-master/include/peripheral/flash_memory/;/opt/jallib/jallib-master/include/peripheral/i2c/;/opt/jallib/jallib-master/include/peripheral/interrupt_on_change/;/opt/jallib/jallib-master/include/peripheral/memory_pointer/;/opt/jallib/jallib-master/include/peripheral/pps/;/opt/jallib/jallib-master/include/peripheral/pwm/;/opt/jallib/jallib-master/include/peripheral/rtc/;/opt/jallib/jallib-master/include/peripheral/spi/;/opt/jallib/jallib-master/include/peripheral/timer/;/opt/jallib/jallib-master/include/peripheral/usart/;/opt/jallib/jallib-master/include/peripheral/usb/;/opt/jallib/jallib-master/include/protocol/
由于可以源码编译,它们还可以用在arm linux平板电脑上,移动开发更方便。