• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

JTAG, Xtensa OCD Daemon …

pvvx

Активный участник сообщества
Ну ладно тогда. Кстати, наш ESP8266 toolchain для Windows абсолютно бесплатен и содержит пропатченный gdb, который не вылетает при попытке поставить breakpoint и отображает локальные переменные. Можете считать это нашим вкладом в развитие коммьюнити.
Да это понятно и так. VS платная :(.
 

vphys

New member
VS2013 Community и 2015 Community - бесплатные. И наш плагин с ними работает.
 

vphys

New member
Я же написал, что на наш плагин мы с удовольствием дадим огромные скидки людям, готовым написать интересные статьи.
 

pvvx

Активный участник сообщества
Я же написал, что на наш плагин мы с удовольствием дадим огромные скидки людям, готовым написать интересные статьи.
За статью как снять ограничение в 30 дней дадите скидки? :) Гарантия популярности и интереса - обеспечена.
Надо токо блоггера какого найти и всё передать ему...
 
Последнее редактирование:

vphys

New member
За статью, как снять ограничение, поймем, что ESP8266 не нуждается в качественных средствах разработки, и перестанем его поддерживать. Вот только кому от этого будет лучше? Мы останемся без платформы, community останется без обновляемого и пропатченного gcc и gdb. По-моему, от этого в проигрыше останутся все.
 

pvvx

Активный участник сообщества
За статью, как снять ограничение, поймем, что ESP8266 не нуждается в качественных средствах разработки, и перестанем его поддерживать. Вот только кому от этого будет лучше? Мы останемся без платформы, community останется без обновляемого и пропатченного gcc и gdb. По-моему, от этого в проигрыше останутся все.
Вы же не оплатили разработку чем пользуетесь. Например - унитаза. Когда оплатите, тогда и поговорим на тему "проигрыша" :)
 

vphys

New member
Продолжая ваш пример, когда вы покупаете в магазине унитаз, часть цены обсуловлена именно покрытием стоимости разработки. И да, покупая унитаз, вы оплачиваете в том числе и его разработку. От мира software в этом смысле отличий мало.
 

pvvx

Активный участник сообщества
Продолжая ваш пример, когда вы покупаете в магазине унитаз, часть цены обсуловлена именно покрытием стоимости разработки. И да, покупая унитаз, вы оплачиваете в том числе и его разработку. От мира software в этом смысле отличий мало.
Да? Разработчик концепции унитаза ещё жив?
Вообще Jtag с ESP8266 нужен единицам (порядок по шарику - 10..20 чел) и на этом никакой коммерции не построить. Тем более многие из них и без вас решат этот вопрос для себя, посмотрев хоть ваш вариант на 30 дней :)
Для большей аудитории готовятся к выходу варианты проще - отладка через UART и TCP/UDP.
Так-же бОльшее кол-во проектов ESP8266 ориентированно на Eclipse, а не на VS.
Попробуйте объяснить - зачем ардуинщику Jtag ? Выпекать "скетчи" это только мешает, а светодиодом оно не моргает...
А по серьезному - все ошибки находятся в закрытой части китай-SDK, а ваша приблуда не показывает что там творится и как это исправить. :)
Ввожу казать что тама для громадной структуры (килобайты) в SDK 'g_ic' - кажет какую-то фигню, типа её адреса.
Ввожу 'info' - кажет IP в dword HEX :) А должно:
struct s_info {
uint32 ap_ip; //+00
uint32 ap_mask; //+04
uint32 ap_gw; //+08
uint32 st_ip; //+0C
uint32 st_mask; //+10
uint32 st_gw; //+14
uint8 ap_mac[6]; //+18
uint8 st_mac[6]; //+1E
} __attribute__((packed));
 
Последнее редактирование:

vphys

New member
Разработчик концепции - вряд ли. Люди, работавшие над эргономикой, прочностью, удешевлением и прочими вещами, которые отличают унитаз 2015го года от унитаза 1500 года- скорее да, чем нет.
Пусть смотрят на здоровье - мы не против. Наш бизнес посторен не на поддержке каких-то сверхсложных вещей, а на том, что если сегодня вам нужен ESP8266, завтра nRF51, а послезавтра STM32, то вам не нужно каждый раз тратить 30 дней на то, чтобы разобраться со всеми тонкостями. Вместо этого достаточно выбрать девайс в списке и VisualGDB сделает всю грязную работу по настройке за вас. А Вы нажмете F5 и получите работающий проект.

Кстати, проекты из Eclipse можно легко импортировать.
 

pvvx

Активный участник сообщества
А Вы нажмете F5 и получите работающий проект.
Что-то не выходит. Целые форумы нерешенных вопросов в ESP8266.
Кстати, проекты из Eclipse можно легко импортировать.
Из Дуины то-же? Там мигание светодиодом есть и работает :)
И у вас SDK устаревший. 1.2.0 Jul 3 2015 19:36:17
 
Последнее редактирование:

