Ошибка в вычислениях адресов у GCC ?

Jan 27, 2005 Last reply: 21 years ago 566 Replies

Hello, Alexey V Bugrov !

Как? Я все время пытаюсь узнать как ты собираешься априори отличать корректные действия от некорректных. Вот есть простейший регулятор, тем не менее, работающий в реальных устройствах

power = (byte)(((word)Vpf * (word)Ipfc)/256U);

power = (byte)((word)power * Pwr_Adj / 128U);

if (Iout > 0) Vout = power*128U/Iout; else Vout = 0;

if (((regmode == rgCurrent) && (power > pref_dim)) || (regmode == rgPower)) { Discrepancy_n = (pref_dim - power)/2; regmode = rgPower; } else { Discrepancy_n = Iwarm - Iout; regmode = rgCurrent; } pwm = pwm1; if (Discrepancy_n >= Discrepancy_n1) { if (Discrepancy_n > 0) pwm++; else if (Discrepancy_n < 0) pwm--; if (Discrepancy_n > 1) pwm++; else if (Discrepancy_n < -1) pwm--; } Discrepancy_n1 = Discrepancy_n; if (pwm > 253U) pwm = 253U; if (pwm < 3) pwm = 3; pwm1 = pwm; }

Причем период вызова этой последовательности тут не виден, но задается от работающего в прерывании таймера. Также тут не видны цифровые фильтры (частично на асме написанные), от которых получаются входные данные. Что и как тут тестировать?

Это даже не смешно... И требует симуляции всего окружения. Сложность полученной системы и количество ошибок в ней превышает сложность проверяемой на несколько порядков. Особенно если ставить задачу (а как без этого) соответсвия масштабов времени скажем аппаратно работающих таймеров и времени выполнения процессором команд.

То есть создается _аппаратная_ модель разрабатываемого _устройства_. Да именно так, только чаще не с эмулятором а прямо с целевым кристаллом мы и тестируем наши программы и устройства.

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

Hе вижу практического смысла писать весьма сложные программы для мало чего дающей проверки простых. Ведь эти сложные программы следующий тестер будет тоже тестировать, создавая еще более сложные с еще большим числом ошибок. В результате весь пар уйдет в гудок.

Если функция выполняется, то ошибок или нет, или они не существенны.

А толку? Зачем мне его передаточная функция?

Зачем?

А если нет никакой мат модели?

Проводится тестирование в ненормальных условиях. Всего устройства. По любому.

К сожалению, реальность постоянно подбрасывает ситуации, о которых нельзя было и помыслить...

То есть для проверки того, что в реальном времени проверяется месяц, потребуется лет 10?

Правда.

А исходник вдумчиво посмотреть не быстрее и надежнее?

Имея даже два десятибитовых входных сигнала (два канала АЦП), сколько ты будешь перебирать весь миллион комбинаций? А в реальных системах комбинаций много больше... И кто и как должен сказать что именно следует ожидать на выходе в результате подачи этих сигналов? Вот на простейшем приведенном примере (хорошо, пусть там только восьмибитные данные) как ты это сделаешь? Hа всякий случай напомню, что это зависящая от реального времени система.

Hе понимаю каким образом.

Проверяется и нештатная работа. И обрыв датчиков и многое другое.

То есть при привлечении дополнительных программистов (тестеров) с их дополнительным кодом число ошибок возрастает, да еще и квадратично?

С уважением, Дима Орлов.

Hello, Ruslan Mohniuc !

С чего ты взял что именно в этом состоит задача прибора? В большей части моих приборов выход из строя чего угодно означает выход из строя прибора целиком. И если что-то не работает, то нет никакого смысла закладывать в программу какие-то специальные алгоритмы отработки этих ситуаций.

С уважением, Дима Орлов.

Hi Dima !

Совсем недавно 18 Feb 05 12:09, Dima Orlov писал к Ruslan Mohniuc:

DO> С чего ты взял что именно в этом состоит задача прибора? Hе _именно в этом_, а _в том числе и в этом_.

DO> В большей части моих приборов выход из строя чего угодно означает DO> выход из строя прибора целиком. Значит тебе повезло. А у меня один дребезжащий датчик не должен валить всю систему сбора или забивать мусором весь локальный лог собираемых прибором сигналов. В системах управления то же самое- по возможности предусмотреть, чтобы при выходе из строя датчика в расчеты подставлялось оговоренное заранее значение. Понимаю, что случаи разные бывают. Потому и говорю- _по возможности_.

DO> И если что-то не работает, то нет никакого смысла закладывать в DO> программу какие-то специальные алгоритмы отработки этих ситуаций. Случаи разные бывают. Hаверно правильнее так: если продолжение работы прибора в случае неисправности того-то и того-то приведет к нанесению бОльшего вреда, чем прекращение работы- то при возникновении такой ситуации прибор прекращает свою работу. Hо опять же, с нашей железячной точки зрения очевидно, что под прекращением работы подразумеваются определенные действия. Я так подозреваю, что и в твоих регуляторах предусмотрено, что произойдет при отсутствии обратной связи? Чем это не "спец.алгоритм обработки этих ситуаций"? Помнится, как-то делали управление задвижкой. Так там предусматривался как контроль работоспособности выходных ключей, так и действия в случае неисправности как самих ключей так и их системы контроля. То есть устройство нормально (но не оптимально) могло выполнять свою функцию и в "обрезанном" варианте. Может это и нетипично, но на алгоритмизацию работы приборов в нештатной ситуации у меня уходит как правило достаточно много времени.

WBRgrds Ruslan

Hello, Ruslan Mohniuc !

Как вариант, а не как что-то, что есть всегда.

Что значит повезло или не повезло? Просто другие задачи, что я и показываю.

Значит нужен специальный код проверки валидности датчика. И без датчика и живой системы (ее части) такой код хрен отладишь.

Как я выше показал, не в любые.

Да нет, по необходимости. Которая иногда есть, а иногда ее нет.

Hет, не предусмотрено. Он просто ляжет на упор, как и в некоторых штатных ситуациях. Хотя с вероятностью в 99% не успеет - сгорит все много раньше. При этом я не спорю, что бывают и другие ситуации. Более того, в программе для другого устройства (которое не выбрасывалось целиком при любой неполадке) я встраивал код проверки того, что на изменение выхода регулятора есть реакция и если ее не было - глушил систему, выводил (а там было куда) сообщение об ошибке. Hо то была специального применения система на 3kW и ценой под $2k, а не рассмотренная выше система на $80 для широкого применения.

С уважением, Дима Орлов.

MP>>> Для того-же CreateFileA нужно передать 7 параметров включая имя MP>>> файла, и если их описывать внятно то несколько строк надо по MP>>> любому вне зависимости от языка. KF>> А "creat" требует всего два аргумента... MP> Лажа поди. MSDN курил?

Предпочитаю беломор, тьфу, маны то-есть. Дёшево и сердито.

MP>>> чтоб без мышки все работало и желательно с управляющими MP>>> комбинациями как в qedit. KF>> Vim с ctags почему-то это всё позволяет. MP> Так оно не под маздай же.

Hу да, а я вот под маздаем преимущественно им и обхожусь. Ибо блокнотами всякими там даже файл в досовой кодировке не почитать. Всё же советую дойти то

formatting link
Для полного удовлетворяния нужно отдельно взять последнюю (для асма, наверное, и не последняя сойдёт, та что с вимом в комплекте) exhuberant-ctags и tags explorer плугин.

Привет Kirill!

Friday February 18 2005 21:55, Kirill Frolov wrote to Maxim Polyanskiy:

KF>>> Vim с ctags почему-то это всё позволяет. MP>> Так оно не под маздай же. KF>

KF> Hу да, а я вот под маздаем преимущественно им и обхожусь. KF> Ибо блокнотами всякими там даже файл в досовой кодировке не почитать. KF> Всё же советую дойти то

formatting link
Для полного удовлетворяния

Боже упаси! Идти надо на

formatting link

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
, ftp://altor.sytes.net

AA> AA> Я еще багу в железе нашел, на команде записи нуля в pегистpы pежима или AA> поляpности внешних пpеpываний (хотя-бы для одного из пpеpываний) камень то-ли AA> виснет, то-ли пpосто из jtag-отладки вылетает. Более детально pазбиpаться пока AA> некогда, обощел пpоблему закомментиpованием этих команд, т.к. все pавно AA> стаpтовое значение этих pегистpов - 0.

Случаем не это?

ERRATA SHEET Date: November 8, 2004 Document Release: Version 1.4 Device Affected: LPC2124 Revision Identifier "A" Initial device revision

EXTINT.1 Corruption of VPBDIV via EXTPOLAR or EXTMODE <skip>

Problem: <skip> If VPBDIV is "1" or "2" prior to any write to EXTPOLAR or EXTMODE, the CPU will hang up on the write to EXTPOLAR or EXTMODE. ~~~~~~~~~~~~~~~~~~ прям так и сказано - повиснет...

*Пока! << Прости, Вилли. Я слегка паникую! (с) Альф Dmitry Kuznetsov, Moscow,
formatting link
Беговая Черепаха] [Team LEXX] [Team ...] *
ðÒÉ×ÅÔ Andy! ðÑÔ æÅ× 18 2005 09:47, Andy Mozzhevilov -> Anton Abrosimov:

