<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Guardant Code, map_parse и флажки оптимизации]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/188" />
	<updated>2014-07-04T07:41:41Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/188/</id>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2181/#p2181" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>Только что проделал следующее:<br />1) На чистый компьютер с Win7 Pro установил Guardant SDK 6.1 - с сайта скачал для чистоты эксперимента<br />2) Установил последние версии YAGARTO Tools и YAGARTO GNU Toolchain с сайта <a href="http://www.yagarto.de/#download">http://www.yagarto.de/#download</a><br />3) Открыл наш самый наглядный пример C:\Program Files (x86)\Guardant\Guardant 6.1\DEMONVK\Samples\ARM\05 - LED Control\Loadable Code<br />Здесь загружаемый код заставляет ключ моргать с определенной периодичностью. Очень просто отследить работоспособность<br />4) Запустил команду make template, затем make all. Скомпилировалась пара файлов bin/bmap<br />5) Загрузил bin в ключ, маска по умолчанию.<br />6) Все работает, при вызове GrdCodeRun ключ моргает, никаких ошибок на всем пути.</p></blockquote></div><p>Доброго времени суток.<br />Сделал как написано, только с Guardant SDK 6.31. <br />Бинарник получился, led_control.gcexe получился, и он даже загружается и вроде как выполняется, о чем свидетельствует лог из NetBeans&#039;a 7.4:<br /><em>Working Directory = D:\Guardant\GuardTest\GuardantDongleTest<br />Loading led_control.gcexe: No errors<br />Loading GCEXE File to Dongle: No errors<br />Run Code LED:No errors<br />Waiting... LED Control in process...<br />Press Enter to continue.</em></p><p>Однако при всём при этом никакая индикация на ключе не моргает. Как горел светодиод, так и горит.</p><p>P.S.: Ключ прошит файлом mask2.nsd, который лежит там же, где и примеры, т.е. в папке ..\Samples\ARM</p>]]></content>
			<author>
				<name><![CDATA[Kogen]]></name>
				<uri>https://forum.guardant.ru/user/825/</uri>
			</author>
			<updated>2014-07-04T07:41:41Z</updated>
			<id>https://forum.guardant.ru/post/2181/#p2181</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2075/#p2075" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Спасибо за обратную связь.</p></blockquote></div><p>Ну вот вам ещё. Исправлено две проблемы:<br />1) Сообщение &quot;cc1plus.exe: warning: command line option &#039;-Wimplicit&#039; is valid for C/ObjC but not for C++ [enabled by default]&quot; при компиляции исходников на C++<br />2) Проблемы с компиляцией исходников, расположенных в нескольких каталогах.</p><div class="codebox"><pre><code>Сравнение файлов Makefile.code и C:\PROGRAM FILES\GUARDANT\GUARDANT 6.1\5EC003K\SAMPLES\ARM\00 - TEMPLATE\LOADABLE CODE\MAKEFILE
***** Makefile.code
#JEF CFLAGS += -Wall -Wcast-align -Wcast-qual -Wimplicit 
CFLAGS += -Wall -Wcast-align -Wcast-qual
***** C:\PROGRAM FILES\GUARDANT\GUARDANT 6.1\5EC003K\SAMPLES\ARM\00 - TEMPLATE\LOADABLE CODE\MAKEFILE
CFLAGS += -Wall -Wcast-align -Wcast-qual -Wimplicit 
*****

***** Makefile.code
#JEF CONLYFLAGS += -Wmissing-prototypes -Wnested-externs 
CONLYFLAGS += -Wmissing-prototypes -Wnested-externs -Wimplicit 
***** C:\PROGRAM FILES\GUARDANT\GUARDANT 6.1\5EC003K\SAMPLES\ARM\00 - TEMPLATE\LOADABLE CODE\MAKEFILE
CONLYFLAGS += -Wmissing-prototypes -Wnested-externs 
*****

