Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отладка Silabsov
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
firstvald
Крепко достало, что при подключении процессора по C2 к среде, работа очень ненадежная. Длительной работы, больше нескольких минут, добиться не удается. Никаким интструментом или щупом осцилла к плате с процессором при запущенной программе дотронуться нельзя. Результат один и тот же - программа вылетает и приходится вновь устанавливать коннект и грузить прогу. Немного зависит от используемого компьютора, с одним чуть устойчивее с другим просто краул.

Кто то разрывал это безобразие? Может нащупал какие приемы?
KRS
у вас с землей проблемы!
rezident
Цитата(KRS @ Feb 25 2011, 02:32) *
у вас с землей проблемы!
Точнее с трассировкой платы устройства.
Хотя еще могут быть проблемы с выравниванием токов и потенциалов компьютера, осциллографа и БП устройства. Ну и как крайний вариант - "китайский" кабель USB.
firstvald
Нет это все не то. За несколько лет устройства были разные (6 видов примерно) и компьюторы разные и пару адаптеров проверил. Это все системная фича силаба. Вот чего с ней делать?
Serhiy_UA
Цитата(firstvald @ Feb 25 2011, 11:09) *
Нет это все не то. За несколько лет устройства были разные (6 видов примерно) и компьюторы разные и пару адаптеров проверил. Это все системная фича силаба. Вот чего с ней делать?
Работал с FLashBlaster2, проблем не было. Именно с С2, хотя были и другие схемы программирования.
Ниже часть схемы для программирования по С2 контроллера C8051F310, можно сравнить. Потом проверить питание.
Все семейство Silabs отличается надежностью, ни разу не подвело.
MM_Andrey
У нас точно такая же проблема, и с 4-м keil м с 3-м. Пробовали и COM дебаггер и USB-й , разницы никакой нет - частые сбои дебаггера и подвисания. Причём это наблюдается только у контроллеров , подключённых по C2 интерфейсу. С JTAG всё в норме.
Интересно тоже узнать победил ли кто этот глюк ?
редактор
При работе в третьем Кейле были такие проблемы с отладкой F582. После загрузки отваливаливался. Хотя программа работала, но где гуляет не определить. После перехода на 4-й Кейл проблема сама ушла.
firstvald
Так так себя ведет из под любой штатной IDE от силаба. Вот разозлился - начал смотреть. От нотбука - та же песня. Вот попробую TDO и TMS прикрутить, хотя работал без них три года и силабовцы говорят - не надо их никуда.

Попробовал - ноль влияния.

Попробовал вот что. Работу с целевой платой 340 TB. USB адаптер слетает на раз. Стоит только пинцетом в плату ткнуть. Адаптер EC2 ( лет 10 ему уже) не слетает.

Целевое устройство слетает и с тем и с тем, с EC 2 держится подольше.

Когда адаптеры отключены устройство естественно работает нормально и не слетает ни от чего.


barabek
Цитата(firstvald @ Feb 25 2011, 23:50) *
Так так себя ведет из под любой штатной IDE от силаба.


Есть такая проблема и у меня. На форуме силабсов ее тоже не раз обсуждали, но решения я так и не нашел там. Заметил, что влияет разводка/подтяжки. На одной плате работает 410, например, без проблем. На другой невозможно работать. Иногда помогает


Corrections
-----------
- Added a special button that allows configuration of the C2 clock speed.
This button appears in the option dialog next to the C2 selection when <Ctrl><Alt>"S"
is done.


В одном случае не мого вообще подключиться к прошитому камню с usb адаптером. С COM адаптером получилось. Перевел внутренний генератор на 24,5 МГц - ситуация исправилась.

В общем - танцы с бубном. Если кто найдет - отпишитесь обязательно.

firstvald
Да вот продолжаю смотреть, чуть чуть терапевтически что-то улучшилось, но чуть чуть. Потом напишу.