jcmvbkbc

New member
Ну ладно тогда. Кстати, наш ESP8266 toolchain для Windows абсолютно бесплатен и содержит пропатченный gdb, который не вылетает при попытке поставить breakpoint и отображает локальные переменные. Можете считать это нашим вкладом в развитие коммьюнити.
О, клёво. Где можно получить исходники ваших изменений?
 

vphys

New member
Патчи распаковываются вместе с тулчейном в корневой каталог.
 

pvvx

Активный участник сообщества
@vphys - Xplorer-6.0.2 дает распечатку регистров с вашими вкраплениями...

И вопрос - почему при прошивке в VisualGDB постоянно и многократно вылезает окно ожидания?
 
Последнее редактирование:

vphys

New member
Не понял, что особенного в распечатке регистров. В VisualGDB ее тоже можно посмотреть через Debug->Windows->Registers или через watch.
Окно ожидания вылезает, когда gdb не отвечает в течение 2х секунд на команду. В случае, если gdb завис, это позволяет прервать сессию, не перезапуская Visual Studio. Тайм-аут можно увеличить в настройках.
 

pvvx

Активный участник сообщества
Окно ожидания вылезает, когда gdb не отвечает в течение 2х секунд на команду. В случае, если gdb завис, это позволяет прервать сессию, не перезапуская Visual Studio. Тайм-аут можно увеличить в настройках.
Это ясно, но почему не отвечает? Так плохо сделано программирование flash?
Скорости интерфейса менял. Глубоко не вдавался, но за время программирования/заливки вашего демо-проекта окно потери синхронизации вылезает не менее 3-х раз и "на глаз" всегда на одних и тех-же процентах передачи...
 

jcmvbkbc

New member
Патчи распаковываются вместе с тулчейном в корневой каталог.
У вас, кстати, несоответствие версии gdb написанной в окне инсталлятора (7.9.1) и реальной устанавливаемой версии (7.5.1).
Код:
--- gdb-7.5.1-orig/gdb/dwarf2-frame.c   2012-08-06 12:21:51.000000000 -0700
+++ gdb-7.5.1/gdb/dwarf2-frame.c        2015-08-23 18:57:53.906408800 -0700
@@ -1493,22 +1493,30 @@
    the DWARF unwinder.  This is used to implement
    DW_OP_call_frame_cfa.  */

+
CORE_ADDR
dwarf2_frame_cfa (struct frame_info *this_frame)
{
+  CORE_ADDR cfa;
   while (get_frame_type (this_frame) == INLINE_FRAME)
     this_frame = get_prev_frame (this_frame);
   /* This restriction could be lifted if other unwinders are known to
      compute the frame base in a way compatible with the DWARF
      unwinder.  */
+#if 0
   if (!frame_unwinder_is (this_frame, &dwarf2_frame_unwind)
       && !frame_unwinder_is (this_frame, &dwarf2_tailcall_frame_unwind))
     error (_("can't compute CFA for this frame"));
+#endif
+
   if (get_frame_unwind_stop_reason (this_frame) == UNWIND_UNAVAILABLE)
     throw_error (NOT_AVAILABLE_ERROR,
                 _("can't compute CFA for this frame: "
                   "required registers or memory are unavailable"));
-  return get_frame_base (this_frame);
+  cfa = get_frame_base (this_frame);
+  if (!cfa)
+         error("Cannot determine frame base. Please call the current function from a function compiled with frame pointer to allow viewing local variables.");
+  return cfa;
}
.
const struct objfile_data *dwarf2_frame_objfile_data;
И где же патчи для binutils и gcc?
 

vphys

New member
Не отвечает просто потому что загрузка 64КБ-блока по JTAG с занимает больше 2 секунд. Еще через несколько секунд загрузка завершается и окно закрыватся само. Если это раздражает, можно увеличить тайм-аут в Tools->Options.
binutils и gcc в новых версиях включают все необходимые патчи. gdb в последний момент поменяли на 7.5.1, т.к. 7.9.1 рассчитывает на регистры, которых нет в esp8266.
 

pvvx

Активный участник сообщества
Не отвечает просто потому что загрузка 64КБ-блока по JTAG с занимает больше 2 секунд. Еще через несколько секунд загрузка завершается и окно закрыватся само. Если это раздражает, можно увеличить тайм-аут в Tools->Options.
А кому это мелькание окон с указанием практически ошибки нравится? Время программирования совместно со стиранием используемых на ESP8266 Flash по спекам, с учетом всего остального составляет 200 килобайт в секунду. Что-то не так в филармонии... От этой процедуры требуется самая большая производительность, т.к. это ожидание запуска при отладке...
 

vphys

New member
Тогда смело увеличивайте тайм-аут до 5 секунд.
А тормозит тут не программирование SPI FLASH, а передача данных на ESP8266 через JTAG. Тут от нас мало что зависит, т.к. этот процесс управляется xt-ocd.
 
Сверху Снизу