***** Makefile.code
OBJ0 = $(notdir $(OBJ))
#JEF OBJ1 = $(OBJ:.o=1.o)
OBJ1 = $(OBJ0:.o=1.o)
#JEF OBJ2 = $(OBJ:.o=2.o)
OBJ2 = $(OBJ0:.o=2.o)
***** C:\PROGRAM FILES\GUARDANT\GUARDANT 6.1\5EC003K\SAMPLES\ARM\00 - TEMPLATE\LOADABLE CODE\MAKEFILE
OBJ1 = $(OBJ:.o=1.o)
OBJ2 = $(OBJ:.o=2.o)
*****

***** Makefile.code
        @if [ -e &quot;.obj/1&quot; ]; then \
#JEF      $(CC1) -c $(ALL_CFLAGS1) $(CONLYFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
          $(CC1) -c $(ALL_CFLAGS1) $(CONLYFLAGS) $&lt; -o .obj/$(@F:.o=1.o) ; \
        else \
#JEF      $(CC2) -c $(ALL_CFLAGS1) $(CONLYFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
          $(CC2) -c $(ALL_CFLAGS1) $(CONLYFLAGS) $&lt; -o .obj/$(@F:.o=1.o) ; \
        fi;
#JEF    @if [ -e &quot;.obj/2&quot; ]; then $(CC2) -c $(ALL_CFLAGS2) $(CONLYFLAGS) $&lt; -o .obj/$(@:.o=2.o) ; fi;
        @if [ -e &quot;.obj/2&quot; ]; then $(CC2) -c $(ALL_CFLAGS2) $(CONLYFLAGS) $&lt; -o .obj/$(@F:.o=2.o) ; fi;

