|
Помогите обрести крылья!, Си инструмент для PIC12LF1840. Совет у знатоков. |
|
|
|
Mar 18 2015, 04:47
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Рессурс PIC12LF1840 впечатляет, как по быстродействию\пространству\набору периферии, так и по набору команд (аж 49!!!). Казалось бы, тут можно расслабиться и отдать все на откуп компилятору. Проекты становятся в Си прозрачнее и скорость исполнения проекта возрастает. Так можно было вести дела с привычными AVR или ARM... Вопрос звучит так. Как, из какого набора сред, компиляторов развернуть инструментарий, чтобы уйти от нынешнего бетта состояния, предлагаемого Microchip? Проверять компилятор нет времени... Да и симулятор серый, а внешний мир для осцила как узкое горлышко... Что сейчас используют мастера для этого чипа? Нужен совет(желательно со ссылками), "как обрести крылья"? Может не все так мрачно?..
|
|
|
|
|
Mar 18 2015, 10:49
|

Участник

Группа: Участник
Сообщений: 23
Регистрация: 2-04-10
Из: Красноярск
Пользователь №: 56 366

|
Цитата(Мур @ Mar 18 2015, 11:47)  ...Вопрос звучит так. Как, из какого набора сред, компиляторов развернуть инструментарий, чтобы уйти от нынешнего бетта состояния, предлагаемого Microchip?.. А о "бета-состоянии" чего идёт речь? Чем XC8 + MPLAB не угодил? HI-TECH был хорош, конечно, но до определённой версии ( 9.60 PL3, кажется ). Но она точно не поддерживала ядро Enhanced midrange. IMHO, тут без вариантов: XC8 + MPLAB, или MPLABX.
Сообщение отредактировал shindax - Mar 18 2015, 10:51
|
|
|
|
|
Mar 18 2015, 17:13
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Да хотя бы из http://electronix.ru/forum/index.php?showtopic=125601 .... Этот чип сампо себе проблемен и я догадываюсь почему. Я глянул на основную систему из 34 команд (из 49 ти!). Оказалось, что 6 из них отличаются от PIC12LF1840 в части битовых полей. Спасибо за советы. Расслаблюсь, буд-то нет проблем! =)
|
|
|
|
|
Mar 19 2015, 07:26
|

Участник

Группа: Участник
Сообщений: 23
Регистрация: 2-04-10
Из: Красноярск
Пользователь №: 56 366

|
Цитата(Мур @ Mar 19 2015, 00:13)  Так там шла речь про "бету" симулятора, но никак не компилятора, или собственно IDE. Цитата(Мур @ Mar 19 2015, 00:13)  ...Этот чип сампо себе проблемен и я догадываюсь почему... Так поделитесь Вашими сакральными знаниями, чем именно этот чип проблемен и почему.
Сообщение отредактировал shindax - Mar 19 2015, 07:29
|
|
|
|
|
Mar 19 2015, 08:33
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(shindax @ Mar 19 2015, 11:26)  Так там шла речь про "бету" симулятора, но никак не компилятора, или собственно IDE. Так это ведь интегральная среда от одной фирмы... Чего ожидать дальше? Цитата Так поделитесь Вашими сакральными знаниями, чем именно этот чип проблемен и почему. Команды, которые могут иметь отличия в машинных кодах: CLRW ADDLW k MOVLP k SUBLW k RETLW k NOP Гляньте внимательно на Opcode поля ХХХ В этом случае обмануть может не получится(если проект гнать для похожего контроллера!)
|
|
|
|
|
Mar 19 2015, 11:46
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Мур @ 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 разных класса микроконтрроллеров.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Mar 19 2015, 13:02
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(A. Fig Lee @ Mar 19 2015, 14:46)  Есть mid range micro controllers (33 инструкции), есть mid range enhanced core (49). Не путайте теплое с мягким. Это 2 разных класса микроконтрроллеров. Вы меня не поняли. Я предположил вести проект, не замечая остальные команды (от 35 до 49). Буд-то бы их нет! Тупо забить! Ведь можно? Вот тут и появляется сомнение, что среди привычных команд есть шесть с потенциальной угрозой.... Я об ассемблере, ....но с оглядкой на выходные файлы после Си.
|
|
|
|
|
Mar 20 2015, 03:08
|

Участник

Группа: Участник
Сообщений: 23
Регистрация: 2-04-10
Из: Красноярск
Пользователь №: 56 366