В последней версии IDE 4.17 на закладке Option ->Connection option появилась кнопка , по которой можно вызвать бегунок для подстройки длительности импульса на с2. Посмотрю, что за фигня. Но слетает- то все в разных случаях: и просто когда идет работа (когда никакого обмена нет по С2) и когда грузим прогу (тогда долго думает среда и ее, как правило, приходится убивать). Возможно , что наклкдывается несколько причин.

А про внутреннюю клоку - мысль интересная. Эо может объяснить разницу в работе у разных людей.

У меня , сразу говорю, 11059200.
ih_
Цитата(KRS @ Feb 25 2011, 00:32) *
у вас с землей проблемы!
2firstvald. Извините. Правильно ли понянял? Что, если соеденить корпуса и "земли" всех устройств (компьютера, отлаживаемой платы, осциллографа, блока питания, и др.) вместе одним отдельным проводом - это не помогает?
one_eight_seven
работаем с F410, F411, F930.
Слетает только при использовании одного самодельного переходника, который пришлось сделать, потому что шлейфов нужного формата нет. В остальных случаях очень тяжело сбить отладку, при условии что все контакты надежны и подано нормальное питание.
firstvald
Цитата(ih_ @ Feb 26 2011, 15:32) *
2firstvald. Извините. Правильно ли понянял? Что, если соеденить корпуса и "земли" всех устройств (компьютера, отлаживаемой платы, осциллографа, блока питания, и др.) вместе одним отдельным проводом - это не помогает?



Начнем с того, что слетает силабовская же плата с силабовским же дебаггером.

Вы предлагаете корпус компьютора подключить к земле платы? Теоретически - это как-то должно помочь. Не пробовал - убъет нафиг (меня) и всего-то делов.

А вот соединить земляной провод в вилке от источника, осцилла и компа - мысль. Попробую.
firstvald
Только написал, что появился новый бегунок, а потом минут 20 его не смог найти! Он появляется нечетко, если несколько раз нажать <ctrl><alt><S> и позаходить и повыходить в закладку Options->Connection options. Точно условие появления не понял. К бубну надо добавить вокал. Матерный.


Дальше такой простой эксперимент - соединение земли платы с землей адаптера. Никакие щелкания пинцетом по земле и питанию платы не заваливают процессор.



Вижу кучу чудес в уровнях сигналов как данных, так и синхронизации. Постоянно уходят в 0 с плавным набором амплитуды. Есть группы импульсов с промежуточным уровнем. В адапторе для питания драйвера используется ШИМ, который выставляет напряжение на драйвере. В EC2 все было по простому - процессор питался 3.3 вольтами и его ножки просто шли на 10 контактную колодку через 100 омный резистор и диоды тудык-сюдык.
barabek
Цитата(firstvald @ Feb 27 2011, 02:24) *
Начнем с того, что слетает силабовская же плата с силабовским же дебаггером.

Ну это уже совсем sm.gif. У меня такого никогда не было. И вообще первый раз столкнулся с таким поведением при отладке только на 410, до этого несколько лет использовали разные - все было ОК. Нутром чувствую - где-то в питании, разводке, подтяжках дело. У моего колеги был случай. Шлейф пришлось сделать свой - родной разъем на плате не помещался. Появились сбои. Начинает тыкать осцилом в ноги C2. Сбой пропадает. Помог кондер в схеме сброса. Причем не помню точно - не сам делал, но кажется кондер он не так просто ставил - слишком большие и слишком маленькие номиналы не помагали. На другой плате помогли просто подтягивающие резисторы на C2
firstvald
Схему пока влом рисовать. Да, конденсаторы, естественно, ставить надо, и у меня на всех устройствах ставятся и на C2D и на C2CK. Подтяжки тоже по каждому проводу. Но, вот вчера потыкался, вроде заработало гораздо стабильнее, посмотрю еще денек. От адаптера к процессору, когда переходник делаем, в каждый провод вставляем 100 омный резистор и со стороны шлейфика адаптора каждый из сигналов на землю блокируется кондюком , ну ,скажем, 220 пф. Со стороны устройства раньше закладывал 22 пф, но, думаю , надо задирать до 220 пф. От колодки шнурка до разъема, который в плату втыкается , линии C2D C2CK надо делать витыми парами, несмотря на то, что там неколько сантиметров.
firstvald
Цитата(barabek @ Feb 27 2011, 03:28) *
- слишком большие и слишком маленькие номиналы не помагали.


