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.
 
Сверху Снизу