|
Цитата(Мур @ Mar 19 2015, 15:33)  Так это ведь интегральная среда от одной фирмы... Чего ожидать дальше? И что, что одной фирмы? Чего ждать? Как и у всех других фирм - новой версии, это процесс бесконечен. Цитата(Мур @ Mar 19 2015, 15:33)  Команды, которые могут иметь отличия в машинных кодах: CLRW ADDLW k MOVLP k SUBLW k RETLW k NOP Гляньте внимательно на Opcode поля ХХХ ... ...что среди привычных команд есть шесть с потенциальной угрозой... Посмотрел. Так в чём по-Вашему их "потенциальная угроза"? IMHO, Вы себе проблему сами выдумываете. Что, впрочем, для начинающих характерно. Всё заговоры мерещятся. То косяк в кристалле, то закладки в компиляторе. Или Вы в машинных кодах программировать собираетесь?  Цитата(Мур @ Mar 19 2015, 15:33)  ...В этом случае обмануть может не получится(если проект гнать для похожего контроллера!)... Здесь вообще ничего не понял. Или формулируйте точнее. А в целом Вы сами себе ответили. Если проект кроссплатформенный - то пишите на Си, а машиннозависымие участки уже на ассемблере, это общепринятая, устойчивая практика.
Сообщение отредактировал shindax - Mar 20 2015, 03:30
|
|
|
|
|
Mar 20 2015, 19:06
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(shindax @ Mar 20 2015, 06:08)  И что, что одной фирмы? Чего ждать? Как и у всех других фирм - новой версии, это процесс бесконечен. Посмотрел. Так в чём по-Вашему их "потенциальная угроза"? IMHO, Вы себе проблему сами выдумываете. Что, впрочем, для начинающих характерно. Всё заговоры мерещятся. То косяк в кристалле, то закладки в компиляторе. Или Вы в машинных кодах программировать собираетесь?   А как тут не понять? Есть два контроллера имеющие общие команды (34шт). Да только 6 из них имеют поля явно прописанные для одного, но не определенные для другого контроллера, что означает формально произвольное значение бит в этих полях. ...Чтобы вы знали,- программирование на ассемблере соответствует программированию в машинных кодах. Да только для исключения ошибок(а это человеку присуще!) их заменили мненоникой один к одному! Цитата Здесь вообще ничего не понял. Или формулируйте точнее. А в целом Вы сами себе ответили. Если проект кроссплатформенный - то пишите на Си, а машиннозависымие участки уже на ассемблере, это общепринятая, устойчивая практика. ... и если взять наихудший случай,- одна и та же программа выполняющаяся для одного контроллера не сможет работать на другом. Именно в расхождениях в этих битах. Для всех 16\12х Пиков эти 34 команды и есть вроде как машинонезависимые. Теперь о Си. Известно, что компилятор переводит одну логику высокого уровня Си в более громоздкую ассемблерную проследовательность. Среди этого набора команд обязательно есть эти злощастные 6 команд, что трактуются, если верить таблице, по-разному. Понимэ?..
|
|
|
|
|
Mar 21 2015, 06:52
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(A. Fig Lee @ Mar 21 2015, 04:16)  Из пальца высосанная проблема. Да какая ни была!... Это надо держать в голове и не забывать. По поводу проблемы. По сути это оффффтоп. Да только нет дыма без огня. Указанный контроллер можно отлаживать пошагово только на реальном железе ( в режиме эмуляции под PICKit3 к примеру). Симулятор будет вводить в заблуждение, поскольку работает не правильно и в 3.0 версии. Тут всего на всего была идея идти по пути подмены проекта(с дальнейшей обратной коррекцией) на другой ПРОВЕРЕННЫЙ контроллер, что, собственно, и дало повод для анализа этой стратегии.
|
|
|
|
|
Mar 21 2015, 16:47
|

Участник

Группа: Участник
Сообщений: 23
Регистрация: 2-04-10
Из: Красноярск
Пользователь №: 56 366

|
Цитата(Мур @ Mar 21 2015, 02:06)  ...Чтобы вы знали,- программирование на ассемблере соответствует программированию в машинных кодах. Да только для исключения ошибок(а это человеку присуще!) их заменили мненоникой один к одному! ... Понимэ?.. Идиотизм какой-то... Цитата(Мур @ Mar 21 2015, 13:52)  Да какая ни была!... Это надо держать в голове и не забывать.
По поводу проблемы. По сути это оффффтоп. Да только нет дыма без огня. Указанный контроллер можно отлаживать пошагово только на реальном железе ( в режиме эмуляции под PICKit3 к примеру). Симулятор будет вводить в заблуждение, поскольку работает не правильно и в 3.0 версии.
Тут всего на всего была идея идти по пути подмены проекта(с дальнейшей обратной коррекцией) на другой ПРОВЕРЕННЫЙ контроллер, что, собственно, и дало повод для анализа этой стратегии. Так Вы сделайте хоть что-то, а после анализируйте, если что-то пойдёт не так, а не наоборот. Так, по-крайней мере, все адекватные люди поступают. И не пойте, пожалуйста, прописные истины с видом оракула. На данный момент, ваша "проницательность", откровенно веселит.
Сообщение отредактировал shindax - Mar 21 2015, 16:53
|
|
|
|
|
Mar 21 2015, 18:41
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(shindax @ Mar 21 2015, 19:47)  Идиотизм какой-то... Учите матчасть! Я застал время, когда программы писались в машинных кодах... Цитата Так Вы сделайте хоть что-то, а после анализируйте, если что-то пойдёт не так, а не наоборот. Так, по-крайней мере, все адекватные люди поступают. И не пойте, пожалуйста, прописные истины с видом оракула. На данный момент, ваша "проницательность", откровенно веселит. Вы не указали моей ошибки. Отличие в кодах существует (см.6 команд)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|