Так получилось, что пришлось перейти на MPLAB X IDE v4.01 (PIC24FJ256GA410 не поддерживается в MPLAB 8.92).
Бесит, что после нажатия Build, время на компиляцию + прошивку контроллера превышает 30 секунд, хотя программа пока ещё "не перевалила за килобайт".
Попробовал в MPLABX поработать с PIC24FJ64GA004 - та же фигня (в MPLAB 8.92+ICD3 с PIC24FJ64GA004 таких проблем нет).
Может я что-то недосмотрел в настройках MPLABX?
Реально ли решить эту проблему?
Ещё обратил внимание на то, что в MPLAB 8.92+ICD3 Firmware ICD3 и DEVID подключенного контроллера определяется только один раз (при подключении ICD3 к плате).
MPLABX каждый раз перед программированием перезапрашивает Firmware ICD3 и DEVID подключенного контроллера.
Засёк время.
PIC32MX170F256, память занята на 32% (~ 80 КБ). Время компиляции - 2 сек. Полное время залития прошивки через ICD3 (коннект, стирание чипа, залитие, ...) - ~10 сек.
Добавлено after 3 minutes 5 seconds:
Albert_V писал(а):MPLABX каждый раз перед программированием перезапрашивает Firmware ICD3 и DEVID подключенного контроллера
Тоже раздражает. На это уходит больше половины времени прошивки.
Без этих всех перезпросов, время прошивания чипа - около 2-3 сек. всего.
Проц только немного послабее. Но не на столько же, чтобы время компиляции было в 15 раз больше
Тем более на АСМе.
У меня собирается вместе с компиляцией через XC32.
Спойлер
Загрузка CPU в "простое" - 8%-12%.
По физической памяти - доступно немногим более 2ГБ.
Сегодня хочу просто "оживить" плату с PIC24FJ256GA410.
Завтра "закажу" дефрагментацию дисков (года два как не делал).
Возможно, полегчает...
Недавно компилил PIC18F16K22 компилятором xc8. Память была занята процентов на 10, не более. И в один прекрасный момент перестало компилится - тупо зависал компилятор (с лекарством). Изменил "Pro" на "Standart" - компилится...
Может и тут чего подобного?
В общем, удалось "сбить" общее время до, приблизительно, 12сек.
Может, для большинства программистов это не имеет значения, но я пишу программы "по кускам" для реальной платы, подключенной к ICD3 и тестирование программы делаю в реальном "железе".
Бесит, что в MPLABX (по сравнению с MPLAB 8.92) дофига времени уходит на перепрошивку.
Попробую ещё отписаться в Microchip но, похоже, они "приготовили очередную подлянку" в виде ICD4....
Я как то привык к такой заторможенности Х. И особого дискомфорта не испытываю.
Скажем, отсутствие вменяемой работы DMCI в этой среде меня напрягает на три порядка больше. Есть так же неудобство при работе с Watch и просмотре памяти (любой).
С другой стороны, MPLABX позволяет развернуть структуры SFR в том же Watch.
В общем, все особенности работы этой среды происходят от платформы нетбинс на которой она и создана.
Докупил себе ещё 8 гигов оперативы и отключил файл подкачки.
Работать "X" стал заметно шустрее. Тормоза практически незаметны. Да и в общем, система стала пошустрее работать, без подкачки.
PS: Возможно, в скором будущем разорюсь на SSD. Посмотрим, даст ли он какой-нибудь прирост в шустроте.
Всем мяу !
В общем, такс...
SSD диск никакого прироста к скорости компиляции и остальным функциям X'а не дал. Просто чуток пошустрее стало всё грузиться, но в Х всё как было, так и осталось. Оператива и отключение подкачки дала более значительного прироста.
Заказал ICD4, вроде бы как хвалят его. На днях приедет - посмотрим, что за зверь такой.
Самому просто стало интересно. Никогда внимания не обращал на эти все тормоза, всё устраивало, хотя в отладке сижу постоянно. Это как анекдот с профессором и бородой
Смирился я с этими тормозами.
В X есть и свои плюсы.
Очень понравилась возможность поставить breakpoint (при отладке на реальном "железе") в real-time.
Удобнее работать, когда система состоит из нескольких плат с разными контроллерами.
Что касается ICD4 - слабо верится, что он будет работать "шустрее".
[uquote="Albert_V",url="/forum/viewtopic.php?p=3230370#p3230370"]Что касается ICD4 - слабо верится, что он будет работать "шустрее".[/uquote]Мне тоже, если честно.
Ведь ICD3 в MPLAB 8 работает замечательно, а значит проблема, скорее всего, именно в софте.
Ну посмотрим...
[uquote="Аlex",url="/forum/viewtopic.php?p=3230382#p3230382"]Ведь ICD3 в MPLAB 8 работает замечательно, а значит проблема, скорее всего, именно в софте.[/uquote]
Сложный вопрос...
Есть смутные подозрения, что Х изначально не слишком "оптимизировали" под ICD3.
Вероятно для того, чтобы "мотивировать" переход на ICD4.
Надеюсь, Вы догадываетесь, что ICD4 разрабатывали не один месяц. А планы нащщет новой шайбы строились вообще сильно давно.
Приехал ко мне ICD4.
Результат, для сравнения. PIC18F26K22. Прошивка с забитым под завязку флешем:
Прошивка с ICD3 :
Прошивка с ICD4 :
Как видно, разницы по времени практически нет ни какой.
А вот с отладкой уже интереснее. ICD4 работает как молния. По сравнению с ICD3 (ил даже с REAL ICE, который Микрочип пропиарил как шустрый отладчик) - небо и земля.
Никаких тормозов при паузах, шагах, остановах на брекпоинтах, и т.д..
Видос отладки простенького примера :
По скорости, сравнимо с симулятором.
PS: В целом, шайбой доволен, т.к. отладка, для меня - самое основное. Поработаем, посмотрим, может второй закажу, чтобы один не передёргивать туда-сюда между двумя устройствами...
Добавлено after 7 hours 35 minutes 20 seconds:
[uquote="Albert_V",url="/forum/viewtopic.php?p=3202290#p3202290"]Ещё обратил внимание на то, что в MPLAB 8.92+ICD3 Firmware ICD3 и DEVID подключенного контроллера определяется только один раз (при подключении ICD3 к плате).
MPLABX каждый раз перед программированием перезапрашивает Firmware ICD3 и DEVID подключенного контроллера.[/uquote]
Нашлось решение.
Нужно зайти в Tools -> Option -> вкладка "Embedded" и поставить галку на "Maintain active connection to hardware tool" :
После этого, связь с программатором будет всегда активной и постоянного реконнекта не будет.
Теперь после нажатия на кнопку программирования, до окончания залития прошивки, проходит 3-4 секунды
Добавлено after 4 minutes 43 seconds:
PS: Всё-таки, 4-ая шайба шустрее шъёт. 3-4 сек общее время. С 3-ей шайбой раза в 1.5-2 дольше.
И в отладке зверь. Гоняю с ним сегодня весь день, не нарадуюсь