- MPLAB X на Win XP sp3 (кому интересно) m16(521 знак., 19.11.2020 12:45, PIC, ссылка, ссылка, полностью)
- Поломалась отладка в STM32SW4 (eclipse). Подскажите куда копать.
Уже два раза все удалил и заново переставил (SW4, драйверты и
сервер stlink разные версии) с перезагрузкой, весь доступ и порты в
файрволле проверил, не работает. Причем с неделю назад, со
второго-третьего раза подключался, вчера вообще перестал. ST-Link
через STVP и из SW4 контроллер и пишет и читает и стирает.
Настройки правильные т.е. (software reset, с разными скоростями
пробовал). Тот же проект, тот AVF(772 знак., 15.11.2020 08:52, ARM, картинка, полностью)
- UPD: победил. Бл...дь, сто лет назад удаленный COMODO файрвол
остался в виде драйвера к сетевой карте и жил своей жизнью, это
писец какой-то. Мало того, его еще видно не было, тут переставлял
VirtualBox и он проявился. - AVF(24.11.2020 07:24)
- еще такой момент, что если именно про ST-Link речь (обычно люди
перешли уже на Segger и его китайские клоны), то st-шники недавно
поменяли драйвер на новый и только новая софтина CubeProgrammer с
ним совместима, а среда может про новый драйвер ничего не знать. - NAUT(22.11.2020 18:45)
- есть подозрение что дело вообще в USB, то ли питания не хватает, то
ли напряжение ниже чем надо, то ли драйвер, в общем попробуйте
через USB-хаб и в внешним питанием на девайс... - NAUT(22.11.2020 18:42)
- update - пока не решил, но проблема в gdb+ОС. Переустановка SW4,
разных версий драйверов, установка Atollic True Studio,
STM32CubeIDE (все на базе эклипса), удаление антивируса/файрвола
(avast), не помогли, хотя антивирус и на ноутах стоит. Отладка из
Keil работает (и через STLink и через ULink), STM32CubeIDE
позволяет работать через JLink - тоже не работает, на том же этапе
- gdb не подключается. При этом пока запущен openocd, gdb из
консоли windows подключается к openocd и AVF(427 знак., 22.11.2020 15:43)
- Пару недель назад студенты парились с программированием через TE -
Link, из под ИАР, если актуально будет, спрошу. - Visitor(15.11.2020 12:10)
- процесс openocd завис, либо его что-то блокирует antm(120 знак., 15.11.2020 12:10)
- Системный подход. Для начала качаешь STLinkUtility и проверяешь,
видит ли она: 1) STLink, она может его видеть без подключения к
камню. 2) Камень на STlink'е. Сначала надо проверить именно это.
Потом уже Eclipse. И еще: драйверы для STLink видны среди драйверов
Windows. - RxTx(15.11.2020 11:55)
- Железка подключена к ПК напрямую или через сеть? - evgeniy1294(15.11.2020 11:46)
- напрямую - AVF(15.11.2020 12:14)
- Либо openocd не смог подцепить отладчик, либо порт что-то
блокирует. У вас ОС какая? - evgeniy1294(15.11.2020 12:17)
- Вин 10, и здесь и на ноутах (домашний и рабочий), на ноутах
нормально работает. И обновления одинаковые установлены. - AVF(15.11.2020 12:23)
- Еклипс на win обычно тянет с собой сборку openocd, а также компилер
и gdb. evgeniy1294(303 знак., 15.11.2020 12:34)
- То что он их ставит, это однозначно, а где посмотреть полный лог,
что запускает эклипс? у меня есть подозрения что он что-то не то
запускает. OpenOCD в диспетчере появляется ненадолго. - AVF(15.11.2020 12:57)
- В папке plugins - evgeniy1294(15.11.2020 13:02, ссылка)
- Перетащил папку Ас6 с ноута на комп, стал показывать ошибку: AVF(71 знак., 15.11.2020 14:47)
- Запустите openocd руками: evgeniy1294(396 знак., 15.11.2020 15:17)
- Спасибо! На вид все нормально, по крайней мере gdb подключился к
ocd и прошли дальше listening, почему то не дает вставить ответ в
сообщение, в общем если кратко: AVF(524 знак., 15.11.2020 19:50 - 19:56)
- Чтобы запустить отладку нужно дать команду "continue" или, сокращенно "c". gdb - линуксячий софт, а пути в линуксе разделяются /, а в винде
разделитель \. - evgeniy1294(15.11.2020 19:57)
- Но ответ он выдает с \. Вопрос что с этим делать - AVF(15.11.2020 19:57)
- Это он адаптировал выхлоп под винду, вроде так и должно быть.
Вообще советую работать на нормальной операционной системе, а не на
этом поделии для домохозяек. - evgeniy1294(15.11.2020 20:00)
- мне результат надо, а линукс это пожиратель времени, я конечно
использую линукс на чпу, но там больше ничего нет. Ну ладно, это
лирика, в общем на "с" gdb говорит: AVF(158 знак., 15.11.2020 20:07)
- Чего-то странно немного, target not halted быть недолжно. - evgeniy1294(15.11.2020 20:15)
- Upd. в диспетчере видно что запускается, командная строка
"путь\arm-none-eabi-gdb.exe --interpreter mi2 --nx", но получается
к ocd он не подключается. - AVF(15.11.2020 20:57)
- сделал так, остановил ocd, запустил отладку из эклипса, пока он
пытался подключиться, запустил подключение gdb из его консоли, из
консоли подключение прошло. Потребовало ресета, но в принципе
сработало. Потом эклипс закрыл ocd. Суть в чем - видимо эклипс как
то не так запускает gdb или вообще его не может запустить.
И пути в переменных и команду запуска полностью не
показывает или я не знаю где смотреть. Проверил - путь правильный, значит проблема в другом :( AVF(93 знак., 15.11.2020 20:49)
- Программа на процессоре выполняется. Может что я не то сделал, по
сути то связка gdb ocd работает, потому что из эклипса он зависал
на 3333 listening - AVF(15.11.2020 20:20)
- Ага, похоже или не запускается gdb (или блокируется 3333 порт, хотя
второе сомнительно), потому что openocd запускается, слушает 3333
порт, а потом закрывается по таймауту. - AVF(15.11.2020 13:16)
- OpenOCD в составе эклипса хранится по адресу <папка с
эклипсом>/plugins/<что-то с именем openocd> (
Например
SystemWorkbench/plugins/fr.ac6.mcu.externaltools.openocd.linux64_1.23.0.201904120827/)
. Скрипты для openocd хранятся там же (Например
SystemWorkbench/plugins/fr.ac6.mcu.debug_2.5.0.201904120827/resources/openocd/) - evgeniy1294(15.11.2020 12:52)
- Руками из командной строки openocd/gdb нужной версии запускали?
Есть соединение? - s_h_e(15.11.2020 09:55)
- Выписали сегодня. Месяц с первых симптомов... POV_(282 знак., 20.11.2020 20:15,
, Off, полностью)
- Ничего не понял, но очень интересно... POV_(31 знак., 23.11.2020 22:54,
, Off, ссылка, картинка, полностью)
- Чёрное это белое General(1 знак., 22.11.2020 20:59, Off, картинка, полностью)
- Вот вроде на вид обычная женщена, да к тому же на вид буратина. Но
почему она делается как надо, в отличие от нашего? - Пьepo(23.11.2020 21:28,
, Off, ссылка, полностью)
- Букфи.нет только на МГТС забанен или везде? - Kpoк(23.11.2020 11:48, zen, полностью)
- В очередной раз упала Windows 7. Попытки восстановить штатными
средствами не помогли. BlackMorda(224 знак., 23.11.2020 12:48, dao, полностью)
- Внимание, опрос! Что для вас значит 9 мая VD(18 знак., 21.11.2020 23:05, Off, ссылка, картинка, полностью)
- Осваиваю OpenFOAM (здесь, кстати, порекомендовали). Читаю руководство пользователя. Помогите с переводом: Mebius(340 знак., 09.07.2017 14:23, dao, ссылка, полностью)
- А вот вопрос к погромистам. ))) Пишу код для некоторого устройства
и допустил прямое присвоение значения одной структуры другой
структуре ОДНОГО И ТОГО ЖЕ ТИПА простым выражением a=b;, где а и b
структуры из двух элементов по 1 байту. Прокатило. Но насколько это
корректно для Си? - my504(19.11.2020 14:39, dao, полностью)
- Корректно полностью. RxTx(192 знак., 19.11.2020 14:46)
- Ага, причём новый тип определяется только ключевым словом struct (и
class в C++). А ключевое слово typedef на самом деле новый,
отличный от существующих, тип не определяет, а лишь создаёт алиас
для другого существующего (и в функцию принимающую алиас запросто
можно подсунуть как сам алиас, так и оригинальный тип). Кстати
возврат структур из функций (маленьких, с парой-тройкой элементов)
хороший способ перестать писать говнокод с возвратом результатов
через ссылки/указатели в fk0(11 знак., 19.11.2020 15:30)
- Речь идёт именно о возврате структуры или всё же указателя на неё? - teap0t(19.11.2020 21:38)
- Именно о возврате структуры. - SciFi(19.11.2020 21:39)
- А можно о преимуществе на пальцах для малограмотных? Я просто в
ходе разбора со своими делами плавно переполз на структуры, чтобы
не путаться в аргументах. Но ссылка - это одно слово в стеке, а
структура будет заведомо больше (в том же стеке). И нафига козе
баян? - teap0t(19.11.2020 21:43)
- Разницы нет вообще. Ссылка ссылается на некую структуру в стеке,
или структура возвращается по значению и хранится в том же стеке! С
учётом того, что современные компиляторы массово делают RVO (см.
google), то разница совсем нивелируется. Разница начинает
проявляться только если RVO невозможно и если структура очень
большая. - fk0(19.11.2020 23:26)
- Если нужно вернуть 2 числа. Частное и остаток, например. А слова в
стеке считать — порочная практика. Можете сразу возвращаться к
ассемблеру. Со словами в стеке всё будет хорошо, но программу не
напишете. - SciFi(19.11.2020 21:46)
- Классика жанра -- man div(3). - fk0(19.11.2020 23:27)
- Ну, прекратите. Хер с ним, со стеком. Чем ссылка (это
подчёркивается в исходной реплике) хуже самой структуры. Я не
придуриваюсь, я не понимаю. Ну вплоть до того, что обращение к
элементам структуры по ссылке идёт через "->", а без неё по
".". Мне второе нравится меньше (труднее воспринимать). - teap0t(19.11.2020 21:54)
- В варианте со ссылкой, верней с указателем если в голом C: fk0(1185 знак., 19.11.2020 23:38, ссылка)
- Если хочется из функции вернуть указатель на структуру, для этой
структуры должна быть выделена память. Получается либо статическое
выделение (тогда нельзя вызовы из разных потоков, да и эта память
пустует 99% времени), либо выделено заранее перед вызовом функции
(тот ещё геморрой). - SciFi(19.11.2020 22:02)
- Делаете return struct вместо танца с указателями. А как компилятор
с этим будет изъ@бываться, не ваша забота. Он умный, у него
инсталяха он скока гигов. - mse homjak(19.11.2020 21:59)
- Как возвращать структуру мне понятно (типа, объявить тип
возвращаемого значения и задействовать "return"). Но в чём
преимущество такого стиля перед указателем на структуру? - teap0t(19.11.2020 22:10)
- Чтобы вернуть указатель на что-то, это что-то нужно сначала
определить. А когда возвращаешь структуру, всё делается
автоматически. Вопрос не эффективности кода, а эффективности
программирования. - Nikolay_Po(19.11.2020 22:15)
- Я чего-то явно не понимаю. Мы же структуру возвращаем куда-то, т.е.
в переменную имеющую такой же тип. Она уже определена и занимает
память. Мы не можем обращаться к полям структуры через x = my_func(..).field_1; - teap0t(19.11.2020 22:23)
- Мы структуру возвращаем во временный объект. Но опять же следует
разделить, то что как бы понарошку, и что получается на самом деле.
Этот временный объект -- он существует только в голове у тебя,
компилятор там как-то аллоцирует регистры и куда-то положит лучше
тебя, не твоя забота. И этот временный объект живёт до точки с
запятой (';'), потом уничтожается. fk0(1233 знак., 20.11.2020 00:00, ссылка)
- Верно, всё равно переменная будет. Получается, возврат структуры
немного нагляднее. Там даже слово return используется. А если из
возвращаемой структуры используется только одно поле, то
func().field можно и нужно использовать. - SciFi(19.11.2020 22:30)
- В читаемости, ИМХО. Компилер-то скорее всего, передаёт имана
указатель на структуру в куче. - mse homjak(19.11.2020 22:14)
- Когда я заглядывал, там через стек было. - SciFi(19.11.2020 22:28)
- Т.е. вариант teap0t(229 знак., 19.11.2020 22:20)
- НЕТ. Первый вариант лучше, но не потому что эффетивней. Он лишь не
хуже в простых случаях. Он лучше по другим причинам, может быть
значимым для языка C, но значимым для C++ (требуется конструктор
по-умолчанию, нужен placement new...), и это не про эффективность
ассемблера вообще. Кроме того он наглядней и менее подвержен
ошибкам. Для вариантов с большими структурами, с циклами, с
объявлением struct_A не здесь и сейчас, а где-то в другом месте, и
вообще не в стеке -- второй fk0(89 знак., 20.11.2020 00:06)
- Ну, ИМХО, тут дело не в объявлении, а в последующем использовании.
Например, в одном режиме вам нужно получить от функцыи комплект
настроек и сразу упихать его в порты. А в другом режиме нужно
набить массив из этих структур, чтобы, например, потом, по таймеру,
метать их в топку. Работать со структурой будет удобнее и
нагляднее, чем с указателями. - mse homjak(19.11.2020 22:33)
- Ок. - teap0t(19.11.2020 23:19)
- Очень ценный для меня совет со структурой-функцией. Спасибо. - my504(19.11.2020 15:47)
- Абсолютно корректно. - LightElf(19.11.2020 14:44)
- Кто финансирует такие вот явления и зачем? RxTx, твоё мнение? - fk0(21.11.2020 14:17, Off, ссылка, полностью)
- Поселки как-то не вписываются в общую слегка истерическую канву.
Возможно, их и будут впаривать. - s_h_e(21.11.2020 22:02)
- Поясни, ты обсуждаемую повестку, и самого Эль-Мюрида считаешь
вражескими? Я это спрашиваю потому что вопросом о "кто финансирует"
обычно задаются при подозрении в анти-российском финансировании. - RxTx(21.11.2020 21:04)
- Тут же не шахматы, где два разных игрока, и все фигуры либо строго
чёрные, либо строго белые. За нитки тянут в совершенно разные
стороны и в строю чёрных полно перекрасившихся белых и наоборот. И
цели могут быть вообще ортогональные политическим и с последними
никак не пересекаться. Собственно я о политике и не думал. Политика
вторична, она лежит на уровнь ниже. Политика годится для тех, на
кого уже нацепили специальные очки той или иной системы, загрузили
нужную матрицу в fk0(1960 знак., 22.11.2020 14:40)
- Никого ничем я не считаю. Я просто вижу, что тянут в разные
стороны, за разные нитки. У одних ватники кровавые, у других враги
народа и либерасты, но на деле всё едино, кто тут вражеский
рассуждать бесполезно: fk0(1477 знак., 22.11.2020 14:19, ссылка, картинка)
- Интересно, а как воспринимаются про-российские, но анти-русские
силы? - Cкpипaч(21.11.2020 21:06)
- Вопрос о чем, о сайте+онлайн-конференции? Или о том что описывается
сайтом? RxTx(1672 знак., 21.11.2020 20:54, ссылка, ссылка)
- Финансирование подобных мероприятий косвенное, причем настолько
косвенное, что концов хрен найдешь. Это все равно что искать ответа
на вопрос "Кто финасирует перелет птиц на юг?" IBAH(2595 знак., 21.11.2020 16:05)
- Это известный блогер Эль-Мюрид. (Анатолий Несмиян) Boвa(23 знак., 21.11.2020 15:31)
- Там же написано: il-2(162 знак., 21.11.2020 14:21)
- Тебе же написали цену за билет, чтобы послушать эти говорящие
головы. Это шоу-бизнес. Как поющие трусы. - SciFi(21.11.2020 14:20)
- [Windows - 35 лет!] Как быстро время летит...В хроносе есть, но как-то мы не заметили
круглую дату. - Evgeny_CD(21.11.2020 01:00, dao, ссылка, ссылка, полностью)
- только глядя назад можно понять насколько она хороша - LordN(22.11.2020 03:08)
- Я эту хуету первый раз поставил в 91м ради второго корела. Нихера
он на мегабайте работать не захотел. Вернее тормозил безбожно.
Таких тормозов я больше ни разу не наблюдал.Феноменальные тормоза.
Много лет спустя на такой же 286 но с 4 метрами он просто летал.
Такшта винда для меня началась в 95-м, на 386 с 32 метрами. Но 2.0,
2.1, 3.0, 3.1 я тоже пощупал. - Codavr(21.11.2020 21:03 - 21:31)
- 32 метра в 1995? Офигеть. У меня в 1999 был пеньтиум с 16 метрами.
И там была 98-ая. А 95-ая на 4-х метрах вполне работала. - fk0(22.11.2020 02:07)
- Инженерная ошибка. Ошибка дизайна. Решили подать виртуальную память
как обобщение DRAM, как преимущество что памяти много. А про то что
эта память работала не со скоростью DRAM, а со скоростью HDD -
умолчали. Поэтому жертвой здесь и оказалась скорость работы. Это
звучит очень коротко, банально, тривиально, итд. но это ключ в
понимании самой основной проблемы Windows в которой её обвиняли
всегда. Уточню - проблема в "АВТОМАТИЧЕСКОМ" (типа) управлении
памятью. Эта RxTx(452 знак., 21.11.2020 22:59 - 23:45)
- Виртуальная память нужна не как способ расширить RAM нахаляву. Так
это работает только с единичными приложениями. В основном идея
виртуальной памяти в том, чтоб на диск скинуть то, что занимает
память и не испольуется и таким образом дать немного больше памяти
для кеша диска или полезных программ. В том числе, высвобождается
память от кусков exe-файлов редко или вовсе неиспользуемых (их
всегда можно считать с диска). В итоге получается приличный объём.
Но для работы fk0(465 знак., 22.11.2020 13:28)
- Дык, так и Линукс работать будет. И имана так и работает, что
характерно. И ваще, любая ось со складом памяти на внешнем
носителе. - mse homjak(21.11.2020 23:33)
- В смысле что медленно? - RxTx(21.11.2020 23:40)
- Медленно это вот так. Опишу свои впечатления от корела под 3виндой
на 1 метре памяти. Codavr(727 знак., 22.11.2020 01:27)
- Написал великолепно! Почаще бы такое писал. Но я тонко замечу -
непохоже чтобы Corel Draw! и Windows 3 у тебя были лицензионные,
купленные за кровные. Иначе сложно объяснить что программы на
тысячи долларов ты взял вот так вот и удалил и больше ими не
пользовался. :-) - RxTx(22.11.2020 01:30)
- Гы, в то время даже слова то такого не знали - лицензионные :)))
Про корел узнал изжурнала и долго выискивал его на рынке. Винду
взял у знакомого. - Codavr(22.11.2020 01:40)
- Да понятно, так, пидъебнул =) А журналы были красивые, да. Как-то
комфортнее всё было. Понятно, размеренно. Разумно. Есть мнение что
"доступность" интернета и современная работа на компьютере
аналогична что как будто бы ты зашел в комнату, а там всё свалено
огромной мусорной горой, вот томик энциклопедии, вот обрывок
журнальной страницы, а вот кусок "весёлых картинок". Все равно
наверное этот шум и неструктурированность как-то нехорошо влияет.
Это не свобода. Это просто RxTx(5 знак., 22.11.2020 01:58)
- Ты забыл добавить, что одна и та же информация дублируется тысячами
и десятками тысяч сайтов. Причем зачастую копируется полная хуета,
и благодаря массовости человек, который не может в силу разных
причин распознать наебку принимает это за чистую монету. - Codavr(22.11.2020 02:05)
- Так, стой... абажжи. О! А не верно ли то, что та информация,
которая дублируется много раз - это дерьмо? Ну что вот такой прямой
признак - видишь массовость и дублирование, значит всё, пиздец,
говно. Кто-то хочет прям впихнуть тебе. (Зачем-то...) И что хорошая
информация очень редкая и её только самому искать требуется? - RxTx(22.11.2020 02:42)
- "А не верно ли то, что та информация, которая дублируется много
раз - это дерьмо?" - Как по мне, то верно на все 100. Потому как практически 99%
такой инфы дублируют(репостят) индивиды без малейшего
понятийного(причинно следственного) мЫшленния в голове, да еще и
заангажированные многими догмами, присущими либо тем или иным
регионам, либо тем или иным информационным пространствам. К таким
индивидам, к сожалению, зачастую относятся даже те, которые имеют
по два-три ir0407(70 знак., 22.11.2020 13:39)
- Не, ну не так все однозначно. Хотя интересно было бы статистику
навести. Частота повторения по игрек. А по иксу влево степень
хуйни, вправо степень полезности. Ну и где эти британские ученые,
когда они так нужны? Интересно посмотреть на позицию этого
исследования на этом графике :))) - Codavr(22.11.2020 11:30)
- Да. Процесс слива/подкачки свопа на/с диска, совершенно не зависит
от типа оси. У меня Минт, на 4-головом Феноме-2 с 8Г ОЗУ, на ССД,
при приближении к 80-90% занятого ОЗУ, работать было невозможно.
Тупняк жоский, все ядры в 100%, на свист не реагировал. - mse homjak(22.11.2020 00:01)
- Да. Современным примером где более-менее почесались насчет памяти
являются мобильные системы. Например iOS, Android. Там как ты
понимаешь совершенно неприемлемо чтобы юзер ждал секунд по 10-20
при пользовании софтом телефона и всё вообще вставало раком. Хотя
памяти с гулькин хер а программ открыто достаточно. - RxTx(22.11.2020 00:07)
- Ха, как юзверь этой амеро-индусской паделки заявляю. saifullin2(609 знак., 22.11.2020 05:41)
- Справедливости ради, там ядро того-же Линуха. Да и задач на
Онандроиде, сравнимых с каким-нить толковым ИДЕ от Альтеры или
Хилого, нет. На ПС типовой случай, рисовалка схемы и платы, ИДЕ на
ПО МК, ИДЕ ФПГА, браузер с десятком активных окон, фоном фильма в
правильном переводе. Мелочловка из открытых ПДФов... Ясен%, 16Г
ОЗУ, впритык. Надо 32. mse homjak(102 знак., 22.11.2020 01:44)
- у 386 max ram было вроде 16 мб, или ошибаюсь ? - Aleksey_75(21.11.2020 21:23)
- Гуй был странный у 95й. Или работа с памятью странная - хз... POV_(342 знак., 21.11.2020 21:03,
)
- Структуры и указатели с точки зрения практики. BlackMorda(1230 знак., 20.11.2020 15:00, dao, полностью)
- ОЭЗ "Алабушево", обзор - =L.A.=(15.10.2020 16:41, zen, ссылка, полностью)