AM>>> ÄÁ ÎÅ ÔÁËÏÊ ÏÎ yÖ É yÖÁÓÎÙÊ. AA>> ñ ÕÖÁÓÎÅÅ ÎÅ ×ÓÔpÅÞÁÌ, ×ÓÅ-ÔÁËÉ ÎÁ ÂÏÌÅ-ÍÅÎÅÅ pÁÚ×ÉÔÙÈ ÐpÏÃÁÈ AA>> cisc ÂÏÌÅÅ ÎÁÇÌÑÄÅÎ. AM> ôÁË ÔÙ ÖÅ ÎÁ óÉ ×ÓÅ pÁ×ÎÏ ÐÉÛÅÛØ, ËÁËÁÑ pÁÚÎÉÃÁ, ÞÔÏ ÔÁÍ ÚÁ ÁÓÍ. á AM> ÅÓÌÉ ÎÁÄÏ pÁÚÏÂpÁÔØÓÑ, ÔÁË pdf × pyËÉ, É ×ÐÅpÅÄ. ñ ÐpÏÓÔÏ ËÏÎÔpÏÌÉpÕÀ ËÏÄÏÇÅÎÅpÁÃÉÀ ËpÉÔÉÞÎÙÈ ÕÞÁÓÔËÏ× É ÔÉÐÏ×ÙÈ ËÏÎÓÔpÕËÃÉÊ. ïÐÔÉÍÁÌØÎÏ ÂÙÌÏ-ÂÙ, ÅÓÌÉ ÏÐËÏÄÙ ËÏÍÁÎÄ ÎÅÓÌÉ ÞÕÔØ ÂÏÌØÛÅ ÓÍÙÓÌÏ×ÏÊ ÎÁÇpÕÚËÉ.

AA>> é ÇpÏÍÏÚÄËÉÊ ËÏÄ ÐÏÓÌÅ ËÏÍÐÉÌÑÔÏpÁ ×ÙÈÏÄÉÔ, AM> Hy ÔÁË ÔÙ ÎÅ ÚÁÂÙ×ÁÊ, ÞÔÏ y ÎÅÇÏ ÍÉÎÉÍÁÌØÎÙÊ pÁÚÍÅp ËÏÍÁÎÄÙ 32 ÂÉÔÁ

16ÂÉÔ, Ñ × thumb ËÏÍÐÉÌÀ. HÏ ÐÏÄ ÇpÏÍÏÚÄËÏÓÔØÀ Ñ ÉÍÅÌ × ×ÉÄÕ ËÏÌÉÞÅÓÔ×Ï ËÏÍÁÎÄ ÎÁ ÏÐÅpÁÃÉÀ.

AA>> ÓÕÂßÅËÔÉ×ÎÏ ÚÁÍÅÔÎÏ ÍÅÎØÛÅ ÐÁÓÐÏpÔÎÙÈ 0.8MIPS/MHz (ÚÁ ÅÄÉÎÉÃÕ Ñ AA>> AVR ÂÅpÕ :). AM> Îy ÞÔÏ ÓËÁÚÁÔØ, × ÏÂÝÅÍ-ÔÏ ARM ÎÅ ÂÌÅÝÅÔ ×ÙÄÁÀÝÅÊÓÑ AM> ÐpÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØÀ ÎÁ ÔÅÈ ÖÅ ÔÁËÔÏ×ÙÈ, ÎÁ ËÏÔÏpÙÈ ÚÁ×ÏÄÑÔÓÑ cisc-É. ápÍÙ pÁÚÎÙÅ ÂÙ×ÁÀÔ. ápÍ9, ÓÕÄÑ ÐÏ ÔÅÓÔÁÍ, ÚÁÍÅÔÎÏ ÛÕÓÔpÅÅ.

AM> âÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÎÁÞÉÎÁÅÔ ÛyÓÔpÉÔØ ÐpÉ ×ËÌÀÞÅÎÎÙÈ pll É ËÏÎ×ÅÊÅpÅ. HÁ ÜÔÏÍ ÁpÍÅ, ÐÅp×ÏÅ, ÞÔÏ Ñ ÎÁÐÉÓÁÌ, ÂÙÌ ÐpÏÇpÁÍÎÙÊ ×Ù×ÏÄ ÍÅÁÎÄpÁ ÎÁ ÏÄÎÕ ÉÚ ÎÏÇ. ó 55íçà ÔÁËÔÏ×ÏÊ É ×ËÌÀÞÅÎÏÍ MAM ×ÙÛÌÏ ÏËÏÌÏ 2íçÃ, ÔÏ ÅÓÔØ 14 ÔÁËÔÏ× ÎÁ ÐÅpÅËÌÀÞÅÎÉÅ ÎÏÇÉ.

AA>> èÏÔÑ ÚÁÞÅÍ ÜÔÏÔ ËÏÄ ÉÍÅÎÎÏ × ÓÔÁpÔÁÐÅ, Á ÎÅ ÐpÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ AA>> ÖÅÌÅÚÁ, ÍÎÅ ÎÅÐÏÎÑÔÎÏ. AM> HÁ óÉ ÜÔÏÔ ÖÅ ËÏÄ ×ÙÇÌÑÄÅÌ ÂÙ ÂÏÌÅÅ ËpÉ×Ï, ÐÏÓËÏÌØËy ÎyÖÎÏ ËÁË-ÔÏ AM> ×ÚÑÔØ ÔÅËyÝÉÊ pc. óÐÏÓÏÂÙ ÅÓÔØ, ËÏÎÅÞÎÏ. ñ ÐÏÓÔÕÐÉÌ ÐpÏÝÅ - ÏÂÅpÎÕÌ ÜÔÏÔ ËÏÄ × #ifdef DEBUG_RAM.

AA>> ïÓÏÂÅÎÎÏ ÅÓÌÉ ËÏÄ × ÏÐÅpÁÔÉ×ËÕ ÕÖÅ ÎÅ ×ÌÁÚÉÔ. :) AM> á Ñ ËÁË pÁÚ ÚÁÎÉÍÁÌÓÑ ÓÔÁpÔÏÍ Ó ÎÉÍÉ, É ÐpÏÂÏ×ÁÌ ËÏÄ ÇpyÚÉÔØ É ÔyÄÁ, É AM> ÓÀÄÁ. ðÏÔÏÍ, ÄÌÑ 2106 ×ÐÏÌÎÅ ÎÅÂÏÌØÛÉÅ ÐpÏÅËÔÙ ÍÏÖÎÏ ÂÙÌÏ ÂÙ ÏÔÌÁÖÉÔØ AM> ÐÏÌÎÏÓÔØÀ × RAM. äÁ, ÎÁ 2106 ÍÏÖÎÏ, ÎÏ ÔÁÍ ÁÃÐ ÎÅÔ. ëÓÔÁÔÉ, Á ËÁËÉÍ ÍÅÔÏÄÏÍ ÔÙ ÏÔÌÁÖÉ×ÁÅÛØ ÅÇÏ ÉÚ ÆÌÅÛÁ? LPC flashloader ÉÚ ËÏÍÐÌÅËÔÁ Ë ÉÁpÕ ÄÌÑ ÚÁÛÉ×ÁÎÉÑ ÞÅpÅÚ jtag Õ ÍÅÎÑ ×ÉÓÎÅÔ × 8 ÓÌÕÞÁÑÈ ÉÚ 10.

AA>> ÐÌÁÎÉpÕÅÔÓÑ, ÔÏ ÉÍÈÏ ÎÁ ÎÅËÏÔÏpÙÅ ×ÏÐpÏÓÙ ÍÏÖÎÏ É ÚÁÂÉÔØ (ËÁË Ñ AA>> ÎÁ ÂÁÇÕ Ó ×ÎÅÛÎÉÍÉ ÐpÅpÙ×ÁÎÉÑÍÉ). AM> åÓÔØ ×ÅpÏÑÔÎÏÓÔØ, ÞÔÏ ÔÙ ÐpÏÌÅÞÉÌ ÌÉÛØ ÓÉÍÐÔÏÍÙ, Á ÎÅ ÐpÏÂÌÅÍy. AM> ÷ÏÚÍÏÖÎÏ ÏÎÁ ×ÙÌÅÚÅÔ ÇÄÅ-ÎÉÂyÄØ Ó ÄpyÇÏÇÏ ÂÏËy. ÈÚ. ÷ÓÅ ×ÏÚÍÏÖÎÏ.

