Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Инструментарий

Инструментарий Тестеры, паяльники, осциллографы, программаторы, IDE.

Ответ
 
Опции темы Опции просмотра
Старый 15.10.2015, 09:59   #1
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию SDCC Compiler

Здравствуйте!
Кто-нибудь использует SDСС compilrer? besogon использует, я знаю, но интересны и другие мнения. И вы можете высказаться.
Компилятор развивается и поддерживает PIC16F и PIC18, при этом в их описании они идут как pic14 и pic16 соответственно (по размеру инструкций) и даже новые МК поддерживает (Enhanced) и можно добавлять поддержку новых микроконтроллеров.
Вроде, бесплатный и в Microsoft Visual Studio интегрируется.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 27.11.2015, 11:58   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Pridnya
попробуйте сделать на SDCC какой-нибудь несложный проект.
сразу все станет понятно.

пока много загонов, которые весьма непросто как понять, так и объяснить.

pic16 port в данный момент почти непригоден в случае extended instruction set. (после вызова/возвращения из функции программный стек растет).

pic14 port в целом может генерировать код для несложных программ.

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

традиционным образом объявить несколько register переменных, как мне показалось, нереально.

если есть возможность сказать, на какой тип данных указывает указатель - лучше указывать, тк. по умолчанию указатели трактуются как generic pointer.

собирайте последний sdcc - проект активно развивается.

есть поддержка mplabx в виде плагина, впрочем поддерживаются не все камни - требуется в ручную править плагин для добавления новых.
*не работал на win платформе - но не думаю, что есть отличия.
besogon вне форума   Ответить с цитированием
Старый 27.11.2015, 12:00   #3
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

забыл.
отладка по asm файлам, которые генерирует непосредственно sdcc.
на мой взгляд, очень наглядно.
besogon вне форума   Ответить с цитированием
Старый 27.11.2015, 12:18   #4
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Если есть возможность, то выложите простенький проект для PIC16F628А с указанием среды разработки и её версии, а то не очень понятно как этим пользоваться. Чтобы можно было что-то изменить и пересобрать в той же среде разработки. Может кто и начнет изучать.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 27.11.2015, 14:10   #5
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Pridnya
простой проект, который показывает в сущности как все организовывается в sdcc pic14 port.
проект не упакован в zip - удалите расширение.
это просто tar.bz2 архив.

workaround невозможности выкладывания тарболов на форум.

у меня нет pic16f628a - нет возможности проверить работоспособность кода.
код собирается sdcc 3.5.0 - там есть коротенькое описание.
в примере показано, как задать configuration bits и как организуется прерывание.
Вложения
Тип файла: zip example_pridnya_topic.tar.bz2.zip (26.9 Кб, 14 просмотров)
besogon вне форума   Ответить с цитированием
Старый 27.11.2015, 14:14   #6
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

[off]
проект написал короткое время по Вашему запросу - со всеми вытекающими.
увы, не могу расшарить свои проекты - все права на них принадлежат моему заказчику.
[/off]
besogon вне форума   Ответить с цитированием
Старый 27.11.2015, 20:03   #7
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от besogon Посмотреть сообщение
проект написал короткое время по Вашему запросу - со всеми вытекающими.
увы, не могу расшарить свои проекты - все права на них принадлежат моему заказчику.
И на том спасибо! Интересуюсь всем новым (для меня), посмотрел документацию на SDCC, а как начать не понял, знаю, что там настраивать среду разработки нужно и make-файл. Потому хотелось бы посмотреть на реальном примере, самом простом. PIC16F628А указал для примера. А так у меня есть демо-платы (самоделки) для PIC: PIC16F84A, PIC16F628A, PIC16F876A, PIC18F452, PIC18F2550, PIC24HJ128GP502.
Есть и поновее пики PIC18F14K50 и PIC18F26K20, но они не на платах. Нужно было делать одну плату со сменными модулями микроконтроллера.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 27.11.2015, 20:09   #8
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Pridnya
если есть какие-либо вопросы о SDCC - спрашивайте, постараюсь ответить.
besogon вне форума   Ответить с цитированием
Старый 27.11.2015, 23:04   #9
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от besogon Посмотреть сообщение
Pridnya
если есть какие-либо вопросы о SDCC - спрашивайте, постараюсь ответить.
Пример для MPLABX.
У меня установлен MPLABX 3.10 и Windows XP.
Проект открылся в MPLABX, я его переименовал в example_sdcc.
Установил последнюю версию SDCC, перезагрузил компьютер, MPLABX не видит SDCC.
Установил плагин SDCC для MPLABX (через меню MPLABX), MPLABX увидел SDCC.
Нажал кнопку собрать и увидел в окне вывода ошибки.
Что-то нужно настроить.
Миниатюры
Plugin.PNG   MPLABX SDCC.PNG  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 28.11.2015, 08:58   #10
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