Да, вот на ногах емкости увеличил с 22 до 220 - стало гораздо хуже. Исскуство схемотехники, однако.



Вот значимый результат получается, если подключаться вот так:

Нажмите для просмотра прикрепленного файла
ih_
Цитата(firstvald @ Feb 26 2011, 19:24) *
Теоретически - это как-то должно помочь. Не пробовал - убъет нафиг (меня) и всего-то делов
Как прошел проброс "земли"? Живы?
А сколько метров у Вас витая пара?
firstvald
НЕ, с землями не ковырялся . Я смотрел с нотбука - вроде USB честно висит в воздухе. Все равно полохо. Вообще говоря, подключение длинных проводов к процессорной плате всегда плохо, а если на конце этого провода еще и трепыхается аж цельный компьтер - вообще привет. Думаю, такая же проблема может вылезать с JTAG в ARMах.

Надо гальванически развязывать USB рядом с адаптером.

Что до схемы, которую нарисовал:
Пара витых пар по 5 сантиметров. Что меня удивило - разница с параллельно идущими проводами - есть. Витая пара помогает.
richie
О_о! Не у меня одного такая проблема!
В 2004 году когда первый раз столкнулся с силабсами при слетании отладки были советы одного типа: схема плохая, плохая земля, плохое питание.
По-разному соединял земли, по-разному давал питание, от различных источников, витые пары использовал, для EC-3 менял различные USB-кабеля,
к различным портам USB подключал, в общем исполнял много и долго шаманских обрядов.

Причём всё-равно на нашей плате или силабсовском КИТе с 310-м камнем.
С того времени несколько видов приборов разработано, на разных камнях: 311, 411, 344, 345, 064, а сейчас на 581.
При переходе с EC-2 на EC-3 скептически лучше стало.
Но всё-равно практически никогда не завершаю отладку в keil'е кнопкой "Start/Stop Debug Session".
Пришедшие на работу новые сотрудники провели "свежим" взглядом ревизию соединения заземлений.
Снова скептически стало лучше.
Но всё-равно редко вспомню где в меню находится выход из отладки.
В 2004-м ситуация осложнялась тем что UV2 иногда при "Программа выполнила недопустимую операцию..." херила исходный код,
открытого в ней файла или файла проекта, за UV3 такого не замечено, UV4 пока с сентября по март не испортила ни одного файла,
однако при зависании отладки падает с "недопустимой операцией", в UV3 это было в половине случаев.

Это всё верно для всех плат с интерфейсом C2. На изделии с 064, где соединение с камнем по JTAG проблем с отладкой нет,
причём используются те же отладчики EC-2 и EC-3, меняется только кабель.

Замечено, что 100% вероятность слетания отладки происходит при открытых окнах просмотра SFR'ов, если окошки SFR'ов не открыты,
то есть шанс поковыряться в отладке подольше.

Также замечено, что чтобы гарантированно срабатывали точки останова нужно выполнить следующую последовательность:
1. Командой из меню убить все точки останова (в keil: Меню_>Debug->Kill All breakpoints);
2. Сделать Reset (в keil: Меню_>Debug->Reset CPU);
3. Запустить программу (в keil: Меню_>Debug->Run);
4. Сразу же остановить программу (в keil: Меню_>Debug->Stop);
5. Вот теперь можно запускать программу до срабатывания точки останова (в keil: Меню_>Debug->Run).

