LINUX.ORG.RU

PIC


0

1

Раньше работал с контроллерами AVR. Софт соответственно avr-gcc (с avr-libc) и avrdude, благо они есть в стандартных репозиториях. Теперь хочу для расширения кругозора изучить PIC.

Какой софт в Linux для этого есть?

★★★★★

Ответ на: комментарий от KivApple

Конечно, но я в основном просто интерсовался и не делал что-либо на практике.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=14...
MPLAB C and HI-TECH C Compilers

http://www.micahcarrick.com/pic-c-programming-linux.html
Programming PIC's in Linux using C with SDCC

rikardoac
()
Последнее исправление: rikardoac (всего исправлений: 1)
Ответ на: комментарий от rikardoac
$ yaourt -Ss sdcc
community/sdcc 3.3.0-2
    Retargettable ANSI C compiler (Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08)
aur/eclipse-sdcc 1.0.0-1 (4)
    Eclipse plugin for SDCC
aur/sdcc-nf 3.3.0-1 (1)
    Retargettable ANSI C compiler with non-free targets(avr and xa51)

Поставил sdcc. Пробую скомпилировать пример из статьи (изменил только имя исходного файла):

$ sdcc --debug -mpic14 -p16f627 main.c
main.c:17:26: error: pic/pic16f627.h: No such file or directory
main.c:21: syntax error: token -> '0x2007' ; column 16

Как я понимаю, надо скачать заголовочные файлы, но ссылки в статье ведут на 404.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от rikardoac

Решил проблему, добавив опцию указания пути к инклюдам (заодно изменил, как в самом main.c, так и в команде компиляции на ту модель контроллера, которую я купил):

$ sdcc -I/usr/share/sdcc/non-free/include/ -mpic16 -p18f2550 main.c
main.c:20: syntax error: token -> '0x2007' ; column 16

Но вторая ошибка осталась. Ему не нравится вот эта конструкция:

/* Setup chip configuration */
typedef unsigned int config;
config at 0x2007 __CONFIG = _CP_OFF & 
 _WDT_OFF & 
 _BODEN_OFF & 
 _PWRTE_OFF & 
 _ER_OSC_CLKOUT & 
 _MCLRE_ON & 
 _LVP_OFF;
KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

I got the same error (token -> 0x3BFF) when compiling 'toggle_led.c'. I copy-pasted the source code from firefox (web browser) to a texteditor.
The error disappeard after I had downloaded and extracted toggle_led.c.tar.gz.

попробуй скачать сорцы архивом.

rikardoac
()
Ответ на: комментарий от KivApple

если честно я хз. можно в качестве эксперимента попробовать записать это все в одну строку, без переносов. либо вручную переписать весь код.

rikardoac
()
Ответ на: комментарий от I-Love-Microsoft

Вот, за это спасибо. Поставил MPLAB из AUR - получил полноценную IDE. Создал проект, написал простой код, но компиляция обламывается:

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Вход в каталог `/home/kiv/MPLABXProjects/usb-device.X'
make  -f nbproject/Makefile-default.mk dist/default/production/usb-device.X.production.hex
make[2]: Вход в каталог `/home/kiv/MPLABXProjects/usb-device.X'
"/opt/microchip/mplabc18/v3.40/bin/mcc18"  -p18F2550   -I "/opt/microchip/mplabc18/v3.40/bin"/../h  -fo build/default/production/main.o   main.c 
Error occurred during initialization of VM
Could not reserve enough space for object heap
make[2]: Выход из каталога `/home/kiv/MPLABXProjects/usb-device.X'
make[1]: Выход из каталога `/home/kiv/MPLABXProjects/usb-device.X'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
make[2]: *** [build/default/production/main.o] Ошибка 1
make[1]: *** [.build-conf] Ошибка 2
make: *** [.build-impl] Ошибка 2

BUILD FAILED (exit value 2, total time: 134ms)

Could not reserve enough space for object heap

Это на 64-битной системе с 8 ГБ ОЗУ (больше половины свободно).

KivApple ★★★★★
() автор топика

Так... ладно... софт вроде есть. Теперь вопрос в том, где почитать про PIC, а то я пока мало что понимаю.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

Компилятор Си хотя бы есть?

Будет ли радикальное отличие от avr если под обе платформы писать на C?

true_admin ★★★★★
()
Ответ на: комментарий от KivApple

где почитать про PIC,

в даташитах, на конкретные чипы

а вообще PIC не нужен, у него архитектура корявая, всякие банки памяти переключать надо и т.д. AVR красивее и программировать под него приятнее

Harald ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Скомпилировать в MPLAB - да. И даже запустить во встроенном эмуляторе.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от splinter

И действительно, ведь у microchip есть более современная линейка контроллеров.

I-Love-Microsoft ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.