-
- Если дело дошло до житага значит разработка не удалась !!! - plainuser(09.10.2013 09:59)
- Именно так. Значит "разработчик" вообще не понимает, что он за код пишет. - _basile(13.10.2013 16:12)
- А мужики то и не знают! (с) Nikolay801_(64 знак., 09.10.2013 11:19)
- Не надо понимать все буквально.Применение внутрисхемного отладчика сродни тактике Наполеона "ввяжемся в драку , а там посмотрим". plainuser(302 знак., 09.10.2013 12:43)
- т.е. делаете двойную работу - отлаживаете на РС, потом порт в мк. и смысл, если сразу можно отладить на мк? - AVF(13.10.2013 15:42)
- Порт это громко сказано , копипаст отлаженного будет точнее. - plainuser(14.10.2013 07:39)
- "Можно написать сразу на ассемблере..." - fk0(13.10.2013 23:18)
- Сразу - в двоичном коде. - _basile(20.10.2013 16:28)
- и программировать тумблерами, эмулируя JTAG - если кто помнит 155РЕ3 - AVF(20.10.2013 20:33)
- Тут еще советовали скачать готовую прогу с интернета, это круче и актуальней. - Nikolay801_(14.10.2013 09:31)
- Именно так "все давно спиздено". Даже фильтры и фсю хуйню можно изобретать самому, радуясь, как ты крут. Особо - на ассемблере, для процессоров профессианального уровня. _basile(177 знак., 14.10.2013 17:43 - 17:47)
- Что-то в этом есть: все программы давно уже, лет 10 как, написаны. Программисты-бездельники не нужны. - fk0(14.10.2013 17:33)
- Именно так алгоритмы уже давно известны. А то - цифровые фильтры, да обработка сигналов. А то, что до АЦП аналоговый фильтр ставить надо, эти "эффективные менеджеры" вапще не ф курсах. - _basile(14.10.2013 19:21)
- Вот! А то ты все одну и ту же песню поешь, а уже ситуевина 10 лет как поменялась. - Nikolay801_(14.10.2013 17:37)
- Ситуевина не поменялась. Когда полезный сигнал идет на фоне помехи, на несколько порядков превышающей его... Попробуй засунуть все это в АЦП и применить цифровую фильтрацию. Просто пиздоболы с таким даже не сталкивались, потому и пиздоболят. Немцы _basile(53 знак., 15.10.2013 22:20)
- В будущем вместо сайтов будут шмайты. И для их просмотра специальная программа -- шмаузер. - fk0(14.10.2013 19:33)
- Где ? - _basile(14.10.2013 19:25)
- Сразу - в двоичном коде. - _basile(20.10.2013 16:28)
- Сложные алгоритмы, где "не пином дернуть" - это не двойная работа. Не надо передергивать. Любой алгоритм фильтра или БПФ, я сначала на PC проверю. И это будет на порядок быстрее непосредственного засовывания в МК. - _basile(13.10.2013 15:57)
- насчет ЦОС согласен, я ее тоже на РС делаю. а насчет обменов и протколов с другими девайсами, периферию и т.п. - у меня это основная часть работы. и там внутрисхемная отладка рулит - AVF(13.10.2013 18:37)
- Это (использовать все возможности отладки) невозможно из-за нарушения таймингов протоколов. plainuser(164 знак., 14.10.2013 09:49)
- насчет ЦОС согласен, я ее тоже на РС делаю. а насчет обменов и протколов с другими девайсами, периферию и т.п. - у меня это основная часть работы. и там внутрисхемная отладка рулит - AVF(13.10.2013 18:37)
- - А у нас нет склада, мы по японской схеме работаем, сразу "с колес" собираем! Nikolay801_(302 знак., 09.10.2013 13:34)
- т.е. делаете двойную работу - отлаживаете на РС, потом порт в мк. и смысл, если сразу можно отладить на мк? - AVF(13.10.2013 15:42)
- Не надо понимать все буквально.Применение внутрисхемного отладчика сродни тактике Наполеона "ввяжемся в драку , а там посмотрим". plainuser(302 знак., 09.10.2013 12:43)
- Именно так - в UART. Занят он быть не может, ибо ни разу не один в МК. Любители JTAG - ов идут лесом. _basile(54 знак., 08.10.2013 22:09 - 22:11)
- Это на Вас отрицательно сказывается общение с Вашим шефом Nikolay801_(267 знак., 09.10.2013 09:19)
- Поскольку пишу на Си, не могу даже представить, чем бы мне JTAG так сильно помог, в отличии от printf(...). _basile(229 знак., 12.10.2013 13:10)
- Откуда Вам знать с кем я сталкивался, а с кем нет? - Nikolay801_(14.10.2013 13:41)
- Сужу по постам. - _basile(15.10.2013 22:05)
- Откуда Вам знать с кем я сталкивался, а с кем нет? - Nikolay801_(14.10.2013 13:41)
- Поскольку пишу на Си, не могу даже представить, чем бы мне JTAG так сильно помог, в отличии от printf(...). _basile(229 знак., 12.10.2013 13:10)
- первые компы ещё и трассировались вручную. любители оркадов пикадов и прочих менторов тоже лесом? - Mahagam(08.10.2013 23:26)
- А что решает PCAD ? Все равно врукопашную разводить приходится. - _basile(12.10.2013 12:52)
- Обижаешь, всегда автоматом трассировалось. Ну подумаешь, несколько суток :-) - Shura(08.10.2013 23:28)
- Автоматом трассируется только: трансформатор - диодный мост - конденсатор. Схемы чуть сложнее - все равно ручками. А если там десятки микровольт из-под шумов вытаскивать... - _basile(12.10.2013 13:01)
- и результат на перфокартах :=) - koyodza(08.10.2013 23:58)
- Ну, бывает что УАРТА - 2 и оба нужны. - Apтём(08.10.2013 22:23)
- Бывает. Тогда берем камень, у которого не 2 USART-а. Что давно не редкость. - _basile(09.10.2013 01:44)
- Эх, молодежь... :) - vmp(08.10.2013 22:21, картинка)
- Это на Вас отрицательно сказывается общение с Вашим шефом Nikolay801_(267 знак., 09.10.2013 09:19)
- Вообще все средства хороши вместе? каждое для своей задачи. _Oman(663 знак., 08.10.2013 16:35,
)
- Джитаг нужен на этапе обучения пользования контроллером, когда человек не понимает, что творит компилятор и как вообще функционирует проц. Я сам ни разу не воспользовался такой отладкой. Просто не мог придумать, что с его помощью проверять и ни Tr(633 знак., 08.10.2013 12:18,
)
- это труъ. путь джедая. но одна неинициализированная переменная весь этот пафос укладывает на день разглядывания светодиодов, неиницилизированный указатель на неделю чтения логов, а добавление ранее отлаженной задачи со своей кучкой Vit(351 знак., 08.10.2013 16:23)
- А что мешает инициализировать все переменные? - Bill(08.10.2013 17:41)
- А что мешает писать
идеальныйотлаженный код? - Vit(08.10.2013 17:46)- Отлаженный код сразу написать явно нереально. Только вот контролировать свои ошибки все-таки можно. Тем более, что Bill(326 знак., 09.10.2013 08:36)
- Профессионалы думают, что они не делают ошибок и всегда инициализируют всё. Но не забывают обложиться проверками на недопустимость. И когда количество чтений негодных данных из EEPROM из-за неправильных номиналов резисторов подтяжки I2C превышает Vit(632 знак., 09.10.2013 11:59)
- Было дело, когда я пару дней потратил на поиск в своей программе, несуществующей ошибки. Но оказалось, что дело было вовсе не в программе, просто Bill(385 знак., 09.10.2013 12:16 - 12:40)
- Я, вообще-то, тоже все делаю сам. А если говорить о компромиссах, то Bill(404 знак., 12.10.2013 15:42)
- Разрабатываю схемотехнику, развожу платы и пишу ПО сам. И с кем мне искать компромисс ? А! С долбоебом начальником, который один и тот же протокол обмена (нигде не задокументированный) стремится во все проекты засунуть. - _basile(12.10.2013 13:30)
- Не туда попал. - Bill(12.10.2013 15:44, ссылка)
- Да при чем тут... Специфика такая, что бабки особого смысла не имеют. Это не массовое производство. Но сопровождение программы тоже денег стоит, а главное, времени. Заказчик как-то не очень хочет ждать. - _basile(12.10.2013 15:50)
- Ну так в одном случае это будет так, в другом - иначе. И критерии всегда разные. Вот и ищется оптимальный вариант, а он - всегда компромисс. Или нет? - Bill(12.10.2013 15:57)
- Так я ж и не спорю. - _basile(12.10.2013 16:00)
- Поэтому я и говорю о компромиссах межу различными вариантами решений. А если говорить о компромиссах с руководством или с заказчикам, то Bill(196 знак., 12.10.2013 16:09)
- Так я ж и не спорю. - _basile(12.10.2013 16:00)
- Ну так в одном случае это будет так, в другом - иначе. И критерии всегда разные. Вот и ищется оптимальный вариант, а он - всегда компромисс. Или нет? - Bill(12.10.2013 15:57)
- Да при чем тут... Специфика такая, что бабки особого смысла не имеют. Это не массовое производство. Но сопровождение программы тоже денег стоит, а главное, времени. Заказчик как-то не очень хочет ждать. - _basile(12.10.2013 15:50)
- Не туда попал. - Bill(12.10.2013 15:44, ссылка)
- Полностью согласен. - Vit(09.10.2013 12:32)
- Было дело, когда я пару дней потратил на поиск в своей программе, несуществующей ошибки. Но оказалось, что дело было вовсе не в программе, просто Bill(385 знак., 09.10.2013 12:16 - 12:40)
- Нет. Впадать в маразм явно не обязательно и более того, не поможет. А против неинициализированных переменных есть разные средства, и статические и динамические, и опции компилятора... - fk0(09.10.2013 08:47)
- Профессионалы думают, что они не делают ошибок и всегда инициализируют всё. Но не забывают обложиться проверками на недопустимость. И когда количество чтений негодных данных из EEPROM из-за неправильных номиналов резисторов подтяжки I2C превышает Vit(632 знак., 09.10.2013 11:59)
- Ни паверишь! У меня шеф чуть что, базарит : "Я это на ассемблере на AVR написать могу". Не, я конечно, понимаю что "ебанутым привет". Потому и ищу другую работу. - _basile(09.10.2013 01:40)
- "Business Week suggests that Java will let us run on many different platforms. So write it all in Java. The magazine said something about garbage collection, whatever that is, but I figure if you don't make any garbage, there won't be any Mahagam(146 знак., 08.10.2013 17:56 - 17:59)
- Пиздец. Одно слово Java - для ембеддера говно. Далее нет вопросов. - _basile(09.10.2013 01:54)
- :) - Vit(08.10.2013 18:13)
- Отлаженный код сразу написать явно нереально. Только вот контролировать свои ошибки все-таки можно. Тем более, что Bill(326 знак., 09.10.2013 08:36)
- А что мешает писать
- А что мешает инициализировать все переменные? - Bill(08.10.2013 17:41)
- больше похоже что, товарищ находится на стадии - "оно дышит! Уря!!!!" те есть единственный экземпляр железяки и он вчера, после года работы команды реанимации показал признаки жизни. Nikolay801_(43 знак., 08.10.2013 16:04)
- Блять, злые духи против меня! Писал первый пост - комп завис. Написал второй пост - куда то всё делось безвозвратно... - Tr(08.10.2013 17:16,
)
- Во-о-от. А был бы житаг - отладил бы, и всё работало бы нормально :-) - SciFi(08.10.2013 17:41)
- Блять, злые духи против меня! Писал первый пост - комп завис. Написал второй пост - куда то всё делось безвозвратно... - Tr(08.10.2013 17:16,
- В чем "СИЛА" заключена? Сидеть выхлопы из уарта в логическом анализаторе рассматривать? По логике вещей правоверный инженер должен выбирать оптимальный путь решения конкретной задачи. В этом смысле все способы от простого светодиода на пине до ig_z(87 знак., 08.10.2013 13:04)
- Ну, если у вас сложнее усарта ни чего не было, то мне вас не переубедить. - Tr(08.10.2013 15:39,
)
- Язвить не нужно господин телепат. Я задал вполне конкретный вопрос, как с помощью логического анализатора и его силы отладить сложный алгоритм, не взаимодействующий с внешним миром. Что то типа распознавания голоса. - ig_z(08.10.2013 21:56)
- когда отлаживаешь взаимодействие с реалтайм сущностью (например: модем GSM, стек протокола с внешним устройством, которое ждать не будет), JTAG-ом такое не отладишь, сущность не будет ждать, пока ты регистры все рассмотришь. - инженегр(08.10.2013 20:01,
)
- Вот это ты виндусятникам, и прочим пингвинам и объясни. - _basile(13.10.2013 15:52)
- Ну, если у вас сложнее усарта ни чего не было, то мне вас не переубедить. - Tr(08.10.2013 15:39,
- Ха! Ну ещё бы: загрузчик кто-то уже написал и отладил, ядро с дровами - тоже. Конечно, тогда житаг нафиг не нужен. - SciFi(08.10.2013 12:24)
- А, под микроконтроллеры вам религия запрещает скачивать готовые функции? - Tr(08.10.2013 14:11,
)
- Их отсутствие является аргументом? - Nikolay801_(08.10.2013 14:43)
- Ну, мне же сказали, что для меня уже все написано и отлажено. Тоже самое и я вам скажу. - Tr(08.10.2013 15:34,
)
- И кто это сказал? - Nikolay801_(08.10.2013 15:37)
- SciFi. Строкой выше. - Tr(08.10.2013 15:38,
)
- SciFi. Строкой выше. - Tr(08.10.2013 15:38,
- И кто это сказал? - Nikolay801_(08.10.2013 15:37)
- Ну, мне же сказали, что для меня уже все написано и отлажено. Тоже самое и я вам скажу. - Tr(08.10.2013 15:34,
- Их отсутствие является аргументом? - Nikolay801_(08.10.2013 14:43)
- А, под микроконтроллеры вам религия запрещает скачивать готовые функции? - Tr(08.10.2013 14:11,
- это труъ. путь джедая. но одна неинициализированная переменная весь этот пафос укладывает на день разглядывания светодиодов, неиницилизированный указатель на неделю чтения логов, а добавление ранее отлаженной задачи со своей кучкой Vit(351 знак., 08.10.2013 16:23)
- Для отладки постоянно использую UART. Для случаев, когда нет свободного UARTa или нужны высокие скорости, то использую преобразователь SPI-UART. - Ozelot(08.10.2013 10:03)
- >Как вы обходите эти ограничения и отлаживаете сложные участи ПО? Звероящер(834 знак., 08.10.2013 09:17)
- вещи, не связанные с железом, можно отладить в обычном gcc (если писать код с разделением от аппаратной части). Остальное - так же: светодиоды/индикаторы/UART. И про недешевый отладчик - не верю. Китайский JLink, или ST-Link/Discovery, или даже zeleny(30 знак., 07.10.2013 23:03)
- То есть, например, нормальная практика подключить индикатор и написать подпрограмму работу с ним, чтобы узнать, например, значение только одной переменной? - Olegall(07.10.2013 23:06)
- да, примерно так пошагово, особенно для новых контроллеров: запустить тактирование, GPIO - уже можно на светодиоде увидеть результат какой-нибудь операции или флага, дальше на GPIO подключить индикатор - туда выводить значения переменных zeleny(208 знак., 07.10.2013 23:12 - 23:16)
- Нормальная практика -- разделяй и властвуй. Отладить индикатор отдельно, клаву отдельно, логику работы прибора отдельно и т.п. Потом уже запускать вместе всё. Можно и переменную на индикатор. У меня в индикаторе второй экран был, куда просто fk0(113 знак., 07.10.2013 23:08)
- То есть, например, нормальная практика подключить индикатор и написать подпрограмму работу с ним, чтобы узнать, например, значение только одной переменной? - Olegall(07.10.2013 23:06)
- Если у вас в программе появился сложный участок, его необходимо немедленно удалить :) - Скрипач(07.10.2013 22:47)
- Если сложный алгоритм, который не читается мозгом? И необходимо посмотреть переменные. Особенно если их много и они изменяются почти одновременно - Olegall(07.10.2013 22:49)
- Не парьте мозг. Есть средства для записи хода программы в реальном времени и отматывании этого дела назад для изучения. Ваш процессор или внутрисхемный эмулятор этого не позволяют? Тем хуже для вас. - SciFi(07.10.2013 22:54)
- Что это за средства? Сколько стоят? Расскажите. Да, доступим в процессоре нет внутрисхемной отладки - Olegall(07.10.2013 23:00)
- Я написал - удалить алгоритм, не читаемый мозгом, заменить нормальным. Избегать "почти одновременного" изменения переменных. - Скрипач(07.10.2013 22:53)
- На мой взгляд, в данном случае, Скрипач - прав. Все гениальные вещи - просты. - _basile(13.10.2013 16:07)
- Ну если такое есть? вы придумали самый изящный и короткий алгоритм, но всё равно он сложный? со сложным мат аппаратом например. Кстати - вопрос стоит ли так писать, потом его может быть очень сложно разобрать даже самому - Olegall(07.10.2013 22:55)
- Сложный матаппарат и сложный алгоритм - суть разные вещи. Заявление не-программиста. - ut1wpr(08.10.2013 11:07)
- Используемые вами формулировки наталкивают на мысль о крайне низком уровне вашей подготовки, как программиста. - Скрипач(07.10.2013 23:05)
- Не парьте мозг. Есть средства для записи хода программы в реальном времени и отматывании этого дела назад для изучения. Ваш процессор или внутрисхемный эмулятор этого не позволяют? Тем хуже для вас. - SciFi(07.10.2013 22:54)
- Если сложный алгоритм, который не читается мозгом? И необходимо посмотреть переменные. Особенно если их много и они изменяются почти одновременно - Olegall(07.10.2013 22:49)
- Не плодите сущности. С каким контроллером работаете и с какими проблемами встретились? Vladimir Ljaschko(45 знак., 07.10.2013 22:44)
- Например работал в фирме, они разработали многоканальную многозвенную многопроцессорную систему сбора данных для подводных лодок. Было в ней 3 процессора - русские Пики, которые все общались между собой. Данные поступали с кучи датчиков, поступали Olegall(263 знак., 07.10.2013 22:53)
- Это не совсем то, что я спрашивал. Сейчас с чем проблемы? Vladimir Ljaschko(97 знак., 07.10.2013 23:10)
- Сейчас конкретных проблем нет - Olegall(07.10.2013 23:15)
- Тогда зачем этот флейм? - Vladimir Ljaschko(07.10.2013 23:19)
- Потому что были у меня такие проблемы, меня очень прессовали, потому что не получалось найти ошибки, а ПО надо было сдавать. Я был уверен, что глючит компилятор (IAR) и переменная обязана была иметь значение, которое я ей задал. Сейчас пишу ПО на Olegall(37 знак., 07.10.2013 23:21)
- Т.е. тема опять свелась к мифическим глюкам компилятора? Печально. Учите язык, и все будет хорошо. - Vladimir Ljaschko(07.10.2013 23:27)
- Потому что были у меня такие проблемы, меня очень прессовали, потому что не получалось найти ошибки, а ПО надо было сдавать. Я был уверен, что глючит компилятор (IAR) и переменная обязана была иметь значение, которое я ей задал. Сейчас пишу ПО на Olegall(37 знак., 07.10.2013 23:21)
- Тогда зачем этот флейм? - Vladimir Ljaschko(07.10.2013 23:19)
- Сейчас конкретных проблем нет - Olegall(07.10.2013 23:15)
- Для сложных программ -- программы пишутся не в терминах регистров и байтов, а в виде алгоритмов в блок-схемах или в конечных автоматах. Моделируются на нормальных компьютрах, по необходимости. А потом переносятся на МК. - fk0(07.10.2013 23:01)
- Вдогонку. И отлаживаются, соответственно, не на уровне тех же байтов, а на пару порядков по-выше. На уровне байтов за деревьями леса не видно. JTAG тут часто бесполезен. Отлаживать абсолютно всё на реальной аппаратуре -- тоже. Критически важно, в fk0(463 знак., 07.10.2013 23:06)
- Если нет такой возможности? Или возникла ситуация, надо узнать, что происходит с переменной внутри. - Olegall(07.10.2013 23:04)
- Вот вам одна из методик - Test Driven Development -> - SciFi(07.10.2013 22:59, ссылка)
- Это не совсем то, что я спрашивал. Сейчас с чем проблемы? Vladimir Ljaschko(97 знак., 07.10.2013 23:10)
- Например работал в фирме, они разработали многоканальную многозвенную многопроцессорную систему сбора данных для подводных лодок. Было в ней 3 процессора - русские Пики, которые все общались между собой. Данные поступали с кучи датчиков, поступали Olegall(263 знак., 07.10.2013 22:53)
- А не нужно использовать древнее гамно мамонта. Все современные МК имеют нормальные средства для внутрисхемной отладки, и стоят они недорого (у вас ошибочка на этот счёт). - SciFi(07.10.2013 22:39)
- они бываю глючные. Например STLink в CooCox. Или все идеально работают? - Olegall(07.10.2013 22:45)
- В каждой программе есть хоть одна ошибка...Не нравится ST-Link - купите JLink(китайский за 20 $) например. Он лучше хотя бы тем что поддержан большим числом IDE (стандарт для ARM де факто) и поддерживает на только STM32. - Apтём(07.10.2013 22:50)
- Рассмотрим случай, что в процессоре нет внутрисхемной отладки. неужели тут нет людей, которые не работают с такими? - Olegall(07.10.2013 23:02)
- 86 устраивает? - Vladimir Ljaschko(07.10.2013 23:14)
- допустим. но это не важно - Olegall(07.10.2013 23:22)
- Увы, по нынешним временам анахронизм. В таком случае в процессор может быть программа-монитор работающая с отладчиком через UART. У Keil было. Ещё есть NoICE. На случай крайней безысходности и свой монитор написать можно. Обычно там функции на fk0(92 знак., 07.10.2013 23:12)
- 86 устраивает? - Vladimir Ljaschko(07.10.2013 23:14)
- Рассмотрим случай, что в процессоре нет внутрисхемной отладки. неужели тут нет людей, которые не работают с такими? - Olegall(07.10.2013 23:02)
- По поводу современных процессорах - на многих заводах да и даже в фирмах используют древние конроллеры. (в случае ограничения использования русских компонентов, если военный завод). Конечно сделали ARM. Но он весь бажный. подозреваю, что таким Olegall(18 знак., 07.10.2013 22:48)
- Сочувствую, конечно, но это не повод лезть в петлю :-) - SciFi(07.10.2013 22:47)
- В каждой программе есть хоть одна ошибка...Не нравится ST-Link - купите JLink(китайский за 20 $) например. Он лучше хотя бы тем что поддержан большим числом IDE (стандарт для ARM де факто) и поддерживает на только STM32. - Apтём(07.10.2013 22:50)
- они бываю глючные. Например STLink в CooCox. Или все идеально работают? - Olegall(07.10.2013 22:45)
- Если дело дошло до житага значит разработка не удалась !!! - plainuser(09.10.2013 09:59)