Ещё было несколько раз замечено: выполняя пошаговую отладку кнопками на клавиатуре, только коснулся "мыши" (она USBшная) -всё зависло и погодя несколько
секунд слетело.

Ещё сильно раздражает что при слетании очень долго не вываливается окно "Программа выполнила недопустимую операцию..." чтобы выполнить закрытие программы.
firstvald

Ну в общем примерно так и есть. Я когда начал с силабами работать - был просто в шоке. Такой глюкавости никогда ни от чего не видел (нет - вру - видел: от загрузчика для RD2 процессора о TEMIC). У меня еще постоянно окна рушились в IDE - кто видел, понимает о чем я говорю. Приходилось среду переставлять несолько раз в день. Потом ограничился потиранием реестра, но тоже разок другой в день. В последних версиях IDE вроде этого не видно. Может и победили.

А так во схемка в 17 посте позволяет работать. Слетаек конечно. Но уже подключение - отключение земли осциила, касание пинцетом землм платы проходит в (поосторожничаю) 70% случаев без зависа.
firstvald
Цитата(richie @ Mar 3 2011, 13:57) *
О_о! Не у меня одного такая проблема!
В 2004 году когда первый раз столкнулся с силабсами при слетании отладки были советы одного типа: схема плохая, плохая земля, плохое питание.
По-разному соединял земли, по-разному давал питание, от различных источников, витые пары использовал, для EC-3 менял различные USB-кабеля,
к различным портам USB подключал, в общем исполнял много и долго шаманских обрядов.

Причём всё-равно на нашей плате или силабсовском КИТе с 310-м камнем.
С того времени несколько видов приборов разработано, на разных камнях: 311, 411, 344, 345, 064, а сейчас на 581.
При переходе с EC-2 на EC-3 скептически лучше стало.
Но всё-равно практически никогда не завершаю отладку в keil'е кнопкой "Start/Stop Debug Session".
Пришедшие на работу новые сотрудники провели "свежим" взглядом ревизию соединения заземлений.
Снова скептически стало лучше.
Но всё-равно редко вспомню где в меню находится выход из отладки.
В 2004-м ситуация осложнялась тем что UV2 иногда при "Программа выполнила недопустимую операцию..." херила исходный код,
открытого в ней файла или файла проекта, за UV3 такого не замечено, UV4 пока с сентября по март не испортила ни одного файла,
однако при зависании отладки падает с "недопустимой операцией", в UV3 это было в половине случаев.

Это всё верно для всех плат с интерфейсом C2. На изделии с 064, где соединение с камнем по JTAG проблем с отладкой нет,
причём используются те же отладчики EC-2 и EC-3, меняется только кабель.

Замечено, что 100% вероятность слетания отладки происходит при открытых окнах просмотра SFR'ов, если окошки SFR'ов не открыты,
то есть шанс поковыряться в отладке подольше.

Также замечено, что чтобы гарантированно срабатывали точки останова нужно выполнить следующую последовательность:
1. Командой из меню убить все точки останова (в keil: Меню_>Debug->Kill All breakpoints);
2. Сделать Reset (в keil: Меню_>Debug->Reset CPU);
3. Запустить программу (в keil: Меню_>Debug->Run);
4. Сразу же остановить программу (в keil: Меню_>Debug->Stop);
5. Вот теперь можно запускать программу до срабатывания точки останова (в keil: Меню_>Debug->Run).

Ещё было несколько раз замечено: выполняя пошаговую отладку кнопками на клавиатуре, только коснулся "мыши" (она USBшная) -всё зависло и погодя несколько
секунд слетело.

Ещё сильно раздражает что при слетании очень долго не вываливается окно "Программа выполнила недопустимую операцию..." чтобы выполнить закрытие программы.


ускоряет процесс появления хоть какого-то сообщения винды отключение и подключение адаптера от целевой платы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.