AM>>> ÐÏÐÁÄÁÅÔ × ÓÔpÏÞËy Other: ôÁË ×ÏÔ, ÐÏÄ ÞÔÏ ÉÓÐÏÌØÚyÅÔÓÑ ÜÔÁ AM>>> ÐÁÍÑÔØ, ÞÔÏ ×ÌÉÑÅÔ ÎÁ ÅÅ ÏÂßÅÍ? ñ ÎÅ ÎÁÛÅÌ ÐÏËÁ ÏÔ×ÅÔÁ. AA>> üÔÏ ÉÓÐÏÌØÚÕÅÍÙÅ pÅÇÉÓÔpÙ ÐÅpÉÆÅpÉÉ (ÅÓÌÉ ram) É ÉÎÉÃÉÁÌÉÚÁÃÉÑ AA>> ÓÅÇÍÅÎÔÁ (ÅÓÌÉ rom). AM> þÔÏ ÚÁ ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÓÅÇÍÅÎÔÁ? HÅ ÚÎÁÀ, × ÄÏËÁÈ ÎÅ ÕÔÏÞÎÑÅÔÓÑ. çÏ×ÏpÉÔÓÑ ÌÉÛØ, ÞÔÏ ÏÎÁ ÄÏÂÁ×ÌÑÅÔÓÑ Ë ÓÔÁpÔÁÐ-ËÏÄÕ. ÷ AVR ÜÔÏÔ ÓÅÇÍÅÎÔ ÎÁÚÙ×ÁÌÓÑ INITTAB. ÷ÏÚÍÏÖÎÏ ÜÔÏ ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÇÌÏÂÁÌØÎÙÈ É ÓÔÁÔÉÞÅÓËÉÈ ÐÅpÅÍÅÎÎÙÈ.

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... õÂÉÌ ÂÏÂpÁ - ÓÐÁÓ ÄÅpÅ×Ï. (c) GreenPeace

Hello, Peter Kostenko !

Так вот до сих пор никто так и не ответил на вышепоставленные вопросы.

А как же.

Более того, я сам себе решаю делать аппаратное решение, или ставить MC и писать для него программу. Иногда я пишу программы для не своих проектов, но все это происходит рядом и в разработке электроники я тоже участвую. А вот что такое независимая среда и юниттестирование мне применительно к тому, чем я занимаюсь, совершенно непонятно.

С уважением, Дима Орлов.

ðÒÉ×ÅÔ Dmitry! óÕ æÅ× 19 2005 08:32, Dmitry Kuznetsov -> Anton Abrosimov:

AA>> ñ ÅÝÅ ÂÁÇÕ × ÖÅÌÅÚÅ ÎÁÛÅÌ, ÎÁ ËÏÍÁÎÄÅ ÚÁÐÉÓÉ ÎÕÌÑ × pÅÇÉÓÔpÙ AA>> pÅÖÉÍÁ ÉÌÉ ÐÏÌÑpÎÏÓÔÉ ×ÎÅÛÎÉÈ ÐpÅpÙ×ÁÎÉÊ (ÈÏÔÑ-ÂÙ ÄÌÑ ÏÄÎÏÇÏ ÉÚ AA>> ÐpÅpÙ×ÁÎÉÊ) ËÁÍÅÎØ ÔÏ-ÌÉ ×ÉÓÎÅÔ, ÔÏ-ÌÉ ÐpÏÓÔÏ ÉÚ jtag-ÏÔÌÁÄËÉ AA>> ×ÙÌÅÔÁÅÔ. âÏÌÅÅ ÄÅÔÁÌØÎÏ pÁÚÂÉpÁÔØÓÑ ÐÏËÁ ÎÅËÏÇÄÁ, ÏÂÏÝÅÌ ÐpÏÂÌÅÍÕ AA>> ÚÁËÏÍÍÅÎÔÉpÏ×ÁÎÉÅÍ ÜÔÉÈ ËÏÍÁÎÄ, Ô.Ë. ×ÓÅ pÁ×ÎÏ ÓÔÁpÔÏ×ÏÅ ÚÎÁÞÅÎÉÅ AA>> ÜÔÉÈ pÅÇÉÓÔpÏ× - 0. DK> óÌÕÞÁÅÍ ÎÅ ÜÔÏ? ï ËÁË. ïÎÏ ÓÁÍÏÅ. á workaround ÎÅ ÐpÉ×ÅÄÅÎ?

DK> ERRATA SHEET DK> Date: November 8, 2004 DK> Document Release: Version 1.4 DK> Device Affected: LPC2124 DK> Revision Identifier "A" Initial device revision

DK> EXTINT.1 Corruption of VPBDIV via EXTPOLAR or EXTMODE DK> <skip>

DK> Problem: <skip> If VPBDIV is "1" or "2" prior to any write to EXTPOLAR DK> or EXTMODE, the CPU will hang up on the write to EXTPOLAR or EXTMODE. DK> ~~~~~~~~~~~~~~~~~~ DK> ÐÒÑÍ ÔÁË É ÓËÁÚÁÎÏ - ÐÏ×ÉÓÎÅÔ... ôÏÌØËÏ × pÅÁÌØÎÏÓÔÉ Ë ÚÁ×ÉÓÁÎÉÀ ÐpÉ×ÏÄÉÔ ÎÅ "any write", Á ÚÁÐÉÓØ ÈÏÔÑ-ÂÙ ÏÄÎÏÇÏ ÎÕÌÑ, ÅÓÌÉ ÖÅ ÐÉÓÁÔØ 0ÈFF, ÔÏ ÎÅ ×ÉÓÎÅÔ. üÔÉÍ Ñ É ×ÏÓÐÏÌØÚÏ×ÁÌÓÑ, ËÏÎÆÉÇÕpÉpÕÑ ×ÓÅ ×ÎÅÛÎÉÅ ÐpÅpÙ×ÁÎÉÑ ÏÄÉÎÁËÏ×Ï É ÌÉÛØ ÏÄÉÎ pÁÚ. :)

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... ÷ÎÉÍÁÎÉÅ: ÉÄÅÔ ÐÏÄÇÏÔÏ×ËÁ Ë ÐÏÓÌÅÄÎÅÍÕ ÚÁÐÕÓËÕ Windows 95

Sat Feb 19 2005 10:28, Anton Abrosimov wrote to Andy Mozzhevilov:

AA>>> cisc ÂÏÌÅÅ ÎÁÇÌÑÄÅÎ. AM>> ôÁË ÔÙ ÖÅ ÎÁ óÉ ×ÓÅ pÁ×ÎÏ ÐÉÛÅÛØ, ËÁËÁÑ pÁÚÎÉÃÁ, ÞÔÏ ÔÁÍ ÚÁ ÁÓÍ. á AM>> ÅÓÌÉ ÎÁÄÏ pÁÚÏÂpÁÔØÓÑ, ÔÁË pdf × pyËÉ, É ×ÐÅpÅÄ.

AA> ñ ÐpÏÓÔÏ ËÏÎÔpÏÌÉpÕÀ ËÏÄÏÇÅÎÅpÁÃÉÀ ËpÉÔÉÞÎÙÈ ÕÞÁÓÔËÏ× É ÔÉÐÏ×ÙÈ AA> ËÏÎÓÔpÕËÃÉÊ. ïÐÔÉÍÁÌØÎÏ ÂÙÌÏ-ÂÙ, ÅÓÌÉ ÏÐËÏÄÙ ËÏÍÁÎÄ ÎÅÓÌÉ ÞÕÔØ ÂÏÌØÛÅ AA> ÓÍÙÓÌÏ×ÏÊ ÎÁÇpÕÚËÉ.

ñ ÐÒÏÂÅÖÁÌÓÑ ÇÌÁÚÁÍÉ ÐÏ ÏÐÉÓÁÎÉÀ arm É ÅÇÏ ÁÓÓÅÍÂÌÅÒÁ, ÐÏÓÌÅ ÜÔÏÇÏ ÎÁ ÕÒÏ×ÎÅ ÐÏÎÉÍÁÎÉÑ ÉÓÈÏÄÎÉËÁ ÎÅ ×ÉÖÕ ÏÓÏÂÙÈ ÚÁÔÒÕÄÎÅÎÉÊ.

AA>>> é ÇpÏÍÏÚÄËÉÊ ËÏÄ ÐÏÓÌÅ ËÏÍÐÉÌÑÔÏpÁ ×ÙÈÏÄÉÔ, AM>> Hy ÔÁË ÔÙ ÎÅ ÚÁÂÙ×ÁÊ, ÞÔÏ y ÎÅÇÏ ÍÉÎÉÍÁÌØÎÙÊ pÁÚÍÅp ËÏÍÁÎÄÙ 32 ÂÉÔÁ

AA> 16ÂÉÔ, Ñ × thumb ËÏÍÐÉÌÀ. HÏ ÐÏÄ ÇpÏÍÏÚÄËÏÓÔØÀ Ñ ÉÍÅÌ × ×ÉÄÕ ËÏÌÉÞÅÓÔ×Ï AA> ËÏÍÁÎÄ ÎÁ ÏÐÅpÁÃÉÀ.

üÔÏ ÖÅ RISC

AM>> Îy ÞÔÏ ÓËÁÚÁÔØ, × ÏÂÝÅÍ-ÔÏ ARM ÎÅ ÂÌÅÝÅÔ ×ÙÄÁÀÝÅÊÓÑ AM>> ÐpÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØÀ ÎÁ ÔÅÈ ÖÅ ÔÁËÔÏ×ÙÈ, ÎÁ ËÏÔÏpÙÈ ÚÁ×ÏÄÑÔÓÑ cisc-É.

AA> ápÍÙ pÁÚÎÙÅ ÂÙ×ÁÀÔ. ápÍ9, ÓÕÄÑ ÐÏ ÔÅÓÔÁÍ, ÚÁÍÅÔÎÏ ÛÕÓÔpÅÅ.

ñ ËÏÎËÒÅÔÎÏ ÇÏ×ÏÒÉÌ ÐÒÏ ARM7TDMI

AM>> âÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÎÁÞÉÎÁÅÔ ÛyÓÔpÉÔØ ÐpÉ ×ËÌÀÞÅÎÎÙÈ pll É ËÏÎ×ÅÊÅpÅ.

AA>>> èÏÔÑ ÚÁÞÅÍ ÜÔÏÔ ËÏÄ ÉÍÅÎÎÏ × ÓÔÁpÔÁÐÅ, Á ÎÅ ÐpÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ AA>>> ÖÅÌÅÚÁ, ÍÎÅ ÎÅÐÏÎÑÔÎÏ. AM>> HÁ óÉ ÜÔÏÔ ÖÅ ËÏÄ ×ÙÇÌÑÄÅÌ ÂÙ ÂÏÌÅÅ ËpÉ×Ï, ÐÏÓËÏÌØËy ÎyÖÎÏ ËÁË-ÔÏ AM>> ×ÚÑÔØ ÔÅËyÝÉÊ pc. óÐÏÓÏÂÙ ÅÓÔØ, ËÏÎÅÞÎÏ.

AA> ñ ÐÏÓÔÕÐÉÌ ÐpÏÝÅ - ÏÂÅpÎÕÌ ÜÔÏÔ ËÏÄ × #ifdef DEBUG_RAM.

ñ ÌÉÎËÕÀ ÐÒÏÅËÔ ÓÒÁÚÕ ÄÌÑ 2-ÕÈ ÒÅÖÉÍÏ×, flash É ram, ÜÔÏ ÚÁÎÉÍÁÅÔ ×ÒÅÍÅÎÉ ÂÏÌØÛÅ ÎÁ ÐÏÌ-ÓÅËÕÎÄÙ, ÚÁÔÏ ÐÏÌÕÞÁÀ ÓÒÁÚÕ ×ÏÚÍÏÖÎÏÓÔØ ÉÌÉ ÛÉÔØ ×Ï ÆÌÜÛ, ÉÌÉ ÇÒÕÚÉÔØ × ÒÁÍ. ôÁË ÞÔÏ #ifdef ÍÎÅ ÍÅÎØÛÅ ÎÒÁ×ÉÔÓÑ

AM>> á Ñ ËÁË pÁÚ ÚÁÎÉÍÁÌÓÑ ÓÔÁpÔÏÍ Ó ÎÉÍÉ, É ÐpÏÂÏ×ÁÌ ËÏÄ ÇpyÚÉÔØ É ÔyÄÁ, É AM>> ÓÀÄÁ. ðÏÔÏÍ, ÄÌÑ 2106 ×ÐÏÌÎÅ ÎÅÂÏÌØÛÉÅ ÐpÏÅËÔÙ ÍÏÖÎÏ ÂÙÌÏ ÂÙ ÏÔÌÁÖÉÔØ AM>> ÐÏÌÎÏÓÔØÀ × RAM.

AA> äÁ, ÎÁ 2106 ÍÏÖÎÏ, ÎÏ ÔÁÍ ÁÃÐ ÎÅÔ. ëÓÔÁÔÉ, Á ËÁËÉÍ ÍÅÔÏÄÏÍ ÔÙ ÏÔÌÁÖÉ×ÁÅÛØ AA> ÅÇÏ ÉÚ ÆÌÅÛÁ? LPC flashloader ÉÚ ËÏÍÐÌÅËÔÁ Ë ÉÁpÕ ÄÌÑ ÚÁÛÉ×ÁÎÉÑ ÞÅpÅÚ AA> jtag Õ ÍÅÎÑ ×ÉÓÎÅÔ × 8 ÓÌÕÞÁÑÈ ÉÚ 10.

÷ iar 4.20Á ×ÒÏÄÅ ÎÅ ×ÉÓÎÅÔ, ÒÁÂÏÔÁÅÔ ÄÏÓÔÁÔÏÞÎÏ ÓÔÁÂÉÌØÎÏ. ÷ 4.11Á ×ÙÂÉÒÁÌ 2129, ÐÒÉ ÜÔÏÍ ÐÏÓÔÏÑÎÎÏ ×ÉÓÌÏ, ÐÏÔÏÍ ×ÙÂÒÁÌ ÌÏÁÄÅÒ ÏÔ ËÁËÏÇÏ-ÔÏ ÄÒÕÇÏÇÏ ÞÉÐÁ, ÓÔÁÌÏ ÂÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÓÔÁÂÉÌØÎÏ.

AA>>> üÔÏ ÉÓÐÏÌØÚÕÅÍÙÅ pÅÇÉÓÔpÙ ÐÅpÉÆÅpÉÉ (ÅÓÌÉ ram) É ÉÎÉÃÉÁÌÉÚÁÃÉÑ AA>>> ÓÅÇÍÅÎÔÁ (ÅÓÌÉ rom). AM>> þÔÏ ÚÁ ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÓÅÇÍÅÎÔÁ?

AA> HÅ ÚÎÁÀ, × ÄÏËÁÈ ÎÅ ÕÔÏÞÎÑÅÔÓÑ. çÏ×ÏpÉÔÓÑ ÌÉÛØ, ÞÔÏ ÏÎÁ ÄÏÂÁ×ÌÑÅÔÓÑ Ë AA> ÓÔÁpÔÁÐ-ËÏÄÕ. ÷ AVR ÜÔÏÔ ÓÅÇÍÅÎÔ ÎÁÚÙ×ÁÌÓÑ INITTAB. ÷ÏÚÍÏÖÎÏ ÜÔÏ AA> ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÇÌÏÂÁÌØÎÙÈ É ÓÔÁÔÉÞÅÓËÉÈ ÐÅpÅÍÅÎÎÙÈ.

INITTAB ÔÁÍ ÔÏÖÅ ÕËÁÚÙ×ÁÅÔÓÑ Ñ×ÎÏ, Á ÞÔÏ ÔÁËÏÅ Other Ñ ÎÅ ÍÏÇÕ ÐÏÎÑÔØ.

wbr, Andy

ðÒÉ×ÅÔ Andy! ÷cË æÅ× 20 2005 21:28, Andy Mozzhevilov -> Anton Abrosimov:

AA>> ñ ÐpÏÓÔÏ ËÏÎÔpÏÌÉpÕÀ ËÏÄÏÇÅÎÅpÁÃÉÀ ËpÉÔÉÞÎÙÈ ÕÞÁÓÔËÏ× É ÔÉÐÏ×ÙÈ AA>> ËÏÎÓÔpÕËÃÉÊ. ïÐÔÉÍÁÌØÎÏ ÂÙÌÏ-ÂÙ, ÅÓÌÉ ÏÐËÏÄÙ ËÏÍÁÎÄ ÎÅÓÌÉ ÞÕÔØ AA>> ÂÏÌØÛÅ ÓÍÙÓÌÏ×ÏÊ ÎÁÇpÕÚËÉ. AM> ñ ÐÒÏÂÅÖÁÌÓÑ ÇÌÁÚÁÍÉ ÐÏ ÏÐÉÓÁÎÉÀ arm É ÅÇÏ ÁÓÓÅÍÂÌÅÒÁ, ÐÏÓÌÅ ÜÔÏÇÏ ÎÁ AM> ÕÒÏ×ÎÅ ÐÏÎÉÍÁÎÉÑ ÉÓÈÏÄÎÉËÁ ÎÅ ×ÉÖÕ ÏÓÏÂÙÈ ÚÁÔÒÕÄÎÅÎÉÊ. ÷ÏÚÍÏÖÎÏ, É ÍÎÅ ÓÔÏÉÔ. ñ ÌÉÛØ ÐpÅÚÅÎÔÁÃÉÅÊ ÅÇÏ ÁpÈÉÔÅËÔÕpÙ É ËÏÍÁÎÄ ÏÂÏÛÅÌÓÑ.

AA>> 16ÂÉÔ, Ñ × thumb ËÏÍÐÉÌÀ. HÏ ÐÏÄ ÇpÏÍÏÚÄËÏÓÔØÀ Ñ ÉÍÅÌ × ×ÉÄÕ AA>> ËÏÌÉÞÅÓÔ×Ï ËÏÍÁÎÄ ÎÁ ÏÐÅpÁÃÉÀ. AM> üÔÏ ÖÅ RISC õ ×ÓÅÇÏ ÄÏÌÖÎÁ ÂÙÔØ ÍÅpÁ. :) HÁÐpÉÍÅp, Ó 8ÍÉ-16ÔÉ ÂÉÔÎÙÍÉ ÄÁÎÎÙÍÉ pÁÂÏÔÁ ÎÅÏÐÔÉÍÁÌØÎÁ. ëÓÔÁÔÉ, ÎÅ ÐÏÍÎÀ, Á Õ ÎÅÇÏ ËÏÍÁÎÄÙ ÁpÉÆÍÅÔÉÞÅÓËÉÈ ÏÐÅpÁÃÉÊ ÍÅÖÄÕ pÅÇÉÓÔpÏÍ É ËÏÎÓÔÁÎÔÏÊ ÅÓÔØ?

AM>>> HÁ óÉ ÜÔÏÔ ÖÅ ËÏÄ ×ÙÇÌÑÄÅÌ ÂÙ ÂÏÌÅÅ ËpÉ×Ï, ÐÏÓËÏÌØËy ÎyÖÎÏ AM>>> ËÁË-ÔÏ ×ÚÑÔØ ÔÅËyÝÉÊ pc. óÐÏÓÏÂÙ ÅÓÔØ, ËÏÎÅÞÎÏ. AA>> ñ ÐÏÓÔÕÐÉÌ ÐpÏÝÅ - ÏÂÅpÎÕÌ ÜÔÏÔ ËÏÄ × #ifdef DEBUG_RAM. AM> ñ ÌÉÎËÕÀ ÐÒÏÅËÔ ÓÒÁÚÕ ÄÌÑ 2-ÕÈ ÒÅÖÉÍÏ×, flash É ram, ÜÔÏ ÚÁÎÉÍÁÅÔ AM> ×ÒÅÍÅÎÉ ÂÏÌØÛÅ ÎÁ ÐÏÌ-ÓÅËÕÎÄÙ, ÚÁÔÏ ÐÏÌÕÞÁÀ ÓÒÁÚÕ ×ÏÚÍÏÖÎÏÓÔØ ÉÌÉ ÛÉÔØ AM> ×Ï ÆÌÜÛ, ÉÌÉ ÇÒÕÚÉÔØ × ÒÁÍ. ôÁË ÞÔÏ #ifdef ÍÎÅ ÍÅÎØÛÅ ÎÒÁ×ÉÔÓÑ ëÏÍÐÉÌÉÔÓÑ ÏÄÉÎ pÁÚ, Á ÌÉÎËÕÅÔÓÑ Ä×Á?

AA>> äÁ, ÎÁ 2106 ÍÏÖÎÏ, ÎÏ ÔÁÍ ÁÃÐ ÎÅÔ. ëÓÔÁÔÉ, Á ËÁËÉÍ ÍÅÔÏÄÏÍ ÔÙ AA>> ÏÔÌÁÖÉ×ÁÅÛØ ÅÇÏ ÉÚ ÆÌÅÛÁ? LPC flashloader ÉÚ ËÏÍÐÌÅËÔÁ Ë ÉÁpÕ ÄÌÑ AA>> ÚÁÛÉ×ÁÎÉÑ ÞÅpÅÚ jtag Õ ÍÅÎÑ ×ÉÓÎÅÔ × 8 ÓÌÕÞÁÑÈ ÉÚ 10. AM> ÷ iar 4.20Á ×ÒÏÄÅ ÎÅ ×ÉÓÎÅÔ, ÒÁÂÏÔÁÅÔ ÄÏÓÔÁÔÏÞÎÏ ÓÔÁÂÉÌØÎÏ. óÐÁÓÉÂÏ, ÐÏÐpÏÂÕÀ ÐpÏÁÐÇpÅÊÄÉÔØ.

AM> ÷ 4.11Á ×ÙÂÉÒÁÌ 2129, ÐÒÉ ÜÔÏÍ ÐÏÓÔÏÑÎÎÏ ×ÉÓÌÏ, ÐÏÔÏÍ ×ÙÂÒÁÌ ÌÏÁÄÅÒ AM> ÏÔ ËÁËÏÇÏ-ÔÏ ÄÒÕÇÏÇÏ ÞÉÐÁ, ÓÔÁÌÏ ÂÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÓÔÁÂÉÌØÎÏ. ôÁË ÄÌÑ LPC ÖÅ ×pÏÄÅ ÏÄÉÎ ÚÁÇpÕÚÞÉË?

AA>> HÅ ÚÎÁÀ, × ÄÏËÁÈ ÎÅ ÕÔÏÞÎÑÅÔÓÑ. çÏ×ÏpÉÔÓÑ ÌÉÛØ, ÞÔÏ ÏÎÁ AA>> ÄÏÂÁ×ÌÑÅÔÓÑ Ë ÓÔÁpÔÁÐ-ËÏÄÕ. ÷ AVR ÜÔÏÔ ÓÅÇÍÅÎÔ ÎÁÚÙ×ÁÌÓÑ INITTAB. AA>> ÷ÏÚÍÏÖÎÏ ÜÔÏ ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÇÌÏÂÁÌØÎÙÈ É ÓÔÁÔÉÞÅÓËÉÈ ÐÅpÅÍÅÎÎÙÈ. AM> INITTAB ÔÁÍ ÔÏÖÅ ÕËÁÚÙ×ÁÅÔÓÑ Ñ×ÎÏ, Á ÞÔÏ ÔÁËÏÅ Other Ñ ÎÅ ÍÏÇÕ ÐÏÎÑÔØ. ôÙ ÎÅ ÐÕÔÁÊ. Others ÕËÁÚÁÎÏ × segment parts, Á INITTAB × ÔÁÂÌÉÃÅ pÁÚÍÅpÁ ÓÅÇÍÅÎÔÏ×. ôÁË ÞÔÏ ÏÄÎÏ ×ÐÏÌÎÅ ÍÏÖÅÔ ×ËÌÀÞÁÔØÓÑ × ÄpÕÇÏÅ (× AVR × others ÅÝÅ INTVEC ×ËÌÀÞÁÅÔÓÑ, ÎÏ ÔÕÔ ÔÁËÏÇÏ ÓÅÇÍÅÎÔÁ ÎÁ×ÅpÎÏÅ ÎÅÔ). á ×ÏÏÂÝÅ, Ñ ÔÅÂÅ ÐpÏ shared ÏÔ×ÅÞÁÌ, ÞÔÏ ÔÁËÏÅ Others ÄÅÌÏ ÔÅÍÎÏÅ.

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... ðpÏÔÉ×ÎÉËÏ× ÇÕÍÁÎÉÚÍÁ - ÎÁ ×ÉÓÅÌÉÃÕ!

Hello Anton.

21 Feb 05 19:20, Anton Abrosimov wrote to Andy Mozzhevilov:

AA>>> 16ÂÉÔ, Ñ × thumb ËÏÍÐÉÌÀ. HÏ ÐÏÄ ÇpÏÍÏÚÄËÏÓÔØÀ Ñ ÉÍÅÌ × ×ÉÄÕ AA>>> ËÏÌÉÞÅÓÔ×Ï ËÏÍÁÎÄ ÎÁ ÏÐÅpÁÃÉÀ. AM>> üÔÏ ÖÅ RISC AA> õ ×ÓÅÇÏ ÄÏÌÖÎÁ ÂÙÔØ ÍÅpÁ. :) HÁÐpÉÍÅp, Ó 8ÍÉ-16ÔÉ ÂÉÔÎÙÍÉ ÄÁÎÎÙÍÉ pÁÂÏÔÁ AA> ÎÅÏÐÔÉÍÁÌØÎÁ.

ïÓÏÂÏ ÜÔÏÔ ÁÓÐÅËÔ ÎÅ ÉÓÓÌÅÄÏ×ÁÌ, ËÏÍÁÎÄÙ pÁÂÏÔÙ Ó ÂÁÊÔÁÍÉ É ÐÏÌy-ÓÌÏ×ÁÍÉ ÅÓÔØ. èÏÔÑ ÜÔÏ ÖÅ 32-ÂÉÔÎÊ ÐpÏÃÅÓÓÏp, ÏÎ É ÄÏÌÖÅÎ ÂÙÔØ ÏÐÔÉÍÉÚÉpÏ×ÁÎ ÄÌÑ 32 ÂÉÔÎÙÈ ÏÐÅpÁÃÉÊ.

AA> ëÓÔÁÔÉ, ÎÅ ÐÏÍÎÀ, Á Õ ÎÅÇÏ ËÏÍÁÎÄÙ ÁpÉÆÍÅÔÉÞÅÓËÉÈ ÏÐÅpÁÃÉÊ AA> ÍÅÖÄÕ pÅÇÉÓÔpÏÍ É ËÏÎÓÔÁÎÔÏÊ ÅÓÔØ?

ÅÓÔØ, Ó ËÏÎÓÔÁÎÔÁÍÉ ÛÉpÉÎÏÊ 12 ÂÉÔ, ÜÔÏ ÄÌÑ ÁpÍ pÅÖÉÍÁ, ÄÌÑ thumb ÎÁÄÏ yÔÏÞÎÉÔØ.

AA>>> ñ ÐÏÓÔÕÐÉÌ ÐpÏÝÅ - ÏÂÅpÎÕÌ ÜÔÏÔ ËÏÄ × #ifdef DEBUG_RAM. AM>> ñ ÌÉÎËÕÀ ÐÒÏÅËÔ ÓÒÁÚÕ ÄÌÑ 2-ÕÈ ÒÅÖÉÍÏ×, flash É ram, ÜÔÏ ÚÁÎÉÍÁÅÔ AM>> ×ÒÅÍÅÎÉ ÂÏÌØÛÅ ÎÁ ÐÏÌ-ÓÅËÕÎÄÙ, ÚÁÔÏ ÐÏÌÕÞÁÀ ÓÒÁÚÕ ×ÏÚÍÏÖÎÏÓÔØ ÉÌÉ ÛÉÔØ AM>> ×Ï ÆÌÜÛ, ÉÌÉ ÇÒÕÚÉÔØ × ÒÁÍ. ôÁË ÞÔÏ #ifdef ÍÎÅ ÍÅÎØÛÅ ÎÒÁ×ÉÔÓÑ AA> ëÏÍÐÉÌÉÔÓÑ ÏÄÉÎ pÁÚ, Á ÌÉÎËÕÅÔÓÑ Ä×Á?

äÁ, ÌÉÎËÅpy ÐpÏÓÔÏ yËÁÚÙ×ÁÅÔÓÑ 2 ×ÁpÉÁÎÔÁ pÁÓÐpÅÄÅÌÅÎÉÑ ÐÁÍÑÔÉ.

AM>> ÷ 4.11Á ×ÙÂÉÒÁÌ 2129, ÐÒÉ ÜÔÏÍ ÐÏÓÔÏÑÎÎÏ ×ÉÓÌÏ, ÐÏÔÏÍ ×ÙÂÒÁÌ ÌÏÁÄÅÒ AM>> ÏÔ ËÁËÏÇÏ-ÔÏ ÄÒÕÇÏÇÏ ÞÉÐÁ, ÓÔÁÌÏ ÂÏÌÅÅ ÉÌÉ ÍÅÎÅÅ ÓÔÁÂÉÌØÎÏ. AA> ôÁË ÄÌÑ LPC ÖÅ ×pÏÄÅ ÏÄÉÎ ÚÁÇpÕÚÞÉË?

HÅÔ, ÔÁÍ ÎÅÓËÏÌØËÏ ÉÈ, ÎÅ ÚÎÁÀ yÖ ÐÏÞÅÍy. HÏ ÅÓÌÉ × ÎÁÓÔpÏÊËÁÈ ÄÅÂÁÇÅpÁ, × ÚÁËÌÁÄËÅ download ÐÏÓÔÁ×ÉÔØ ÇÁÌÏÞËy override dafault flash loader, ÔÏ ÍÏÖÎÏ ×ÙÂÉpÁÔØ

AM>> INITTAB ÔÁÍ ÔÏÖÅ ÕËÁÚÙ×ÁÅÔÓÑ Ñ×ÎÏ, Á ÞÔÏ ÔÁËÏÅ Other Ñ ÎÅ ÍÏÇÕ ÐÏÎÑÔØ. AA> ôÙ ÎÅ ÐÕÔÁÊ. Others ÕËÁÚÁÎÏ × segment parts, Á INITTAB × ÔÁÂÌÉÃÅ pÁÚÍÅpÁ AA> ÓÅÇÍÅÎÔÏ×. ôÁË ÞÔÏ ÏÄÎÏ ×ÐÏÌÎÅ ÍÏÖÅÔ ×ËÌÀÞÁÔØÓÑ × ÄpÕÇÏÅ (× AVR × others AA> ÅÝÅ INTVEC ×ËÌÀÞÁÅÔÓÑ, ÎÏ ÔÕÔ ÔÁËÏÇÏ ÓÅÇÍÅÎÔÁ ÎÁ×ÅpÎÏÅ ÎÅÔ). á ×ÏÏÂÝÅ, Ñ AA> ÔÅÂÅ ÐpÏ shared ÏÔ×ÅÞÁÌ, ÞÔÏ ÔÁËÏÅ Others ÄÅÌÏ ÔÅÍÎÏÅ.

shared É other ×ÓÅÇÄÁ ÓÏ×ÐÁÄÁÀÔ ÐÏ pÁÚÍÅpy (×Ï ×ÓÑËÏÍ ÓÌyÞÁÅ Ñ ÄpyÇÏÇÏ ×ÉÄÅÌ) ÐÏÜÔÏÍy Ñ ÐÏÄyÍÁÌ, ÞÔÏ ÜÔÏ ×ÏÚÍÏÖÎÏ ÏÄÎÏ É ÔÏ ÖÅ. ëÁËÉÈ ÌÉÂÏ ÉÎÉÃÉÁÌÉÚÁÃÉÊ ÓÔÁÔÉÞÅÓËÉÈ ÐÅpÅÍÅÎÎÙÈ × ÜÔÉÈ ÍÏÄyÌÑÈ ÎÅÔ, ÔÏ ÅÓÔØ ÜÔÏ ×pÏÄÅ ÎÅ ÄÏÌÖÎÁ ÂÙÔØ ËÏÐÉÑ ÔÁÂÌÉÃÙ ÉÎÉÃÉÁÌÉÚÁÃÉÉ × ROM. ðÏÔÏÍ ÐÏÐpÏÂyÀ ÂÏÌÅÅ ÄÏÓËÏÎÁÌØÎÏ ÐÏËÏÐÁÔØÓÑ, ÎÁ ÍÅÌËÉÈ ÆÁÊÌÁÈ, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÐpÏÓÌÅÄÉÔØ ÂÏÌÅÅ ÐÏÎÑÔÎÏ, ÏÔËyÄÁ y shared ÎÏÇÉ pÁÓÔyÔ.

ó Õ×ÁÖÅÎÉÅÍ, Andy <mailto:andy coÂaËa svrw.ru>

icq 44341220

ðÒÉ×ÅÔ, Anton! ÷Ù ÐÉÓÁÌÉ to Andy Mozzhevilov on Mon, 21 Feb 2005 19:20:11 +0300:

AA>>> 16ÂÉÔ, Ñ × thumb ËÏÍÐÉÌÀ. HÏ ÐÏÄ ÇpÏÍÏÚÄËÏÓÔØÀ Ñ ÉÍÅÌ × ×ÉÄÕ AA>>> ËÏÌÉÞÅÓÔ×Ï ËÏÍÁÎÄ ÎÁ ÏÐÅpÁÃÉÀ. AM>> üÔÏ ÖÅ RISC AA> õ ×ÓÅÇÏ ÄÏÌÖÎÁ ÂÙÔØ ÍÅpÁ. :) HÁÐpÉÍÅp, Ó 8ÍÉ-16ÔÉ ÂÉÔÎÙÍÉ ÄÁÎÎÙÍÉ AA> pÁÂÏÔÁ ÎÅÏÐÔÉÍÁÌØÎÁ.

ïÒÇÁÎÉÚÏ×ÁÎÁ ÔÁË ÖÅ ËÁË É Ó 32ÂÉÔÎÙÍÉ.

AA> ëÓÔÁÔÉ, ÎÅ ÐÏÍÎÀ, Á Õ ÎÅÇÏ ËÏÍÁÎÄÙ ÁpÉÆÍÅÔÉÞÅÓËÉÈ ÏÐÅpÁÃÉÊ ÍÅÖÄÕ AA> pÅÇÉÓÔpÏÍ É ËÏÎÓÔÁÎÔÏÊ ÅÓÔØ?

åÓÔØ, ÔÏÌØËÏ ËÏÎÓÔÁÎÔÁ 8ÂÉÔ. ÷ ARM ÅÝÅ + ÓÄ×ÉÇ. á ÐÏÞÅÍÕ ÔÙ ×ÓÅ × Thumb ÄÅÌÁÅÛØ?

With best regards, Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

AA> Привет Dmitry! AA> Суб Фев 19 2005 08:32, Dmitry Kuznetsov -> Anton Abrosimov: AA> AA>>> Я еще багу в железе нашел, на команде записи нуля в pегистpы AA>>> pежима или поляpности внешних пpеpываний (хотя-бы для одного из AA>>> пpеpываний) камень то-ли виснет, то-ли пpосто из jtag-отладки AA>>> вылетает. Более детально pазбиpаться пока некогда, обощел пpоблему AA>>> закомментиpованием этих команд, т.к. все pавно стаpтовое значение AA>>> этих pегистpов - 0. DK>> Случаем не это? AA> О как. Оно самое. А workaround не пpиведен?

EXTINT.1 Corruption of VPBDIV via EXTPOLAR or EXTMODE

Introduction: The VPBDIV register controls the rate of the VPB clock in relation to the processor clock. EXTPOLAR and EXTMODE determine the operating parameters of the external interrupts.

Problem: A write to either the external interrupt polarity register (EXTPOLAR) or the external interrupt mode register (EXTMODE) will corrupt the VPBDIV register. A read of either EXTPOLAR or EXTMODE will be corrupted BY the VPBDIV register. If VPBDIV is ⌠1■ or ⌠2■ prior to any write to EXTPOLAR or EXTMODE, the CPU will hang up on the write to EXTPOLAR or EXTMODE.

work-around: If VPBDIV is non-zero, write all zeroes to VPBDIV before reading or writing EXTMODE or EXTPOLAR, then write the proper value back to VPBDIV. In most applications this is a known and fixed value, but if there is a possibility of dynamic changes in VPBDIV, software will need to read VPBDIV, write zero to VPBDIV, read or write EXTMODE and/or EXTPOLAR, and then rewrite the value previously read from VPBDIV.

А вот и еще кучка сладостей...

VPBDIV.1 Incorrect read of VPBDIV

Introduction: The Peripheral Bus Divider (VPBDIV) divides the processor clock (CCLK) by one, two, or four. This is the clock that is provided to the peripheral bus.

Problem: Reading the VPBDIV register may return an incorrect value.

work-around: Performing two consecutive reads of the VPBDIV assures that the correct value is returned.

DK>> ERRATA SHEET DK>> Date: November 8, 2004 DK>> Document Release: Version 1.4 DK>> Device Affected: LPC2124

Филиппы не ко всем камням эрратты подклеили. Ползешь на ихний сайтик. В поиске набираешь нужный тип "LPC2124" и слово "errata"...

DK>> ~~~~~~~~~~~~~~~~~~ DK>> прям так и сказано - повиснет... AA> Только в pеальности к зависанию пpиводит не "any write", а запись хотя-бы

Так понимать, что подвисание для "any write" не гарантировано ;)

AA> одного нуля, если же писать 0хFF, то не виснет. Этим я и воспользовался, AA> конфигуpиpуя все внешние пpеpывания одинаково и лишь один pаз. :)

<< Алкоголь - мое топливо! Я - могучий робот! Б-и-и-и-п! << Dmitry Kuznetsov, Moscow,
formatting link
Беговая Черепаха] [Team LEXX] *

Hello Vladimir!

15.02.2005 17:49:28, Vladimir Vassilevsky wrote to Peter Kostenko in area RU.EMBEDDED:

VV> Видишь ли, модель дизеля - это очень непpосто, потому что в даташитах VV> на дизель обычно ничего не пpиведено кpоме хаpактеpистики максимального VV> момента в зависимости от обоpотов. И ничего не сказано ни о зависимости VV> от темпеpатуpы, ни о моменте инеpции туpбины наддува, ни о множестве VV> пpочих VV> важных паpаметpов, поэтому твоя модель - типичный сфеpический конь в VV> вакууме. ПОзвольте вклиниться в Ваш споp и задать один вопpос. Что вы (оба собеседника) подpазумеваете под моделью дизеля: набоp пеpеменных и их связи, описывающее зависимость выходных паpаметpов, или набоp _значений пеpеменных_. Спасибо за внимание. Bye, Vitaly.

Tue Feb 22 2005 22:14, Vitaly Mihno wrote to Vladimir Vassilevsky:

VV>> Видишь ли, модель дизеля - это очень непpосто VV>> поэтому твоя модель - типичный сфеpический конь в вакууме.

VM> ПОзвольте вклиниться в Ваш споp и задать один вопpос. Что вы (оба VM> собеседника) подpазумеваете под моделью дизеля: набоp пеpеменных и их VM> связи, описывающее зависимость выходных паpаметpов, или набоp _значений VM> пеpеменных_.

Hабор взаимосвязей, описывающих поведение дизеля. Чтобы можно было тестировать регулятор, а не просто проверить арифметику.

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

ðÒÉ×ÅÔ Andy! ÷Ôp æÅ× 22 2005 08:39, Andy Mozzhevilov -> Anton Abrosimov:

AA>> õ ×ÓÅÇÏ ÄÏÌÖÎÁ ÂÙÔØ ÍÅpÁ. :) HÁÐpÉÍÅp, Ó 8ÍÉ-16ÔÉ ÂÉÔÎÙÍÉ ÄÁÎÎÙÍÉ AA>> pÁÂÏÔÁ ÎÅÏÐÔÉÍÁÌØÎÁ. AM> ïÓÏÂÏ ÜÔÏÔ ÁÓÐÅËÔ ÎÅ ÉÓÓÌÅÄÏ×ÁÌ, ËÏÍÁÎÄÙ pÁÂÏÔÙ Ó ÂÁÊÔÁÍÉ É AM> ÐÏÌy-ÓÌÏ×ÁÍÉ ÅÓÔØ. èÏÔÑ ÜÔÏ ÖÅ 32-ÂÉÔÎÊ ÐpÏÃÅÓÓÏp, ÏÎ É ÄÏÌÖÅÎ ÂÙÔØ AM> ÏÐÔÉÍÉÚÉpÏ×ÁÎ ÄÌÑ 32 ÂÉÔÎÙÈ ÏÐÅpÁÃÉÊ. ôÏÇÄÁ ÓÔpÁÎÎÏ. ëÏÍÐÉÌÑÔÏp ×ÅÚÄÅ ÇÅÎÅpÉÔ ËÏÍÁÎÄÙ ÓÄ×ÉÇÁ (ÓÎÁÞÁÌÁ ×ÌÅ×Ï, ÐÏÔÏÍ ÏÂpÁÔÎÏ ×ÐpÁ×Ï) ÄÌÑ ÏÂÎÕÌÅÎÉÑ ÌÉÛÎÉÈ ÂÉÔ ÐpÉ ÐÏÍÅÝÅÎÉÉ × pÅÇÉÓÔp ÍÁÌÏpÁÚpÑÄÎÏÊ ÐÅpÅÍÅÎÎÏÊ. ÷ÉÄÉÍÏ, ËÏÎÔpÏÌÌÅp ÎÅ ÕÍÅÅÔ ÏÐÅpÉpÏ×ÁÔØ ÞÁÓÔÑÍÉ pÅÇÉÓÔpÏ×, ËÁË, ÎÁÐpÉÍÅp, x86. ÷ pÅÚÕÌØÔÁÔÅ pÁÂÏÔÁ Ó 8-16ÂÉÔ ÄÁÎÎÙÍÉ × pÁÚÙ ÍÅÄÌÅÎÅÅ.

AA>> ëÓÔÁÔÉ, ÎÅ ÐÏÍÎÀ, Á Õ ÎÅÇÏ ËÏÍÁÎÄÙ ÁpÉÆÍÅÔÉÞÅÓËÉÈ ÏÐÅpÁÃÉÊ AA>> ÍÅÖÄÕ pÅÇÉÓÔpÏÍ É ËÏÎÓÔÁÎÔÏÊ ÅÓÔØ? AM> ÅÓÔØ, Ó ËÏÎÓÔÁÎÔÁÍÉ ÛÉpÉÎÏÊ 12 ÂÉÔ, ÜÔÏ ÄÌÑ ÁpÍ pÅÖÉÍÁ, ÄÌÑ thumb ÎÁÄÏ AM> yÔÏÞÎÉÔØ. äÌÑ thumb ÚÎÁÞÉÔ ÎÅ ×ÌÅÚÅÔ × ÏÐËÏÄ.

AM>>> ÷ 4.11Á ×ÙÂÉÒÁÌ 2129, ÐÒÉ ÜÔÏÍ ÐÏÓÔÏÑÎÎÏ ×ÉÓÌÏ, ÐÏÔÏÍ ×ÙÂÒÁÌ AM>>> ÌÏÁÄÅÒ ÏÔ ËÁËÏÇÏ-ÔÏ ÄÒÕÇÏÇÏ ÞÉÐÁ, ÓÔÁÌÏ ÂÏÌÅÅ ÉÌÉ ÍÅÎÅÅ AM>>> ÓÔÁÂÉÌØÎÏ. AA>> ôÁË ÄÌÑ LPC ÖÅ ×pÏÄÅ ÏÄÉÎ ÚÁÇpÕÚÞÉË? AM> HÅÔ, ÔÁÍ ÎÅÓËÏÌØËÏ ÉÈ, ÎÅ ÚÎÁÀ yÖ ÐÏÞÅÍy. HÏ ÅÓÌÉ × ÎÁÓÔpÏÊËÁÈ AM> ÄÅÂÁÇÅpÁ, × ÚÁËÌÁÄËÅ download ÐÏÓÔÁ×ÉÔØ ÇÁÌÏÞËy override dafault flash AM> loader, ÔÏ ÍÏÖÎÏ ×ÙÂÉpÁÔØ óÐÁÓÉÂÏ, ÐÏÐpÏÂÕÀ.

AM>>> INITTAB ÔÁÍ ÔÏÖÅ ÕËÁÚÙ×ÁÅÔÓÑ Ñ×ÎÏ, Á ÞÔÏ ÔÁËÏÅ Other Ñ ÎÅ ÍÏÇÕ AM>>> ÐÏÎÑÔØ. AA>> ôÙ ÎÅ ÐÕÔÁÊ. Others ÕËÁÚÁÎÏ × segment parts, Á INITTAB × ÔÁÂÌÉÃÅ AA>> pÁÚÍÅpÁ ÓÅÇÍÅÎÔÏ×. ôÁË ÞÔÏ ÏÄÎÏ ×ÐÏÌÎÅ ÍÏÖÅÔ ×ËÌÀÞÁÔØÓÑ × ÄpÕÇÏÅ AA>> (× AVR × others ÅÝÅ INTVEC ×ËÌÀÞÁÅÔÓÑ, ÎÏ ÔÕÔ ÔÁËÏÇÏ ÓÅÇÍÅÎÔÁ AA>> ÎÁ×ÅpÎÏÅ ÎÅÔ). á ×ÏÏÂÝÅ, Ñ ÔÅÂÅ ÐpÏ shared ÏÔ×ÅÞÁÌ, ÞÔÏ ÔÁËÏÅ AA>> Others ÄÅÌÏ ÔÅÍÎÏÅ. AM> shared É other ×ÓÅÇÄÁ ÓÏ×ÐÁÄÁÀÔ ÐÏ pÁÚÍÅpy (×Ï ×ÓÑËÏÍ ÓÌyÞÁÅ Ñ ÄpyÇÏÇÏ üÔÏ ÔÏÌØËÏ × ÁpÍÅ, ÄÌÑ ÄpÕÇÉÈ ËÏÍÐÉÌÑÔÏpÏ× ÉÁpÁ ÜÔÏ ÎÅ ÔÁË.

AM> ×ÉÄÅÌ) ÐÏÜÔÏÍy Ñ ÐÏÄyÍÁÌ, ÞÔÏ ÜÔÏ ×ÏÚÍÏÖÎÏ ÏÄÎÏ É ÔÏ ÖÅ. ëÁËÉÈ ÌÉÂÏ AM> ÉÎÉÃÉÁÌÉÚÁÃÉÊ ÓÔÁÔÉÞÅÓËÉÈ ÐÅpÅÍÅÎÎÙÈ × ÜÔÉÈ ÍÏÄyÌÑÈ ÎÅÔ, ÔÏ ÅÓÔØ ÜÔÏ AM> ×pÏÄÅ ÎÅ ÄÏÌÖÎÁ ÂÙÔØ ËÏÐÉÑ ÔÁÂÌÉÃÙ ÉÎÉÃÉÁÌÉÚÁÃÉÉ × ROM. ðÏÔÏÍ ÐÏÐpÏÂyÀ AM> ÂÏÌÅÅ ÄÏÓËÏÎÁÌØÎÏ ÐÏËÏÐÁÔØÓÑ, ÎÁ ÍÅÌËÉÈ ÆÁÊÌÁÈ, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ AM> ÐpÏÓÌÅÄÉÔØ ÂÏÌÅÅ ÐÏÎÑÔÎÏ, ÏÔËyÄÁ y shared ÎÏÇÉ pÁÓÔyÔ. çÌÏÂÁÌØÎÙÅ É ÓÔÁÔÉÞÅÓËÉÅ ÐÅpÅÍÅÎÎÙÅ ×ÓÅÇÄÁ ÉÎÉÃÉÁÌÉÚÉpÏ×ÁÎÙ ÎÕÌÅÍ, ÅÓÌÉ ÎÅ ÕËÁÚÁÎÏ ÉÎÏÅ. ë ÔÏÍÕ-ÖÅ, Ñ ÖÅ ÇÏ×ÏpÉÌ, ÞÔÏ ÜÔÏ ÏÔÎÏÓÉÔÓÑ Ë code ÓÅÇÍÅÎÔÕ, Á ÅÓÌÉ shared ÕËÁÚÁÎÁ ÄÌÑ data ÓÅÇÍÅÎÔÁ, ÔÏ ÜÔÏ ÉÓÐÏÌØÚÕÅÍÙÅ × ÜÔÏÍ ÆÁÊÌÅ pÅÇÉÓÔpÙ ÐÅpÅÆÅpÉÉ.

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... õÂÉÌ ÂÏÂpÁ - ÓÐÁÓ ÄÅpÅ×Ï. (c) GreenPeace

ðÒÉ×ÅÔ Leha! ÷Ôp æÅ× 22 2005 09:02, Leha Bishletov -> Anton Abrosimov:

AM>>> üÔÏ ÖÅ RISC AA>> õ ×ÓÅÇÏ ÄÏÌÖÎÁ ÂÙÔØ ÍÅpÁ. :) HÁÐpÉÍÅp, Ó 8ÍÉ-16ÔÉ ÂÉÔÎÙÍÉ ÄÁÎÎÙÍÉ AA>> pÁÂÏÔÁ ÎÅÏÐÔÉÍÁÌØÎÁ. LB> ïÒÇÁÎÉÚÏ×ÁÎÁ ÔÁË ÖÅ ËÁË É Ó 32ÂÉÔÎÙÍÉ. ñ ÜÔÏÇÏ ÎÅ ×ÉÖÕ. :) äÏÓÔÁÔÏÞÎÏ ÓpÁ×ÎÉÔØ ËÏÄ ÄÌÑ Ä×ÕÈ ÓÔpÏÞÅË: u8 a = 100; while (a--!=0) {}; u32 b = 100; while (b--!=0) {};

AA>> ëÓÔÁÔÉ, ÎÅ ÐÏÍÎÀ, Á Õ ÎÅÇÏ ËÏÍÁÎÄÙ ÁpÉÆÍÅÔÉÞÅÓËÉÈ ÏÐÅpÁÃÉÊ ÍÅÖÄÕ AA>> pÅÇÉÓÔpÏÍ É ËÏÎÓÔÁÎÔÏÊ ÅÓÔØ? LB> åÓÔØ, ÔÏÌØËÏ ËÏÎÓÔÁÎÔÁ 8ÂÉÔ. ÷ ARM ÅÝÅ + ÓÄ×ÉÇ. á ÞÔÏ ÚÎÁÞÉÔ "+ÓÄ×ÉÇ"?

LB> á ÐÏÞÅÍÕ ÔÙ ×ÓÅ × Thumb ÄÅÌÁÅÛØ? ÈÚ. üÔÏ ÎÁÓÔpÏÊËÁ ÐÏ-ÕÍÏÌÞÁÎÉÀ. ëÏÇÄÁ Ñ ÔÏÌØËÏ ÎÁÞÉÎÁÌ ÐpÏÅËÔ, ÐÏÐpÏÂÏ×ÁÌ Ó ÏÂÏÉÍÉ ×ÁpÉÁÎÔÁÍÉ, ËÏÄ Ó Thumb ÂÙÌ × ÐÏÌÔÏpÁ pÁÚÁ ÍÅÎØÛÅ ÐpÉ ÔÏÊ-ÖÅ ÓËÏpÏÓÔÉ pÁÂÏÔÙ. äÁ É ×ÏÏÂÝÅ, ×Ï ×ÓÅÈ ÏÐÉÓÁÎÉÑÈ pÅÖÉÍ thumb ÐpÅÐÏÄÎÏÓÉÔÓÑ ËÁË ÎÅËÏÅ ÐpÅÉÍÕÝÅÓÔ×Ï. HÁ ÂÏÌØÛÉÈ ÐpÏÅËÔÁÈ ÜÔÏ ÎÅ ÔÁË? ðpÉÞÅÍ ÐÏ ËÏÄÕ Õ ÍÅÎÑ ÏÖÉÄÁÅÔÓÑ ÚÁÐÁÓ pÁÚÁ × Ä×Á, Á ÐpÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÌÉÛÎÅÊ ÎÉËÏÇÄÁ ÎÅ ÂÙ×ÁÅÔ. :)

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... õÂÉÌ ÂÏÂpÁ - ÓÐÁÓ ÄÅpÅ×Ï. (c) GreenPeace

ðÒÉ×ÅÔ Dmitry! ÷Ôp æÅ× 22 2005 19:49, Dmitry Kuznetsov -> Anton Abrosimov:

DK>>> óÌÕÞÁÅÍ ÎÅ ÜÔÏ? AA>> ï ËÁË. ïÎÏ ÓÁÍÏÅ. á workaround ÎÅ ÐpÉ×ÅÄÅÎ? DK> work-around: If VPBDIV is non-zero, write all zeroes to VPBDIV DK> before reading or writing EXTMODE or EXTPOLAR, then write the DK> proper value back to VPBDIV. In most applications this is a known DK> and fixed value, but if there is a possibility of dynamic changes DK> in VPBDIV, software will need to read VPBDIV, write zero to VPBDIV, DK> read or write EXTMODE and/or EXTPOLAR, and then rewrite the value DK> previously read from VPBDIV. èÏpÏÛÅÅ pÅÛÅÎÉÅ ÐpÅÄÌÏÖÉÌÉ - ×ÓÀ ÐÅpÅÆÅpÉÀ ÓÂÉÔØ. :(

DK> æÉÌÉÐÐÙ ÎÅ ËÏ ×ÓÅÍ ËÁÍÎÑÍ ÜÒÒÁÔÔÙ ÐÏÄËÌÅÉÌÉ. DK> ðÏÌÚÅÛØ ÎÁ ÉÈÎÉÊ ÓÁÊÔÉË. ÷ ÐÏÉÓËÅ ÎÁÂÉÒÁÅÛØ DK> ÎÕÖÎÙÊ ÔÉÐ "LPC2124" É ÓÌÏ×Ï "errata"... óÐÁÓÉÂÏ, ÐpÏÞÉÔÁÌ. åppÁÔÁ ÏËÁÚÁÌÁÓØ ÚÁÍÅÔÎÏ ÍÅÎØÛÅ, ÞÅÍ Ñ ÏÖÉÄÁÌ. :) ñ ÅÝÅ Ó ×ÓÔpÏÅÎÎÙÍ ÁÃÐ ÎÅËÏÔÏpÙÅ ÐpÏÂÌÅÍÙ ÉÓÐÙÔÙ×ÁÀ, ÎÏ ÎÉÞÅÇÏ ÐÏÈÏÖÅÇÏ × ÅppÁÔÅ ÎÅ ÎÁÛÅÌ.

HÁ ÜÔÏÍ ×ÓÅ, ÐÏËÁ. Anton Abrosimov. ... ëÔÏ ÀÚÁÌ ÍÏÊ ÌÏÇÉÎ É ×ÅÓØ ÅÇÏ ×ÙÀÚÁÌ?!

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required