***** C:\PROGRAM FILES\GUARDANT\GUARDANT 6.1\5EC003K\SAMPLES\ARM\00 - TEMPLATE\LOADABLE CODE\MAKEFILE
        @if [ -e &quot;.obj/1&quot; ]; then \
          $(CC1) -c $(ALL_CFLAGS1) $(CONLYFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
        else \
          $(CC2) -c $(ALL_CFLAGS1) $(CONLYFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
        fi;
        @if [ -e &quot;.obj/2&quot; ]; then $(CC2) -c $(ALL_CFLAGS2) $(CONLYFLAGS) $&lt; -o .obj/$(@:.o=2.o) ; fi;
*****

***** Makefile.code
        @if [ -e &quot;.obj/1&quot; ]; then \
#JEF      $(CPP1) -c $(ALL_CFLAGS1) $(CPPFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
          $(CPP1) -c $(ALL_CFLAGS1) $(CPPFLAGS) $&lt; -o .obj/$(@F:.o=1.o) ; \
        else \
#JEF      $(CPP2) -c $(ALL_CFLAGS1) $(CPPFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
          $(CPP2) -c $(ALL_CFLAGS1) $(CPPFLAGS) $&lt; -o .obj/$(@F:.o=1.o) ; \
        fi;
#JEF    @if [ -e &quot;.obj/2&quot; ]; then $(CPP2) -c $(ALL_CFLAGS2) $(CPPFLAGS) $&lt; -o .obj/$(@:.o=2.o) ; fi;
        @if [ -e &quot;.obj/2&quot; ]; then $(CPP2) -c $(ALL_CFLAGS2) $(CPPFLAGS) $&lt; -o .obj/$(@F:.o=2.o) ; fi;

***** C:\PROGRAM FILES\GUARDANT\GUARDANT 6.1\5EC003K\SAMPLES\ARM\00 - TEMPLATE\LOADABLE CODE\MAKEFILE
        @if [ -e &quot;.obj/1&quot; ]; then \
          $(CPP1) -c $(ALL_CFLAGS1) $(CPPFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
        else \
          $(CPP2) -c $(ALL_CFLAGS1) $(CPPFLAGS) $&lt; -o .obj/$(@:.o=1.o) ; \
        fi;
        @if [ -e &quot;.obj/2&quot; ]; then $(CPP2) -c $(ALL_CFLAGS2) $(CPPFLAGS) $&lt; -o .obj/$(@:.o=2.o) ; fi;
*****

***** Makefile.code
        @if [ -e &quot;.obj/1&quot; ]; then \
#JEF      $(CC1) -c $(ALL_ASFLAGS1) $&lt; -o .obj/$(@:.o=1.o) ; \
          $(CC1) -c $(ALL_ASFLAGS1) $&lt; -o .obj/$(@F:.o=1.o) ; \
        else \
#JEF      $(CC2) -c $(ALL_ASFLAGS1) $&lt; -o .obj/$(@:.o=1.o) ; \
          $(CC2) -c $(ALL_ASFLAGS1) $&lt; -o .obj/$(@F:.o=1.o) ; \
        fi;
#JEF    @if [ -e &quot;.obj/2&quot; ]; then $(CC2) -c $(ALL_ASFLAGS2) $&lt; -o .obj/$(@:.o=1.o) ; fi;
        @if [ -e &quot;.obj/2&quot; ]; then $(CC2) -c $(ALL_ASFLAGS2) $&lt; -o .obj/$(@F:.o=1.o) ; fi;
***** C:\PROGRAM FILES\GUARDANT\GUARDANT 6.1\5EC003K\SAMPLES\ARM\00 - TEMPLATE\LOADABLE CODE\MAKEFILE
        @if [ -e &quot;.obj/1&quot; ]; then \
          $(CC1) -c $(ALL_ASFLAGS1) $&lt; -o .obj/$(@:.o=1.o) ; \
        else \
          $(CC2) -c $(ALL_ASFLAGS1) $&lt; -o .obj/$(@:.o=1.o) ; \
        fi;
        @if [ -e &quot;.obj/2&quot; ]; then $(CC2) -c $(ALL_ASFLAGS2) $&lt; -o .obj/$(@:.o=1.o) ; fi;
*****</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Jef239]]></name>
				<uri>https://forum.guardant.ru/user/800/</uri>
			</author>
			<updated>2014-05-15T06:08:19Z</updated>
			<id>https://forum.guardant.ru/post/2075/#p2075</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2047/#p2047" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Jef239 пишет:</cite><blockquote><p>Путем экспериментов выясняется, что команды отдавались CMD.exe вместо SH.exe. А причина простая - не надо было кавычки в PATH ставить. Не понимает их MAKE. И SHELL не понимает. И MAKESHELL не понимает.<br />3 дня коту под хвост :-(</p></blockquote></div><p>Спасибо за обратную связь.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2014-05-08T10:57:05Z</updated>
			<id>https://forum.guardant.ru/post/2047/#p2047</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2040/#p2040" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>Спасибо Вам за мощную обратную связь.</p></blockquote></div><p>Ну вот вам ещё хинт.</p><div class="quotebox"><blockquote><p>@set PATH=&quot;C:\yagarto-20121222\bin;C:\yagarto-tools-20121018\bin&quot;<br />@C:\yagarto-tools-20121018\bin\make.exe %1 %2 %3</p></blockquote></div><p>В итоге получаем</p><div class="quotebox"><blockquote><p>C:\Program Files\Guardant\Guardant 6.1\5EC003K\Samples\ARM\01 - General Sample\Loadable Code&gt;C:\yagarto-tools-20121018\bin\make.exe<br />Режим вывода команд на экран (ECHO) отключен.<br />-------- begin --------<br />Непредвиденное появление: fname.<br />make: *** [prebuild] Error 255</p></blockquote></div><p>Путем экспериментов выясняется, что команды отдавались CMD.exe вместо SH.exe. А причина простая - не надо было кавычки в PATH ставить. Не понимает их MAKE. И SHELL не понимает. И MAKESHELL не понимает.</p><p>3 дня коту под хвост :-(</p>]]></content>
			<author>
				<name><![CDATA[Jef239]]></name>
				<uri>https://forum.guardant.ru/user/800/</uri>
			</author>
			<updated>2014-05-07T13:01:40Z</updated>
			<id>https://forum.guardant.ru/post/2040/#p2040</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/1751/#p1751" />
			<content type="html"><![CDATA[<p>Спасибо Вам за мощную обратную связь.<br />Действительно, в связи с окончанием поддержки проекта Yagarto мы и наши клиенты (особенно новые) столкнулись с некоторыми сложностями. Мы решаем вопрос комплексно, дабы в ближайшем будущем сделать использование ключей Code как можно более удобным и простым прямо &quot;из коробки&quot;. </p><p>Информация в данной ветке, особенно найденная Phaza7 нам очень поможет в этом деле. </p><p>Мы постараемся придумать, как отблагодарить Вас за помощь и такое глубокое вникание в наши технологии (особенно учитывая что в данном случае оно далеко от беспроблемного).</p>]]></content>
			<author>
				<name><![CDATA[AndreyStepin]]></name>
				<uri>https://forum.guardant.ru/user/8/</uri>
			</author>
			<updated>2013-11-26T12:41:52Z</updated>
			<id>https://forum.guardant.ru/post/1751/#p1751</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/1748/#p1748" />
			<content type="html"><![CDATA[<p>Разобрался со своей проблемой, примеры стали компилироваться и в WinXP x32 и в Win8.1 x64.</p><p>Как оказалось, разработчики были не при чём, makefile отрабатывают хорошо. Единственная вина разработчиков в том, что они оставляют нас один на один с проблемой отсутствия yagarto-tools. На указываемом в документации сайте его уже нет. Мне кажется, было бы правильно выкладывать на сайте в разделе загрузок как инсталлятор библиотек и компиляторов (yagarto), так и инсталлятор инструментальных утилит (yagarto-tools), с которыми примеры бы компилировались, а так же, как уже предлагалось, проверять их при выходе каждой новой версии комплекта разработчика. Не помню есть ли это в документации, но там должно быть обязательное указание на то, что эти оба инструментария должны устанавливаться в разные директории, не содержащие пробелов, например, c:\yagarto\ и c:\yagarto-tools\). Как раз установка в разные папки вылечило мою проблему в WinXP (странно, но заработало).</p><p>Проблема в Win8.1 x64 вылечилась пересборкой yagarto-tools. Опишу вкратце, что я сделал, может быть, кому пригодится. Я заменил все *.exe файлы, а так же msys-1.0.dll в папке c:\yagarto-tools\bin\ на их новые версии из <a href="http://www.mingw.org">http://www.mingw.org</a>. Установил с сайта, скачал c помощью него нужные пакеты и вручную заменил файлы. Библиотеки libiconv2.dll и libintl3.dll можно удалить, они уже не нужны. Вместо них необходимо добавить все dll, на которые ссылаются *.exe и msys-1.0.dll. Для поиска недостающих dll файлов можно использовать <a href="http://www.dependencywalker.com">http://www.dependencywalker.com</a>. У меня получилось: msys-iconv-2.dll, msys-intl-8.dll, msys-regex-1.dll и msys-termcap-0.dll.</p>]]></content>
			<author>
				<name><![CDATA[Phaza7]]></name>
				<uri>https://forum.guardant.ru/user/705/</uri>
			</author>
			<updated>2013-11-23T13:06:23Z</updated>
			<id>https://forum.guardant.ru/post/1748/#p1748</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/1747/#p1747" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>Дополнительно, будем выкладывать рабочие сборки YAGARTO на нашем сайте вместе с SDK и записывать на диск в комплекте разработчика.</p></blockquote></div><p>Не смог найти рабочие сборки на вашем сайте и на своём CD диске (полученном от вас в декабре 2012 г.) тоже. А это необходимо, т.к. с сайта <a href="http://www.yagarto.org">http://www.yagarto.org</a>/ их уже не скачать. Проект перешёл на SourceForge, но yagarto-tools там нет.</p><br /><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>При установке нашего SDK по умолчанию и YAGARTO по рекомендованным в документации путям ВСЕ ПРИМЕРЫ КОМПИЛИРУЮТСЯ ИЗ КОРОБКИ, без правки makefile. Утверждать обратное некорректно.</p></blockquote></div><p>Нашёл в интернете ‘yagarto-tools-20121018-setup.exe’ и ‘yagarto-bu-2.22_gcc-4.7.2-c-c++_nl-1.20.0_gdb-7.5_eabi_20121013.exe’, установил их в ‘c:\YAGARTO\’. SDK установлено в директорию по умолчанию ‘c:\Program Files (x86)\Guardant\SDK 6.3\’. И ваши примеры загружаемого кода из SDK не компилируются. </p><p>На Windows 8.1 Pro x64 я получаю:</p><p>c:\Program Files (x86)\Guardant\SDK 6.3\XXX\Samples\ARM\00 - Template\Loadable Code&gt;make all<br />-------- begin --------<br />--Check WinARM--<br />&nbsp; &nbsp; &nbsp; 0 [main] sh 5992 sync_with_child: child 8340(0x16C) died before initialization with status code 0xC0000142<br />&nbsp; &nbsp; 660 [main] sh 5992 sync_with_child: *** child state waiting for longjmp<br />/usr/bin/sh: fork: Resource temporarily unavailable<br />make: *** [prebuild] Error 128</p><p>На Windows XP SP3 x32 (всё установлено по тем же путям: ‘c:\YAGARTO\’ и ‘c:\Program Files\Guardant\SDK 6.3\’) получаю, как в теме <a href="https://forum.guardant.ru/post/1020/">https://forum.guardant.ru/post/1020/</a>:</p><p>c:\Program Files\Guardant\SDK 6.3\XXX\Samples\ARM\00 - Template\Loadable Code&gt;make all<br />-------- begin --------<br />--Check WinARM--<br />/usr/bin/sh: arm-elf-gcc: command not found<br />--Check Yagarto--<br />arm-none-eabi-gcc.exe: fatal error: no input files<br />compilation terminated.<br />Compiling: main.o main.c<br />arm-none-eabi-gcc.exe: fatal error: no input files<br />compilation terminated.<br />make: *** [main.o] Error 1</p><p>Make.exe точно вызывается из ‘c:\YAGARTO\bin\make.exe’, проверял, подставлял полный путь, в обоих случаях результат тот же.</p><p>В чём может быть беда? Проверьте сами, работает ли это сейчас. Обращаюсь к разработчикам, только не тяните, ответьте, как можно быстрее. Уже почти 3 недели ковыряю защиту и большую часть времени по вине ошибок в ваших утилитах и описании к ним.</p>]]></content>
			<author>
				<name><![CDATA[Phaza7]]></name>
				<uri>https://forum.guardant.ru/user/705/</uri>
			</author>
			<updated>2013-11-22T13:08:08Z</updated>
			<id>https://forum.guardant.ru/post/1747/#p1747</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/952/#p952" />
			<content type="html"><![CDATA[<p>В общем, как человек ответственный я подытожу результат данного обсуждения:</p><p>1. Ссылка в документации на конкретную сборку YAGARTO дана некорректная, тем не менее последняя сборка с YAGARTO.DE отлично работает. Ссылки мы уберем, оставим только общую информацию.</p><p>Дополнительно, будем выкладывать рабочие сборки YAGARTO на нашем сайте вместе с SDK и записывать на диск в комплекте разработчика.</p><p>2. При установке нашего SDK по умолчанию и YAGARTO по рекомендованным в документации путям ВСЕ ПРИМЕРЫ КОМПИЛИРУЮТСЯ ИЗ КОРОБКИ, без правки makefile. Утверждать обратное некорректно.</p><p>3. Да, при переходе на новые ключи мы &quot;подогнали&quot; адреса RAM чтоб не путать клиентов и не вносить ненужные правки в GrdUtil (пришлось бы поддерживать две версии не только кода, но и дескриптора алгоритма в маске, что было неудобно нашим старым клиентам). Мы считаем что так банально удобнее. Жаль, если это производит впечатление работы школьника - это тем не менее работает.</p><p>4. Если в makefile использовать не относительные пути, а абсолютные, с пробелами, то их надо брать в кавычки! Например так:<br />CFG_SYS_DIR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &quot;C:\Program Files (x86)\Guardant\Guardant 6.1\DEMONVK\Bin&quot;</p><p>5. Средства разработки пока только под Windows. Про Linux мы задумаемся при наличии соответствующего спроса :-).</p><p>Я благодарю участников Neekeetos и Jeevoy за обратную связь по продукту. Мы примем все это к сведению и попробуем упросить осовение продукта для новых клиентов и поправить непонятные моменты. Code является нашим самым сложным продуктом и самым продвинутым аппаратно - так что всегда приятно пообщаться с продвинутыми разработчиками.</p>]]></content>
			<author>
				<name><![CDATA[AndreyStepin]]></name>
				<uri>https://forum.guardant.ru/user/8/</uri>
			</author>
			<updated>2012-06-26T06:04:56Z</updated>
			<id>https://forum.guardant.ru/post/952/#p952</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/951/#p951" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Jeevoy пишет:</cite><blockquote><p>Сейчас попробую проверить&nbsp; - установить ваше ПО не по дефолтному пути.<br />Если ничего не указывать, то стоять оно будет в папке C:\Program Files\Guardant\Guardant 6.1\ИМЯ_КОНТРАКТА\<br />А значит пробелов по-минимуму два.</p><p>Yagarto про дефолту не ставится в ПФ, поэтому стоит на С в корне. Пробелов там нет.</p></blockquote></div><p>Касательно пути установки Guardant - ограничений нет для примеров, если вы makefile не трогаете. Там пути указаны в относительном виде. YAGARTO должен быть по пути без пробелов.</p><p>Я установил наш SDK в папку по умолчанию...</p>]]></content>
			<author>
				<name><![CDATA[AndreyStepin]]></name>
				<uri>https://forum.guardant.ru/user/8/</uri>
			</author>
			<updated>2012-06-25T12:37:04Z</updated>
			<id>https://forum.guardant.ru/post/951/#p951</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/950/#p950" />
			<content type="html"><![CDATA[<p>Сейчас попробую проверить&nbsp; - установить ваше ПО не по дефолтному пути.<br />Если ничего не указывать, то стоять оно будет в папке C:\Program Files\Guardant\Guardant 6.1\ИМЯ_КОНТРАКТА\<br />А значит пробелов по-минимуму два.</p><p>Yagarto про дефолту не ставится в ПФ, поэтому стоит на С в корне. Пробелов там нет.</p>]]></content>
			<author>
				<name><![CDATA[Jeevoy]]></name>
				<uri>https://forum.guardant.ru/user/407/</uri>
			</author>
			<updated>2012-06-25T11:17:41Z</updated>
			<id>https://forum.guardant.ru/post/950/#p950</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/949/#p949" />
			<content type="html"><![CDATA[<p>Здравствуйте, Jeevoy,</p><p>По представленной Вами информации я не могу понять в чем ошибка. </p><p>Только что проделал следующее:<br />1) На чистый компьютер с Win7 Pro установил Guardant SDK 6.1 - с сайта скачал для чистоты эксперимента<br />2) Установил последние версии YAGARTO Tools и YAGARTO GNU Toolchain с сайта <a href="http://www.yagarto.de/#download">http://www.yagarto.de/#download</a><br />3) Открыл наш самый наглядный пример C:\Program Files (x86)\Guardant\Guardant 6.1\DEMONVK\Samples\ARM\05 - LED Control\Loadable Code<br />Здесь загружаемый код заставляет ключ моргать с определенной периодичностью. Очень просто отследить работоспособность<br />4) Запустил команду make template, затем make all. Скомпилировалась пара файлов bin/bmap<br />5) Загрузил bin в ключ, маска по умолчанию.<br />6) Все работает, при вызове GrdCodeRun ключ моргает, никаких ошибок на всем пути.</p><p>Но ключ Code и вся инфраструктура GCC весьма сложные вещи, там все может слетать из за какого нибудь пробела в пути к файлу или подобной мелочи. Поэтому для локализации конкретно вашей ошибки нужно больше информации:<br />- версия SDK<br />- в какие папки на диске установлен SDK, Yagarto toolchain, Yagarto tools<br />- откуда и как запускаете make<br />- файл makefile <br />- полный вывод с команд make template и make all</p><p>Я сожалею что мы не ответили ранее, т.к. просто не заметили вопроса. Кривая освоения для Code в любом случае существует, ошибки неизбежны. </p><p>В итоге: map_parse отлично совместим с тулчейном, но небольшие правки makefile в зависимости от вашей инфраструктуры разработки это вполне нормальная вещь. Пишите подробности на hotline, разберемся.</p>]]></content>
			<author>
				<name><![CDATA[AndreyStepin]]></name>
				<uri>https://forum.guardant.ru/user/8/</uri>
			</author>
			<updated>2012-06-25T11:08:04Z</updated>
			<id>https://forum.guardant.ru/post/949/#p949</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/948/#p948" />
			<content type="html"><![CDATA[<p>Ну так что? Ответы то будут? Проекты стоят. Если программимты не помнимают, что текущая версия утилиты map_parse несовместимма с текущим тулчейном - можно доказать это через суд.<br />Выложите на сайте версию тулчейна, которая совместима с вашим ПО.</p>]]></content>
			<author>
				<name><![CDATA[Jeevoy]]></name>
				<uri>https://forum.guardant.ru/user/407/</uri>
			</author>
			<updated>2012-06-25T10:01:35Z</updated>
			<id>https://forum.guardant.ru/post/948/#p948</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/943/#p943" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Neekeetos пишет:</cite><blockquote><p> внести в расписание и проверять хотябы с выпуском каждой новой версии сдк. Было бы меньше недопонимания.</p></blockquote></div><p>+1<br /></p><div class="quotebox"><cite>Neekeetos пишет:</cite><blockquote><p>Вот это отличная новость, думаю ключам Code именно этого и не хватает. В свою очередь могу описать несколько криптографических примитивов и безопасных протоколов, с тем чтобы разработчики не начинали на ровном месте.</p></blockquote></div><p>ещё раз +1</p>]]></content>
			<author>
				<name><![CDATA[Denis]]></name>
				<uri>https://forum.guardant.ru/user/351/</uri>
			</author>
			<updated>2012-06-19T13:55:11Z</updated>
			<id>https://forum.guardant.ru/post/943/#p943</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/941/#p941" />
			<content type="html"><![CDATA[<p>Не, про линукс уже речи не идет - и так все ясно. Идет речь про то, что утилита map_parse несовместимма с текущим тулчейном.</p>]]></content>
			<author>
				<name><![CDATA[Jeevoy]]></name>
				<uri>https://forum.guardant.ru/user/407/</uri>
			</author>
			<updated>2012-06-18T20:39:14Z</updated>
			<id>https://forum.guardant.ru/post/941/#p941</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant Code, map_parse и флажки оптимизации]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/940/#p940" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>Во-первых хочу заверить Вас, что все сообщения о возможных ошибках makefile и сопутствующих утилит переданы соответствующим разработчикам. Мы обязательно разберемся со всеми проблемами, тем не менее хочу заверить Вас что в стандартной ситуации все наши примеры и makefile отрабатывают &quot;на ура&quot;. Возможно обновились сборки тулчейнов, или возникла путаница в поколениях ключей или какой то неосознанный конфликт.</p></blockquote></div><p>Или возможно никто не проверял даже изредка как работает то, что лежит в сдк, что, опять же, возможно, является вещью которую можно внести в расписание и проверять хотябы с выпуском каждой новой версии сдк. Было бы меньше недопонимания.</p><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>Во-вторых, мы вполне осознанно создали некоторую путаницу с адресами RAM в старых и новых ключах. Физически там адреса разные, но makefile должен скрывать эту разницу дабы не создавать лишних сложностей для GrdUtil и версий масок. Если вы работаете только со вторым поколением ключей и используете только yagarto то проблем возникать вообще не должно.</p></blockquote></div><p> Я вас уверяю , все проблемы которые я нашел были связаны с использованием чисто yagarto без каких либо других установленых сред.</p><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>В-третьих, как справедливо было отмечено, сборку кода под Linux мы не обещали.</p></blockquote></div><p>Но у вас спросили а вы поддержка, по большому счету то вы вообще ничего не обещали, даже работоспособность ключей, что теперь можно ничего не делать?</p><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>И главное, по поводу скорости ключей: я вас уверяю, мы со своей стороны делаем все возможное для ускорения так называемых накладных расходов. При этом мы должны сохранить защищенность протокола обмена - на текущий момент он шифруется на сеансовых ключах между микропрограммой ключа и Guardant API. К сожалению у протокола обмена USB есть ограничения не позволяющие слать пакеты чаще чем 1 раз в миллисекунду, и несмотря на то, что в ключах Guardant Code используются самые мощные в нашей линейке ARM-процессоры 20 секунд является технологическим ограничением.</p></blockquote></div><p>Я измерял времена работы SSL на ключе, и получилось парадоксальное соотношение,<br />допустим ключ без кода вообще тратит на передачу килобайта (на ключ и обратно)&nbsp; 60милисекунд, если работает ssl c AES-CBC/HMAC-SHA256&nbsp; то это время увеличивается на 2 милисекунды, странно да? </p><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>В настоящий момент мы тестируем прототип ключа Code без шифрованного протокола обмена - в нем накладные расходы на вызов могут быть гораздо меньше (хотя из за особенностей USB-протокола все же меряются в миллисекундах), но при этом повышается ответственность разработчика по переносу кода в ключ (т.к. появляется уязвимое место в виде нешифрованного протокола).</p></blockquote></div><p>Вот это отличная новость, думаю ключам Code именно этого и не хватает. В свою очередь могу описать несколько криптографических примитивов и безопасных протоколов, с тем чтобы разработчики не начинали на ровном месте. </p><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>Если мы признаем данный проект разумным по соотношению защищенность/производительность, такие ключи могут поступить в продажу в не столь отдаленном будущем.</p></blockquote></div><p> Мне кажется он будет разумным,&nbsp; поскольку сам микроконтроллер быстрый, и позволяет пропускать через ключ кучу данных, для защиты это плюс.</p><div class="quotebox"><cite>AndreyStepin пишет:</cite><blockquote><p>А умело обойти ограничения железа (пресловутые 20 мс) и при этом достичь высокой взломостойкости - это и есть мастерство разработчика защиты.</p></blockquote></div><p>Я согласен, можно обходить препятствия, но ведь многие из них могли бы не существовать и тогда не пришлось бы &quot;умело обходить&quot;, кроме того там не 20мс, 20 это для пустого запроса без передачи данных, более близкая к реальности цифра - порядка 100мс или 10 запросов в секунду для вызова кода, или порядка 40мс для вызова встроеных алгоритмов.</p>]]></content>
			<author>
				<name><![CDATA[Neekeetos]]></name>
				<uri>https://forum.guardant.ru/user/343/</uri>
			</author>
			<updated>2012-06-18T14:19:27Z</updated>
			<id>https://forum.guardant.ru/post/940/#p940</id>
		</entry>
</feed>