у Вас странное сообщение от gpasm.exe
Вы пробовали собирать не переименовывая проект?
у меня такой лог сборки:
Код:
CLEAN SUCCESSFUL (total time: 57ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: вход в каталог «/home/egan/MPLABXProjects/example_pridnya_topic.X»
make  -f nbproject/Makefile-default.mk dist/default/production/example_pridnya_topic.X.production.hex
make[2]: Entering directory '/home/egan/MPLABXProjects/example_pridnya_topic.X'
at 1: warning 117: unknown compiler option '--debug-ralloc' ignored
at 1: warning 117: at 1: warning 117: unknown compiler option '--pstack-model=small' ignored
unknown compiler option '--debug-ralloc' ignored
at 1: warning 117: unknown compiler option '--pstack-model=small' ignored
mkdir -p build/default/production 
mkdir -p build/default/production/drivers/core_timer 
rm -f  build/default/production/core.o 
rm -f  build/default/production/drivers/core_timer/core_timer.o 
"/usr/bin/sdcc" --debug-ralloc --use-non-free --pstack-model=small --std-sdcc99 -c -mpic14 -p16f628a core.c  -obuild/default/production/core.o
"/usr/bin/sdcc" --debug-ralloc --use-non-free --pstack-model=small --std-sdcc99 -c -mpic14 -p16f628a drivers/core_timer/core_timer.c  -obuild/default/production/drivers/core_timer/core_timer.o
at 1: warning 117: unknown compiler option '--debug-ralloc' ignored
at 1: warning 117: unknown compiler option '--pstack-model=small' ignored
build/default/production/core.asm:140:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:174:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:176:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:223:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:225:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:228:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:230:Message[312] Page or Bank selection not needed for this device. No code generated.
mkdir -p dist/default/production 
"/usr/bin/sdcc"  --debug-ralloc -Wl-c -Wl-m --use-non-free --pstack-model=small --std-sdcc99 -mpic14 -p16f628a build/default/production/core.o build/default/production/drivers/core_timer/core_timer.o  -odist/default/production/example_pridnya_topic.X.production.cof 
message: Using default linker script "/usr/share/gputils/lkr/16f628a_g.lkr".
make[2]: Leaving directory '/home/egan/MPLABXProjects/example_pridnya_topic.X'
make[1]: выход из каталога «/home/egan/MPLABXProjects/example_pridnya_topic.X»

BUILD SUCCESSFUL (total time: 916ms)
Loading code from /home/egan/MPLABXProjects/example_pridnya_topic.X/dist/default/production/example_pridnya_topic.X.production.hex...
Loading completed
besogon вне форума   Ответить с цитированием
Старый 28.11.2015, 09:37   #11
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

может быть у Вас gputils не установлен?
http://gputils.sourceforge.net/
besogon вне форума   Ответить с цитированием
Старый 29.11.2015, 21:15   #12
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от besogon Посмотреть сообщение
может быть у Вас gputils не установлен?
http://gputils.sourceforge.net/
Не очень хорошая идея добавлять мою фамилию в имя проекта, поэтому я его переименовал.
Результат сборки без переименовывания такой же
Цитата:

CLEAN SUCCESSFUL (total time: 1s)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/MPLABX/example_pridnya_topic.X'
make -f nbproject/Makefile-default.mk dist/default/production/example_pridnya_topic.X.production.hex
make[2]: Entering directory 'C:/MPLABX/example_pridnya_topic.X'
gnumkdir -p build/default/production
rm -f build/default/production/core.o
"C:\Program Files\SDCC\bin\sdcc.exe" --debug-ralloc --use-non-free --pstack-model=small --std-sdcc99 -c -mpic14 -p16f628a core.c -obuild/default/production/core.o
"gpasm.exe" ?? ????? ???????? ??? ?????
????????, ??????? ?????? ??? ?????? ????.
at 1: warning 117: unknown compiler option '--debug-ralloc' ignored
at 1: warning 117: unknown compiler option '--pstack-model=small' ignored
make[2]: *** [build/default/production/core.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
nbproject/Makefile-default.mk:95: recipe for target 'build/default/production/core.o' failed
make[2]: Leaving directory 'C:/MPLABX/example_pridnya_topic.X'
nbproject/Makefile-default.mk:78: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/MPLABX/example_pridnya_topic.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed

BUILD FAILED (exit value 2, total time: 3s)
gputils у меня действительно не установлен, я и не думал, что он нужен, думал, что достаточно SDCC. Оказывается не достаточно.
Удивило, что ассемблер, компоновщик и библиотеки из gputils. Если я правильно понял, то SDCC использует gputils.
Цитата:
GPUTILS is a collection of tools for the Microchip (TM) PIC microcontrollers. It includes gpasm, gplink, and gplib.
Там же есть плагин для MPLAB (не для MPLABX!!!) и что-то он древний какой-то, аж 2005-го года и за 10 лет всего 4 загрузки, наверное, одна ваша. Установил версию 0.3, проект собрался с предупреждениями.
Цитата:
CLEAN SUCCESSFUL (total time: 63ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/MPLABX/example_pridnya_topic.X'
make -f nbproject/Makefile-default.mk dist/default/production/example_pridnya_topic.X.production.hex
make[2]: Entering directory 'C:/MPLABX/example_pridnya_topic.X'
gnumkdir -p build/default/production
rm -f build/default/production/core.o
"C:\Program Files\SDCC\bin\sdcc.exe" --debug-ralloc --use-non-free --pstack-model=small --std-sdcc99 -c -mpic14 -p16f628a core.c -obuild/default/production/core.o
build/default/production/core.asm:140:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:174:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:176:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:223:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:225:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:228:Message[312] Page or Bank selection not needed for this device. No code generated.
build/default/production/core.asm:230:Message[312] Page or Bank selection not needed for this device. No code generated.
gnumkdir -p build/default/production/drivers/core_timer
rm -f build/default/production/drivers/core_timer/core_timer.o
"C:\Program Files\SDCC\bin\sdcc.exe" --debug-ralloc --use-non-free --pstack-model=small --std-sdcc99 -c -mpic14 -p16f628a drivers/core_timer/core_timer.c -obuild/default/production/drivers/core_timer/core_timer.o
gnumkdir -p dist/default/production
"C:\Program Files\SDCC\bin\sdcc.exe" --debug-ralloc -Wl-c -Wl-m --use-non-free --pstack-model=small --std-sdcc99 -mpic14 -p16f628a build/default/production/core.o build/default/production/drivers/core_timer/core_timer.o -odist/default/production/example_pridnya_topic.X.production.cof
message: Using default linker script "C:\Program Files\gputils\lkr\16f628a_g.lkr".
make[2]: Leaving directory 'C:/MPLABX/example_pridnya_topic.X'
make[1]: Leaving directory 'C:/MPLABX/example_pridnya_topic.X'
at 1: warning 117: unknown compiler option '--debug-ralloc' ignored
at 1: warning 117: unknown compiler option '--pstack-model=small' ignored
at 1: warning 117: unknown compiler option '--debug-ralloc' ignored
at 1: warning 117: unknown compiler option '--pstack-model=small' ignored
at 1: warning 117: unknown compiler option '--debug-ralloc' ignored
at 1: warning 117: unknown compiler option '--pstack-model=small' ignored

BUILD SUCCESSFUL (total time: 657ms)
Loading code from C:/MPLABX/example_pridnya_topic.X/dist/default/production/example_pridnya_topic.X.production.hex...
Loading completed
Для gputils усть еще и симулятор gpsim.

PS: Одна мысль покоя не дает, что все это было актуально в те времена, когда MPLAB не работал на Linux, Mac...т.е. когда он работал только на Windows. Пользователи других платформа могли использовать gputils, gpsim. А вот теперь есть MPLABX и он на разных платформах работатет.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 29.11.2015 в 21:28.
Pridnya вне форума   Ответить с цитированием
Старый 29.11.2015, 23:22   #13
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Pridnya
Если я правильно понял, то SDCC использует gputils. - да.
обычно при установке пакета вопросы с зависимостями решает пакетный менеджер.
предупреждения из-за несколько кривого sdcc плагина к mplabx, который почему-то добавляет в pic14 аргументы для pic16.
Установил версию 0.3 - сейчас актуальная 1.4. так что если какие-нибудь современные мк не будут поддерживаться - обновите до более поздней.
besogon вне форума   Ответить с цитированием
Старый 30.11.2015, 08:07   #14
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от besogon Посмотреть сообщение
Pridnya
Если я правильно понял, то SDCC использует gputils. - да.
обычно при установке пакета вопросы с зависимостями решает пакетный менеджер.
предупреждения из-за несколько кривого sdcc плагина к mplabx, который почему-то добавляет в pic14 аргументы для pic16.
Установил версию 0.3 - сейчас актуальная 1.4. так что если какие-нибудь современные мк не будут поддерживаться - обновите до более поздней.
Есть сайт gputils, на его главной странице есть раздел MPLAB Plugin, в нем есть ссылка на gputils-mplab. Переходим по ссылке и видим содержимое скриншота. Вот не помню, что я установил, наверное, 0.3. Вероятно, не обратил внимание на отдельную ссылку вне таблицы "Последняя версия". Таблица со старыми версиями, а вверху отдельная ссылка на новую. Почему бы не сделать все версии в таблице, было бы понятно: номер версии, дата сборки, количество загрузок (было бы понятно, на сколько она востребована), зачем версии 10-ти летней давности предлагать смотреть. Если бы старых версий было 25, то можно новую и не заметить. Странная подача информации. Вечером установлю 1.4 и попробую.
Миниатюры
скриншот.PNG  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 30.11.2015, 19:02   #15
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Есть сайт gputils, на его главной странице есть раздел MPLAB Plugin, в нем есть ссылка на gputils-mplab. Переходим по ссылке и видим содержимое скриншота. Вот не помню, что я установил, наверное, 0.3. Вероятно, не обратил внимание на отдельную ссылку вне таблицы "Последняя версия".
...
Вечером установлю 1.4 и попробую.
Уточняю: в каталоге загрузок у меня присутствует gputils-1.4.0.exe, значит я вчера скачал последнюю версию плагина для Windows.
Может, там есть какие различия (для Linux и для Windows)? Однозначно: проект для MPLABX для Linux и Windows должен давать один и тот же результат после сборки. Не должно быть различий из-за какого-то промежуточного софта, тем более, что этот софт последней версии.

А вообще, когда я начинал писать на Ассемблере mpasm в MPLAB, тогда еще была Windows 98, то проблем не было (с учетом тех знаний). Затем начал изучать Си с использованием CCS PICC. Даже тогда было гораздо проще, чем с помощью SDCC. Там и IDE своя и компилятор. Создал проект, добавил файлы (можно из примеров), изменил, собрал проект и *.hex файл готов.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 30.11.2015 в 19:13.
Pridnya вне форума   Ответить с цитированием
Старый 30.11.2015, 19:58   #16
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Pridnya
Может, там есть какие различия (для Linux и для Windows)? - почти наверняка если и есть, то крайне незначительные и мало влияющие на сгенерированный код.
тем более, что этот софт последней версии. - скорее последний стабильный. можете скачать исходные коды нестабильной версии и собрать, отписавшись в случае багов.
gputils более поздних версий поддерживает более современные МК - соответственно вряд-ли есть особый смысл гоняться за самыми последними.

посмотрите что собрал SDCC - результат лежит в папке build - соответственно отладка по сгенерированным .asm файлам.
besogon вне форума   Ответить с цитированием
Старый 01.12.2015, 10:51   #17
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

забыл.
нужно добавить workaround(cast) для bit clear бага.
http://sourceforge.net/p/sdcc/bugs/2258/
иначе конструкции вида x&=~(1<<y); разворачиваются в неоптимизированный код.
besogon вне форума   Ответить с цитированием
Старый 01.12.2015, 11:01   #18
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от besogon Посмотреть сообщение
забыл.
нужно добавить workaround(cast) для bit clear бага.
http://sourceforge.net/p/sdcc/bugs/2258/
иначе конструкции вида x&=~(1<<y); разворачиваются в неоптимизированный код.
Сейчас пока некогда, но попозже еще посмотрю MPLABX+SDCC+gputils.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 02.12.2015, 23:27   #19
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от Pridnya Посмотреть сообщение
попозже еще посмотрю MPLABX+SDCC+gputils.
Такие интересные моменты обнаружил:
1) SDCC изначально был для x51, Z80...и только потом появился порт для PIC серий PIC16F, PIC18F.
2) стандартные Си-шные функции есть, а вот с периферией придется работать на Ассемблере, вникая при этом в особенности архитектуры конкретного микроконтроллера;

Есть ли для SDCC-порта для PIC перифирийные библиотеки на Си (настроить, записать, прочитать...)? Не очень понятно, как вы с этим работаете и собираетесь дальше работать. Ведь заявлено, что SDCC поддерживает микроконтроллеры с модулем USB...

И, если не секрет, то как так получилось, что вы выбрали SDCC? На мой взгляд, вы сильно себя ограничили.

PS: В связи с тем, что вы как-то интересовались написанием своего планировщика возник вопрос, а есть ли RTOS, поддерживающая SDCC, например, как Salvo, JacOS, OSA?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 03.12.2015, 13:06   #20
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Есть ли для SDCC-порта для PIC перифирийные библиотеки на Си - периферийные библиотеки есть драйвера для шин, библиотеки общего назначения и.т.д?
я никогда не использовал plib/harmony и.т.д в своих проектах.
драйвера и библиотеки писал самостоятельно на С.
что SDCC поддерживает микроконтроллеры с модулем USB - не до конца понимаю, в чем загвоздка? дольше - да, но одновременно с этим будет более полное понимание.
И, если не секрет, то как так получилось, что вы выбрали SDCC? - стараюсь не быть завязанным на один компилятор. пишу, естественно, как на xc8, так и для sdcc.
а есть ли RTOS - в ходе изучения rtos на МК я довольно серьезно в них был разочарован и забросил исследование направления.
возможно в будущем у меня появятся новые идеи и я смогу по новому взглянуть на rtos, однако пока явного понимания их преимуществ(кроме как сокращение времени разработки) я не вижу.

уверен, что портировать OSA на SDCC pic16 port дело нескольких дней.
besogon вне форума   Ответить с цитированием
Старый 03.12.2015, 13:54   #21
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 40
Сообщений: 4,731
Вес репутации: 4545/132
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Цитата:
Сообщение от besogon Посмотреть сообщение
периферийные библиотеки есть драйвера для шин, библиотеки общего назначения и.т.д?

что SDCC поддерживает микроконтроллеры с модулем USB - не до конца понимаю, в чем загвоздка?
Называйте их как хотите, хоть драйвера, хоть библиотеки. Меня интересуют сишные функции для работы с периферией (I2C...CAN...USB...), библиотеки для работы с USB, например для конфигурирования модуля как USB-HID, USB-CDC...

Цитата:
Сообщение от besogon Посмотреть сообщение
я никогда не использовал plib/harmony и.т.д в своих проектах.
драйвера и библиотеки писал самостоятельно на С.
Т.е. для работы с периферией вы пишите свои сишные функции с ассемблерными вставками?
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 03.12.2015, 16:51   #22
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

Pridnya
для большинства шин можно сделать неидеальную реализацию на C.
увы, для идеальной реализации понадобится, конечно, asm вставки, однако зачастую это затрудняет понимание и увеличивает время разработки.
вот, допустим, пример для i2c пример - там пример конечного автомата для i2c на C для какого-то из PIC18(уже не помню) для обращения к устройствам с 8битной внутренней шиной адреса посредством дискрипторов устройств.
http://www.microchip.su/showthread.php?t=17397
или Вы о заголовках?
если Вы о заголовках microchip, то после сборки SDCC с флагом non-free и указании флага non-free в параметрах становится допустимым использовать несвободные заголовки microchip.
аля #include <pic18f14k22.h>
и последующим использованием имен регистров этого МК.

к сожалению есть некие проблемы с подсветкой синтаксиса(красное подчеркивание), которые в базовом варианте не решаются - требуется настройка путей.
besogon вне форума   Ответить с цитированием
Старый 03.12.2015, 16:54   #23
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SDCC Compiler

пример того, как я делаю.
соответственно повод подумать, осудить или что-то почерпнуть, однако никак не бездумно повторять.
Вложения
Тип файла: zip i2c_example.zip (2.3 Кб, 17 просмотров)
besogon вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MPLAB® XC Picvan Продукция MICROCHIP 67 15.01.2013 07:22
HI-TECH C Compiler ругается на __CONFIG ChiperKO Продукция MICROCHIP 12 30.07.2012 09:56
Просьба перекомпилить под 16f877 в SDCC Koka Продукция MICROCHIP 4 09.12.2011 10:15
pic18f14k50 + USB (CCS C Compiler v4.107) picpicpic Продукция MICROCHIP 19 11.06.2010 14:54
Вопросы по MPLAB C Compiler for Student F2hhX Вопросы начинающих 2 02.01.2009 12:46


Часовой пояс GMT +3, время: 14:52.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot