Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите обрести крылья!
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Мур
Рессурс PIC12LF1840 впечатляет, как по быстродействию\пространству\набору периферии, так и по набору команд (аж 49!!!).

Казалось бы, тут можно расслабиться и отдать все на откуп компилятору. Проекты становятся в Си прозрачнее и скорость исполнения проекта возрастает. Так можно было вести дела с привычными AVR или ARM...

Вопрос звучит так. Как, из какого набора сред, компиляторов развернуть инструментарий, чтобы уйти от нынешнего бетта состояния, предлагаемого Microchip? Проверять компилятор нет времени... Да и симулятор серый, а внешний мир для осцила как узкое горлышко...

Что сейчас используют мастера для этого чипа? Нужен совет(желательно со ссылками), "как обрести крылья"? salmari.gif
Может не все так мрачно?..
ViKo
Hi-Tech PIC-C. Но придется согрешить.
shindax
Цитата(Мур @ Mar 18 2015, 11:47) *
...Вопрос звучит так. Как, из какого набора сред, компиляторов развернуть инструментарий, чтобы уйти от нынешнего бетта состояния, предлагаемого Microchip?..


А о "бета-состоянии" чего идёт речь? Чем XC8 + MPLAB не угодил? HI-TECH был хорош, конечно, но до определённой версии ( 9.60 PL3, кажется ). Но она точно не поддерживала ядро Enhanced midrange. IMHO, тут без вариантов: XC8 + MPLAB, или MPLABX.
A. Fig Lee
MPLABX работает на всех платформах. Проблем не имел. Чипы разные
Мур
Да хотя бы из http://electronix.ru/forum/index.php?showtopic=125601 ....

Этот чип сампо себе проблемен и я догадываюсь почему. Я глянул на основную систему из 34 команд (из 49 ти!). Оказалось, что 6 из них отличаются от PIC12LF1840 в части битовых полей.

Спасибо за советы. Расслаблюсь, буд-то нет проблем! =)
shindax
Цитата(Мур @ Mar 19 2015, 00:13) *


Так там шла речь про "бету" симулятора, но никак не компилятора, или собственно IDE.

Цитата(Мур @ Mar 19 2015, 00:13) *
...Этот чип сампо себе проблемен и я догадываюсь почему...


Так поделитесь Вашими сакральными знаниями, чем именно этот чип проблемен и почему.
Мур
Цитата(shindax @ Mar 19 2015, 11:26) *
Так там шла речь про "бету" симулятора, но никак не компилятора, или собственно IDE.

Так это ведь интегральная среда от одной фирмы... Чего ожидать дальше?

Цитата
Так поделитесь Вашими сакральными знаниями, чем именно этот чип проблемен и почему.

Команды, которые могут иметь отличия в машинных кодах:
CLRW
ADDLW k
MOVLP k
SUBLW k
RETLW k
NOP

Гляньте внимательно на Opcode поля ХХХ

В этом случае обмануть может не получится(если проект гнать для похожего контроллера!)
A. Fig Lee
Цитата(Мур @ Mar 18 2015, 12:13) *
Да хотя бы из http://electronix.ru/forum/index.php?showtopic=125601 ....

Этот чип сампо себе проблемен и я догадываюсь почему. Я глянул на основную систему из 34 команд (из 49 ти!). Оказалось, что 6 из них отличаются от PIC12LF1840 в части битовых полей.

Спасибо за советы. Расслаблюсь, буд-то нет проблем! =)


Есть mid range micro controllers (33 инструкции), есть mid range enhanced core (49).
Не путайте теплое с мягким.
Это 2 разных класса микроконтрроллеров.
Мур
Цитата(A. Fig Lee @ Mar 19 2015, 14:46) *
Есть mid range micro controllers (33 инструкции), есть mid range enhanced core (49).
Не путайте теплое с мягким.
Это 2 разных класса микроконтрроллеров.

Вы меня не поняли. Я предположил вести проект, не замечая остальные команды (от 35 до 49). Буд-то бы их нет! Тупо забить! Ведь можно?

Вот тут и появляется сомнение, что среди привычных команд есть шесть с потенциальной угрозой....

Я об ассемблере, ....но с оглядкой на выходные файлы после Си.
shindax
Цитата(Мур @ Mar 19 2015, 15:33) *
Так это ведь интегральная среда от одной фирмы... Чего ожидать дальше?

И что, что одной фирмы? Чего ждать? Как и у всех других фирм - новой версии, это процесс бесконечен.
Цитата(Мур @ Mar 19 2015, 15:33) *
Команды, которые могут иметь отличия в машинных кодах:
CLRW
ADDLW k
MOVLP k
SUBLW k
RETLW k
NOP
Гляньте внимательно на Opcode поля ХХХ
...
...что среди привычных команд есть шесть с потенциальной угрозой...

Посмотрел. Так в чём по-Вашему их "потенциальная угроза"? IMHO, Вы себе проблему сами выдумываете. Что, впрочем, для начинающих характерно. Всё заговоры мерещятся. То косяк в кристалле, то закладки в компиляторе.
Или Вы в машинных кодах программировать собираетесь? sm.gif
Цитата(Мур @ Mar 19 2015, 15:33) *
...В этом случае обмануть может не получится(если проект гнать для похожего контроллера!)...

Здесь вообще ничего не понял. Или формулируйте точнее. А в целом Вы сами себе ответили. Если проект кроссплатформенный - то пишите на Си, а машиннозависымие участки уже на ассемблере, это общепринятая, устойчивая практика.
Мур
Цитата(shindax @ Mar 20 2015, 06:08) *
И что, что одной фирмы? Чего ждать? Как и у всех других фирм - новой версии, это процесс бесконечен.

Посмотрел. Так в чём по-Вашему их "потенциальная угроза"? IMHO, Вы себе проблему сами выдумываете. Что, впрочем, для начинающих характерно. Всё заговоры мерещятся. То косяк в кристалле, то закладки в компиляторе.
Или Вы в машинных кодах программировать собираетесь? sm.gif

biggrin.gif А как тут не понять? Есть два контроллера имеющие общие команды (34шт). Да только 6 из них имеют поля явно прописанные для одного, но не определенные для другого контроллера, что означает формально произвольное значение бит в этих полях.
...Чтобы вы знали,- программирование на ассемблере соответствует программированию в машинных кодах. Да только для исключения ошибок(а это человеку присуще!) их заменили мненоникой один к одному!

Цитата
Здесь вообще ничего не понял. Или формулируйте точнее. А в целом Вы сами себе ответили. Если проект кроссплатформенный - то пишите на Си, а машиннозависымие участки уже на ассемблере, это общепринятая, устойчивая практика.
... и если взять наихудший случай,- одна и та же программа выполняющаяся для одного контроллера не сможет работать на другом. Именно в расхождениях в этих битах.
Для всех 16\12х Пиков эти 34 команды и есть вроде как машинонезависимые. Теперь о Си. Известно, что компилятор переводит одну логику высокого уровня Си в более громоздкую ассемблерную проследовательность. Среди этого набора команд обязательно есть эти злощастные 6 команд, что трактуются, если верить таблице, по-разному.

Понимэ?..
A. Fig Lee
Из пальца высосанная проблема.
Мур
Цитата(A. Fig Lee @ Mar 21 2015, 04:16) *
Из пальца высосанная проблема.


Да какая ни была!... Это надо держать в голове и не забывать.

По поводу проблемы. По сути это оффффтоп. Да только нет дыма без огня. Указанный контроллер можно отлаживать пошагово только на реальном железе ( в режиме эмуляции под PICKit3 к примеру). Симулятор будет вводить в заблуждение, поскольку работает не правильно и в 3.0 версии.

Тут всего на всего была идея идти по пути подмены проекта(с дальнейшей обратной коррекцией) на другой ПРОВЕРЕННЫЙ контроллер, что, собственно, и дало повод для анализа этой стратегии.
shindax
Цитата(Мур @ Mar 21 2015, 02:06) *
...Чтобы вы знали,- программирование на ассемблере соответствует программированию в машинных кодах. Да только для исключения ошибок(а это человеку присуще!) их заменили мненоникой один к одному!
...
Понимэ?..

Идиотизм какой-то...

Цитата(Мур @ Mar 21 2015, 13:52) *
Да какая ни была!... Это надо держать в голове и не забывать.

По поводу проблемы. По сути это оффффтоп. Да только нет дыма без огня. Указанный контроллер можно отлаживать пошагово только на реальном железе ( в режиме эмуляции под PICKit3 к примеру). Симулятор будет вводить в заблуждение, поскольку работает не правильно и в 3.0 версии.

Тут всего на всего была идея идти по пути подмены проекта(с дальнейшей обратной коррекцией) на другой ПРОВЕРЕННЫЙ контроллер, что, собственно, и дало повод для анализа этой стратегии.

Так Вы сделайте хоть что-то, а после анализируйте, если что-то пойдёт не так, а не наоборот. Так, по-крайней мере, все адекватные люди поступают. И не пойте, пожалуйста, прописные истины с видом оракула. На данный момент, ваша "проницательность", откровенно веселит.
Мур
Цитата(shindax @ Mar 21 2015, 19:47) *
Идиотизм какой-то...

Учите матчасть! Я застал время, когда программы писались в машинных кодах...

Цитата
Так Вы сделайте хоть что-то, а после анализируйте, если что-то пойдёт не так, а не наоборот. Так, по-крайней мере, все адекватные люди поступают. И не пойте, пожалуйста, прописные истины с видом оракула. На данный момент, ваша "проницательность", откровенно веселит.


Вы не указали моей ошибки. Отличие в кодах существует (см.6 команд)
shindax
Цитата(Мур @ Mar 22 2015, 01:41) *
Учите матчасть! Я застал время, когда программы писались в машинных кодах...

Вы там и остались, похоже. Про линкер Вам тогда не рассказывали?
Цитата(Мур @ Mar 22 2015, 01:41) *
Вы не указали моей ошибки. Отличие в кодах существует (см.6 команд)

IMHO, ошибка в генокоде.
Мур
Цитата(shindax @ Mar 23 2015, 06:25) *
Вы там и остались, похоже. Про линкер Вам тогда не рассказывали?

До сих пор помню некоторые машинные команды I8080. Это здорово помогало в тестировании периферии. В сложных случаях готовили перфоленты... =)

Цитата
IMHO, ошибка в генокоде.

Чудак! Ты находишься не в тех сетях. Тебе в отстое место. Здесь общаются культурные люди. Не хами!

Я ведь прав и упрекнуть не в чем. Это отличие в командах существует и с этим надо жить дальше... А линкер эти команды тупо использует и ему пофиг!

Вот и бетта замучила чувака http://www.microchip.su/showpost.php?p=212...p;postcount=417
ar__systems
Начнем с того, что ассебмлер и машинные коды - это не одно и тоже. На пиках разных серий какой-нибудь movfw будет транслироваться в разные коды, ну уже хотя бы потому, что разный размер одного слова. Поэтому париться о том, где у кого какие битовые поля совершенно не нужно.

Поэтому проблемы никакой нет. Если, конечно, вы не собираетесь компилировать код какбы для процессора А, а на самом деле запускать его потом на процессоре Б. Что довольно странно.
girts
Цитата(ar__systems @ Jun 21 2015, 16:19) *
Если, конечно, вы не собираетесь компилировать код какбы для процессора А, а на самом деле запускать его потом на процессоре Б. Что довольно странно.

А ничего странного.
Скажем, нужно срочно сделать партию несложных изделий, а процов А нет по каким то причинам под рукой. За то есть процы Б. Но будут опять и
А. Но потом.
Почему делать два разных НЕХ если можно попытатся обойтись одним?
Вполне адекватный подход.
Dog Pawlowa
Цитата(Мур @ Mar 23 2015, 11:25) *
В сложных случаях готовили перфоленты... =)

Я тоже использовал перфоленты для отладки 8080, но прошло много лет, все изменилось.
То, о чем Вы пишете, достойное занятие для человека предпенсионного возраста, но всерьез выдавать свои сентенции за истину в последней инстанции все же не стоит.
Трудоемкость покупки правильных микросхем намного меньше трудоемкости такого ПО, как Вы хотите.

И еще. Уж не инкарнация ли это дохтура Туамосеца?!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.