<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Отладка загружаемого кода до загрузки]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/480" />
	<updated>2014-11-20T18:52:06Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/480/</id>
		<entry>
			<title type="html"><![CDATA[Re: Отладка загружаемого кода до загрузки]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2323/#p2323" />
			<content type="html"><![CDATA[<p>Немного уточню:<br />При отладке кода микропрограммы нужно учитывать что отлаживаемый микрокод будет всегда заявлен как алгоритм с номером 9 (иначе не получится выполнить полноценную отладку).<br />И второй нюанс - вызов GccaGetRandom может (иногда) сбоить, поэтому для рандомизации при отладке можно воспользоваться следующим кодом:</p><p>DWORD get_dword_random()<br />{<br />&nbsp; &nbsp; DWORD dwRet;<br />&nbsp; &nbsp; #if defined( DEBUG_DLL )&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; srand (time(NULL));<br />&nbsp; &nbsp; &nbsp; &nbsp; dwRet = rand();<br />&nbsp; &nbsp; #else<br />&nbsp; &nbsp; &nbsp; &nbsp; BYTE * p = (BYTE*)&amp;dwRet;<br />&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i &lt; 4; i++)<br />&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GccaGetRandom(0, p);<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p++;<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; #endif<br />&nbsp; &nbsp; return dwRet;<br />}</p>]]></content>
			<author>
				<name><![CDATA[Александр (Rouse_) Багель]]></name>
				<uri>https://forum.guardant.ru/user/53/</uri>
			</author>
			<updated>2014-11-20T18:52:06Z</updated>
			<id>https://forum.guardant.ru/post/2323/#p2323</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Отладка загружаемого кода до загрузки]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2322/#p2322" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Вы можете использовать любую маску для отладки загружаемого кода. Главное, чтобы номер алгоритма загружаемого кода&nbsp; совпадает с номером алгоритма, использованного в ключе. <br />Если Вы используете наш пример, то Вы можете открыть папку Samples/ARM в комплекте разработчика и использовать mask2.nsd</p>]]></content>
			<author>
				<name><![CDATA[Станислав Петрушевский]]></name>
				<uri>https://forum.guardant.ru/user/818/</uri>
			</author>
			<updated>2014-11-20T15:06:08Z</updated>
			<id>https://forum.guardant.ru/post/2322/#p2322</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Отладка загружаемого кода до загрузки]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/2317/#p2317" />
			<content type="html"><![CDATA[<p>В документации описан способ отладки загружаемого кода с помощью специального образа (DebugMask.nsd) на ключ и запуска самого кода на десктопе.<br />Однако, такового образа (DebugMask.nsd) в комплекте разработчика найти не удалось.<br />Возможно, его нет в последней версии SDK.</p><p>Где его искать теперь? :)</p>]]></content>
			<author>
				<name><![CDATA[Netherspite]]></name>
				<uri>https://forum.guardant.ru/user/857/</uri>
			</author>
			<updated>2014-11-19T17:26:27Z</updated>
			<id>https://forum.guardant.ru/post/2317/#p2317</id>
		</entry>
</feed>
