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

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 15.06.2017, 15:41   #1
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Переезд на новую версию MPLAB

Здравствуйте! Захотелось перейти на последний MPLAB с версии 8.66. Сейчас мучаюсь, пытаясь запустить старые проекты. Сделал так: создал новый пустой проект, добавил в него сишные файлы проекта. Компилятор старый, Picc std 9.52. Но не компилируется. В частности, ругается на это место:
Код:
   while ((_1w_temp1=eeprom_read(addr)) && (_1w_temp1^0xFF)) {
Ругается так:
../1-wire.c:380: error: (1268) fixup overflow storing 0x17F in 1 byte at 0x6BCA (build/default/production/_ext/1472/1-wire.obj 130/0xE)
Ругался так же еще в нескольких местах, но там удалось поправить, вынеся присваивание из логического оператора, но здесь это красиво не получается. Да и, в принципе, не пойму, в чем проблема?
И вот еще:
C:\Program Files\Electronics\PICC-18\STD\9.52\lib\pic82l-c.lib(wtoft.obj):0: error: (491) can't find 0x91 words for psect "nvram" in segment "NVRAM"
Не пойму, кто что там в NVRAM класть собрался? Мой код этого не делает. Раньше этой проблемы не было. Вообще, проект старый, многократно компилировавшийся и благополучно работающий.
Помогите, люди добрые!
dimchik_b вне форума   Ответить с цитированием
Старый 15.06.2017, 15:58   #2
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 466
Вес репутации: 838/50
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: Переезд на новую версию MPLAB

вы на Х или на 8.92 перешли ?
Vint вне форума   Ответить с цитированием
Старый 15.06.2017, 16:24   #3
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

На Х
dimchik_b вне форума   Ответить с цитированием
Старый 15.06.2017, 17:34   #4
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 700
Вес репутации: 1200/46
DmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud of
По умолчанию Re: Переезд на новую версию MPLAB

Цитата:
Сообщение от dimchik_b Посмотреть сообщение
Ругался так же еще в нескольких местах, но там удалось поправить, вынеся присваивание из логического оператора, но здесь это красиво не получается.
что мешает? все условие прописываем как функцию и возвращаем результат или нет?
DmitrijVDN вне форума   Ответить с цитированием
Старый 15.06.2017, 17:49   #5
Илья
Senior Member
 
Регистрация: 26.02.2007
Адрес: SPb
Сообщений: 1,124
Вес репутации: 1581/65
Илья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant future
По умолчанию Re: Переезд на новую версию MPLAB

позвольте,
ругается компилятор. Если компилятор не меняется, то пофигу какая IDE.
сравнивайте ключи компиляции, версии компилятора и список изменений компиляторов (обычно пишут что изменилось и как получить совместимость).
Илья вне форума   Ответить с цитированием
Старый 15.06.2017, 18:13   #6
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Версия компилятора та же. Я новые даже не скачивал. А ключи... Старую MPLAB уже снес. Где их взять?
dimchik_b вне форума   Ответить с цитированием
Старый 15.06.2017, 18:15   #7
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Цитата:
Сообщение от DmitrijVDN Посмотреть сообщение
что мешает? все условие прописываем как функцию и возвращаем результат или нет?
Как костыль - поможет. Одноразовая функция без особого смысла - зло, ИМХО. Но конструкция абсолютно корректная с точки зрения языка. И раньше работала. Именно на этой версии компилятора.
dimchik_b вне форума   Ответить с цитированием
Старый 15.06.2017, 18:58   #8
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 466
Вес репутации: 838/50
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: Переезд на новую версию MPLAB

попробуйте создать проект через
Projects->Import Legacy.
Vint вне форума   Ответить с цитированием
Старый 15.06.2017, 18:58   #9
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Orel
Возраст: 38
Сообщений: 4,418
Вес репутации: 4322/119
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: Переезд на новую версию MPLAB

Цитата:
Сообщение от dimchik_b Посмотреть сообщение
Версия компилятора та же. Я новые даже не скачивал. А ключи... Старую MPLAB уже снес. Где их взять?
Все старые версие MPLAB есть в архивах на microchip.com, в том числе и ваша MPLAB 8.66.
http://www.microchip.com/development...nloads-archive
Ключи компиляции про которые упоминал Илья, это параметры командной строки, которые передаются компилятору. Т.е. это не ключ для активации компилятора.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 15.06.2017, 19:03   #10
PICstone
Senior Member
 
Аватар для PICstone
 
Регистрация: 30.04.2008
Адрес: 51° 46' северной широты 55° 6' восточной долготы
Сообщений: 395
Вес репутации: 1356/51
PICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud ofPICstone has much to be proud of
По умолчанию Re: Переезд на новую версию MPLAB

Цитата:
Сообщение от dimchik_b Посмотреть сообщение
Старую MPLAB уже снес. Где их взять?
http://www.microchip.com/development...nloads-archive
PICstone вне форума   Ответить с цитированием
Старый 15.06.2017, 19:53   #11
Илья
Senior Member
 
Регистрация: 26.02.2007
Адрес: SPb
Сообщений: 1,124
Вес репутации: 1581/65
Илья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant futureИлья has a brilliant future
По умолчанию Re: Переезд на новую версию MPLAB

по идее настройки компилятора и пр. должны храниться в .mcw файле (workspace вроде для MPLAB IDE 8.xx и ниже).
Т.е. если сделать импорт проекта в MPLAB X, то должен подтянуть старые настройки.

Но странно, что та же версия компилятора ругается на строки, которые раньше принимала.

Вы вообще можете скомпилировать из командной строки без IDE. Уже не помню почему, но для старых проектов у меня использовались .bat файлы сборки проектов (может как раз чтобы от обновлений MPLAB не зависеть ??, а может это от времен когда пользовал внешние редакторы, и только дебаг в MPLAB...).
Илья вне форума   Ответить с цитированием
Старый 15.06.2017, 23:00   #12
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Projects в меню вообще нет. Есть File->Import->MPLAB IDE v8, но это работает очень криво. Неспроста я делал новый проект.
О каких ключах речь - я прекрасно понимаю, но поскольку я компилировал исключительно из IDE, то в ключах линкера разбираюсь слабо. В старом и новом map-файлах нашел, с какими ключами вызывался линкер раньше (20 строк) и сейчас (25 строк). Какие из них что меняют?
map-файл подсказал другую интересную штуку. Как пишет Микрочип, данная ошибка говорит о том, что линкер не может разместить адрес переменной в отведенное им место. В данном случае, отведен один байт, а адрес - 0x17F. Логично! Но map-файл говорит, что адрес переменной _1w_temp1 - 0x7F, что естественно, так как она объявлялась как char _1w_temp1 @ 127; Вопрос теперь, откуда в этом вызове взялось 17F?
Файл mcw - крокозяберный. mcp и mcs как бы человекочитаемые, но от этого не сильно легче.
dimchik_b вне форума   Ответить с цитированием
Старый 15.06.2017, 23:24   #13
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Думаю, а не в том ли причина, что компилятор слишком старый для этой среды? Старый MPLAB складывал файлы в ту же директорию, где были исходники, а новый создает в ней развесистое дерево, и уже в его вершины складывает промежуточные файлы. Не в этом ли причина проблемы?
dimchik_b вне форума   Ответить с цитированием
Старый 15.06.2017, 23:39   #14
Vovka
Senior Member
 
Аватар для Vovka
 
Регистрация: 27.12.2007
Адрес: недалеко от г.Белгорода
Возраст: 49
Сообщений: 1,819
Вес репутации: 2631/80
Vovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond repute
Отправить сообщение для Vovka с помощью ICQ
По умолчанию Re: Переезд на новую версию MPLAB

А насколько память МК занята прошивкой? Может лайт версия компилятора без оптимизации, которая есть в про-версии такое твориться...
__________________
Настройся на хороший день и он таким будет!
Vovka вне форума   Ответить с цитированием
Старый 16.06.2017, 00:38   #15
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

около 50%, насколько я помню...
dimchik_b вне форума   Ответить с цитированием
Старый 16.06.2017, 01:02   #16
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Ну, вынес условие в отдельную функцию! Но
C:\Program Files\Electronics\PICC-18\STD\9.52\lib\pic82l-c.lib(wtoft.obj):0: error: (491) can't find 0x91 words for psect "nvram" in segment "NVRAM"
никуда не делась.
dimchik_b вне форума   Ответить с цитированием
Старый 16.06.2017, 08:22   #17
smart_pic
Senior Member
 
Регистрация: 08.12.2008
Адрес: Ставрополь
Возраст: 53
Сообщений: 944
Вес репутации: 1970/60
smart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant future
Отправить сообщение для smart_pic с помощью Skype™
По умолчанию Re: Переезд на новую версию MPLAB

Похоже , что компилятору не хватает памяти для размещения переменных. Иногда , приходится создавать секции в RAM, и ручками растаскивать переменные. Это случается когда в проекте много переменных в одном файле и они не распределены как в микрочиповских либах.
smart_pic вне форума   Ответить с цитированием
Старый 16.06.2017, 14:13   #18
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Тут проблема в том, что та переменная, о которую спотыкается компилятор, определена с конкретным адресом (127), а компилятор при сборке cof-файла пытается указать почему-то ее адрес на 256 больше (383). То есть, вопрос сводится к тому, что не так с ключами или make-файлом? А точнее, может, кто-то сталкивался и удачно решил?
Кстати, что такое cof-файл? Он собирается после (и из) obj-файлов, но до вызова линкера
dimchik_b вне форума   Ответить с цитированием
Старый 16.06.2017, 14:37   #19
Vint
Senior Member
 
Аватар для Vint
 
Регистрация: 08.06.2007
Сообщений: 466
Вес репутации: 838/50
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию Re: Переезд на новую версию MPLAB

Цитата:
Сообщение от dimchik_b Посмотреть сообщение
Projects в меню вообще нет. Есть File->Import->MPLAB IDE v8, но это работает очень криво. Неспроста я делал новый проект.
открыть Start Page (см. рис),
там ето усе.
Миниатюры
import_legacy.png  
Vint вне форума   Ответить с цитированием
Старый 16.06.2017, 15:52   #20
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Попробовал. С абсолютно тем же результатом
dimchik_b вне форума   Ответить с цитированием
Старый 16.06.2017, 22:14   #21
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Победил!
Короче, установил старую IDE, получил командную строку, которая корректно линкует. Сравнил ее с командной строкой из нового IDE. Путем последовательной подстановки ключей, которые были в старой, но нет в новой командной строке, нашел тот, который дает корректную линковку. Это -L-ANVRAM=0E00h-0F7Fh. Оказалось, что корректно линкуется также из IDE, если этот ключ прописать в Properties->Linker->Additional options. Стал выяснять, почему старая IDE ставила этот ключ, а новая - нет? Оказалось, что там он тоже был прописан в Properties->Linker->Additional options, а при конвертации проекта он не подтянулся. Откуда он там взялся и из каких соображений - смыто рекой забвения. Но что проекты могут конвертироваться не совсем корректно - факт!
dimchik_b вне форума   Ответить с цитированием
Старый 17.06.2017, 08:18   #22
Vovka
Senior Member
 
Аватар для Vovka
 
Регистрация: 27.12.2007
Адрес: недалеко от г.Белгорода
Возраст: 49
Сообщений: 1,819
Вес репутации: 2631/80
Vovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond repute
Отправить сообщение для Vovka с помощью ICQ
По умолчанию Re: Переезд на новую версию MPLAB

А помоему тут дело не в оболочке, а в компиляторе
__________________
Настройся на хороший день и он таким будет!
Vovka вне форума   Ответить с цитированием
Старый 17.06.2017, 10:46   #23
dimchik_b
Senior Member
 
Регистрация: 05.12.2007
Возраст: 45
Сообщений: 364
Вес репутации: 134/40
dimchik_b will become famous soon enoughdimchik_b will become famous soon enough
По умолчанию Re: Переезд на новую версию MPLAB

Компилятор тот же самый остался.
Я уже решил проблему.
dimchik_b вне форума   Ответить с цитированием
Старый 18.06.2017, 18:52   #24
ATAMAN
Senior Member
 
Регистрация: 09.01.2012
Возраст: 34
Сообщений: 429
Вес репутации: 373/28
ATAMAN is just really niceATAMAN is just really niceATAMAN is just really niceATAMAN is just really nice
Thumbs down Re: Переезд на новую версию MPLAB

MPLAB
ATAMAN вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14
Вопросы по проекту на pic16f84a asm. louiscifer Вопросы начинающих 14 13.04.2009 06:19
AN1101-Sensor CERGEI1982 Продукция MICROCHIP 12 04.03.2009 18:15
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00


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


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