-
Постов
4 848 -
Зарегистрирован
-
Победитель дней
3
Сообщения, опубликованные Xenia
-
-
5 минут назад, HardEgor сказал:
По-идее должно выбираться при конфигурации и там выбрать - или I2C или SMbus.
Согласна, действительно это задается в конфигурации.
-
А почему тогда I2C его для себя резервирует? А и откуда ему знать, какая у меня шина - SMBus или нет? А раз есть SMBAL, то вероятно I2C должна как-то на него реагировать, а иначе зачем он?
-
У меня совсем короткий вопрос про ... SMBAL. У STM32 бывает по штуке на каждом I2C: I2C1_SMBAL, I2C2_SMBAL и т.д.
По описанию это линия активации прерывания от каких-то SLAVE-устройств. Однако у CubeMX номер прерывания для нее не задает.
Тем не менее, I2C "подминает" этот пин под себя, например не дает таймеру TIM3_CH2 с этим пином работать.
Мой вопрос: можно ли использовать SMBAL-пин в качестве выхода, как обычный GPIO? Не повредит ли это работе I2C, если оно в это время работает?
-
16 минут назад, jcxz сказал:
А какая цель была при переходе на "IAR EW430 v8.10.2"? Т.е. - зачем?
Он компилирует лучше? или...?
Сейчас поветрие такое - всем переходить на 64-разряда. Даже Intel грозится, что в своих будущих процессорах отрубит 32-разрядность, как когда-то в прошлом отрубили 16-разрядность.
EWARM, EVAVR уже перешли на 64 разряда, a EWRICV изначально такой была. А ныне и до EW403 очередь дошла.
Скорости 64-разрядность едва ли добавит, но ее главный козырь - возможность использовать всю память компьютера, тогда как нынче у всех компьютеров памяти больше, чем 4 ГБ. Причем совершенно не обязательно в случае, когда сама программа (в данном случае компилятор IAR'а) требует много памяти, а уже лишь по той причине, что куцая память может быть к этому моменту под завязку занята другими приложениями. Например, мой Firefox-браузер (64-разрядный), кажется, всю память раньше занимал, пока я не поставила в свой компьютер 64 ГБ (4х16).
-
11 часов назад, jcxz сказал:
Так вроде написано же что новый IAR - 64-битный. А лекарство почему-то пытаетесь использовать для 32-битной версии.
jcxz прав, EW430-8102 действительно позиционируется как 64-разрядная версия. Однако меня сильно заинтриговал тот факт, что компилятор у топикстартера компилирует нормально, а стало быть, патчер "iarpatcher32 v1.16" его ухитрился вылечить. А поскольку этот патчер я сама писала :), то равнодушно пройти мимо этого факта никак не могла.
И вот что выяснила. Компилятор IAR EW430 v8.10.2 оказался из ряда вон выходящим - он позиционируется как 64-разрядный (и в соответствии с этим инсталлируется в "Program Files"), однако компиляторы с языков C/C++ (icc430.exe) и ассемблера (a430.exe) у него 32-разрядные. Такое я встречаю впервые. Однако это первая 64-разрядная версия для MSP430, а потому весьма вероятно, что что-то не успели к сроку доделать и закрутили в инсталлятор их 32-разрядные варианты. Именно поэтому компиляция у топикстартера идет (32-разрядный компилятор вылечился), но при отладке dll-модули (для каждого из отладчиков) требуют лицензию, поcкольку все эти dll - 64-разрядные.
В этой ситуации я могу посоветовать вернуться на предыдущую версию из 7-ой серии (EW430-7211-Autorun.exe), которая еще на 64-разрядность не переходила, а потому нормально лечится. Однако можно и рискнуть - проинсталлировать EW430-7211-Autorun.exe, вылечить ее, а потом подпихнуть из нее отладочные dll-файлы в последнюю версию EW430-8102.exe (предварительно сохранив где-нибудь их оригиналы). Я же помочь в этом никак не могу, т.к. с MSP430 никогда не работала и отладчика для них у меня нет.
-
1
-
-
4 часа назад, ksv198 сказал:
В Кубе довольно просто сделать новый проект под Вашу плату.
Выбираете свой контроллер (STM32F407xxx), на вкладке System Core выбираете тактирование (внешний кварц); на вкладке Connectivity выбираете ETH (уточните только, как соединён физический уровень - MII или RMII - это можно прямо по плате посмотреть, если схемы нет); на вкладке Middleware and software packs выбираете LWIP и в его Configuration выбираете Ваш физический уровень - DP83848 (вкладочка Platform Settings); на вкладочке General Settings можно отключить DHCP и ввести статический IP адрес.
Спасибо большое! А я даже надеяться не могла, что на CubuMX это возможно, т.к. у меня выход на Ethernet через транссивер DP83848, который на ST не делают (и в свои демо-плат не вставляют). Да и само сокращение "ETH" я не разгадала, хотя вроде бы его прежде видела.
-
26 минут назад, jcxz сказал:
Вижу, что Вы так и не поставили TDST.
...
TDST создаёт виртуальный COM-порт.
Хорошо, если есть такая возможность, однако пока моя плата не заработала, ставить TDST мне не на что - у мертвой платы нет IP-адреса.
Именно поэтому я сейчас занята поиском для нее прошивки, т.к. считаю это первостепенной задачей, через которую мне не перешагнуть.
-
15 минут назад, jcxz сказал:
Тогда TDST + любая отладочная плата с TCP-стеком.
Ну, а импортной компьютерной программе что я скажу? У нее в настройках выбор номера СОМ-порта, через которой она осуществляет связь со своим железом (теперь уже с моим). Она как-то определяет, какие СОМ-порты существуют (хотя виртуальные от реальных не отличает) и предлагает в комбобоксе выбрать какой-то из них. Соответственно этому, TCP-стеки она не видит и работать с ними не будет (не умеет).
-
36 минут назад, jcxz сказал:
Изначально вы писали про чтение ADS1256
АЦП, ЦАПы и цифровые порты являются внутренней начинкой импортного железа, но ADS1256 - это моя отсебятина, т.к. более точного АЦП среди продажных модулей я не нашла. Т.е. не в моих силах было изготовить железо один к одному с импортным, а потому мое железо устроено иначе, но выдает данные на компьютер и принимает от него команды в фирменном формате/протоколе, а потому импортная компьютерная программа подмены не видит. Даже когда она при старте запрашивает серийный номер у железа, мое железо отвечает так же, как отвечало импортное.
36 минут назад, jcxz сказал:Где именно в ADS1256 находится COM-порт?
У него вроде SPI. По SPI его можно подключить к любой из отладочных плат (выше) и передавать получаемые с него данные далее в TCP-сокет. Зачем тут COM-порт??? - опять неясно...
На связи с импортной компьютерной программной находится только контроллер (я использую что-то из STM32), он и поддерживает с ней разговор, сообщая ей в требуемом формате показания всех измерительных датчиков и исполняя подвластными ему средствами приходящие от компьютерной программы команды (например, переключение клапанов и установку скорости вращения шаговых двигателей, вращающих насосы).
Как легко можно догадаться, клапана и насосы уже давно не те, что были в фирменном оборудовании. Это же касается и датчиков (манометров и расходомера). Соответственно этому, АЦП и ЦАП у меня тоже другие - те что можно было достать недорого.
36 минут назад, jcxz сказал:Вобщем - ума не приложу зачем нужен "виртуальный COM-порт" в вашей задаче.
Моей задаче виртуальный порт нужен только затем, чтобы "найти поход" к импортной программе, которая изначально стыковалась со своим железом через реальный СОМ-порт. А железо я могу городить, какое хочу - лишь бы с импортной компьютерной программной оно могло говорить на ее языке и по ее протоколу связи.
-
32 минуты назад, jcxz сказал:3 часа назад, Xenia сказал:
А такая развязка нужна мне для того, чтобы с помощью АЦП (у меня ADS1256) можно было отрицательные напряжения мерить.
Это понятно. Непонятно - зачем для этого городить виртуальный COM-порт???
Потому что я работаю с программным обеспечением, написанном разными иностранными компаниями под связь с железом через СОМ-порт. Протокол связи я уже разгадала и уже сотворила замену их фирменного железа на самодельное из китайских модулей. Ибо скопировать чужую программу ничего не стоит, а покупать железо у фирмы стоит огромных (по моим меркам) денег, тем более что железо отдельно от программы они не продают, а ныне с Россией вообще не торгуют. Сперва работала через реальный СОМ-порт, купив у китайцев "промышленную" плату с интерфейсом RS-232, но потом перешла на виртуальный СОМ-порт, подключив USB-кабель напрямую к контроллеру, занимающимся периодическим съемом результатов с АЦП (по прерыванию), а в остальное время манипулирующего 32-мя цифровыми линиями (какие-то из них управляющие и ориентированы на вывод, а какие-то информационные, ориентированные на чтение). Избавившись от реального СОМ-порта, я избавилась и от досадного ограничения в 115200 бод, а теперь хочу еще большего. А компьютеры нынче быстрые пошли - программа с возросшим входным потоком справляется.
32 минуты назад, jcxz сказал:Сильно! Искали подороже?
Если зайти на: http://starterkit.ru/html/index.php?name=shop&cat=95
то можно найти гораздо дешевле. Например:
Я искала только на Aliexpress, т.к. и раньше там всё покупала, а по российским магазинам я не спец.
Просьба к вам - не забалтывать заданный мной вопрос о ПО для этой платы, переводя разговор о том, где дешевле покупать. Всё равно, чтобы вы мне ни посоветовали, купленную плату я уже не выброшу.32 минуты назад, jcxz сказал:32 минуты назад, jcxz сказал:TCP-сокет точно также открывается как поток. В который затем можно писать и читать из него массивы байт.
точно также открывается как поток. В который затем можно писать и читать из него массивы байт.
Я это знаю, но чужую/фирменную программу мне с СОМ-порта на TCP-сокет не переделать.
-
1 час назад, tonyk_av сказал:
У китайцев на Али есть конвертеры на RISC-V, если не ошибаюсь, на CH32F307.
И что во что они конвертируют?
Поймите, что мне никакая конвертация не нужна, т.к. для компьютера Ethernet-разъем родной, вы, даже если заходите, выковырить его из материнской платы не сможете. А с другой стороны у меня плата с Ethernet-разъемом, который через приемо-передатчик DP83848 непосредственно связан с контроллером. Соединяются же они между собой патч-кордом, и здесь нигде нет никаких посредников типа RS-232 или RS-485 с их бодами, четностью, битностью и прочими специфическими атрибутами.
А слово "виртуальный СОМ-порт" я произнесла вовсе не оттого, что через Serial-port связь хочу наладить, а исключительно потому, что так называется удобная удаленная связь через файловые операции, когда отправляемые сообщения пишутся в виртуальный СОМ-порт, открываемый как файл, и так же из того же файла читаются входящие сообщения. Это вариант привлекателен еще и тем, что такая передача буферизируется на уровне операционной системы - например, заказав буфер в 64КB, вы будете избавлены от ловли каждого входящего байта и получите возможность читать входящие сообщения блоками, которые накопились со времени предыдущего чтения.
Кроме того виртуальный СОМ-порт удобен еще и тем, что программы, работающие с внешними устройствами через реальный СОМ-порт, легко "обмануть", подсунув им вместо номера реального СОМ-порта номер виртуального. Они даже не заметят этого. Но если я возьму драйвер от какого-то умельца с Гитхаба, то в придачу к нему получу библиотеку на десятки мегабайт, предоставляющую функции, посредством которых буду вынуждена связываться с отдаленным девайсом. Положим, что в своей программе я бы могла переделать файловый доступ на библиотечный, однако чужие программы мне на этот вариант не переделать (из-за отсутствия их исходников). С подобной ситуацией я уже встречалась в ... мобильных телефонах старых типов, которые при подключении к компьютеру по USB не показывают содержимое своей памяти в виде дерева директориев, а требуют специальную программу от производителя, которая содержимое памяти скрывает, а позволят только скачивать фотки.
-
24 минуты назад, tonyk_av сказал:
Ну и ценник!
Я ее покупала за 6414.90 руб (с доставкой вышло 6845.52 руб). Заказывала 27 августа, получила на почте только вчера.
Тоже не дешево, но с чего-то мне надо начинать. А если изготовление такой платы у умельцев заказывать, то обошлось бы гораздо дороже.
-
Только что, tonyk_av сказал:
А какой драйвер со стороны ПК предполагается использовать?
До выбора драйвера у меня еще руки не дошли - мне бы Ethernet довести хотя бы до того, чтобы он в сети был виден по TCP/IP. А пока плата мертва, заниматься выбором драйвера преждевременно. Но если у вас что-то есть на примете, то я бы с интересом вас послушала.
-
У меня вопрос по связке STM32+Ethernet. Опыт какой-никакой у меня имеется, но программировать Ethernet никогда прежде не приходилось. А тут возникла у меня идея-фикс, чтобы на базе Ethernet сделать виртуальный СОМ-порт. Ведь если его на USB делают, то вероятно и на Ethernet тоже можно сделать. Причем, не столько ради скорости передачи данных, сколько из-за того, что трансформатор у Ethernet'a может служить гальванической развязкой. А такая развязка нужна мне для того, чтобы с помощью АЦП (у меня ADS1256) можно было отрицательные напряжения мерить. Для этого я гальванически развязываюсь, а вместо земли вывожу из платы напряжение с опорника (Vref) - оно как раз посреди шкалы у этого АЦП находится.
Терзаемая такими желаниями 🙂, купила я себе на Aliexpress вот такую плату (STM32-ETH-47V/UET) :
https://aliexpress.ru/item/1005002921352110.html
Это связка контроллера STM32F407VG6 с EthernetPHY DP83848.
Продавец обещает: "Предоставляется интерфейс Ethernet и программа тестирования.", но никакой "программы тестирования" я не получила, а продавец на связь не выходит. Сама же плата при подключении питания признаков жизни не подает (за исключением горящего светодиода питания) - впечатление, что контроллер еще не прошит.
Где бы мне раздобыть демку для этой платы, желательно написанную на CubeMX (т.к. в программе, написанной на регистрах, логику работы с Ethernet мне не разобрать)?
В интернете уже рылась - самое близкое это:ЦитатаПриобрел пару лет назад платку STM32-V/UET c F207VGT6 и эзернетом на DP83848.
Валялась, вспомнил, решил поиграться.
Из доки - исходники проектов с примерами к STM3220F-EVAL 😃 и схемка.
Сгенерил проект с помощью cubemx (RMII Ethernet, lwIP), 50МГц MCO1.
Прошил, эзернет поднимается, даже вижу DHCP Discover...Но этому товарище хотя бы повезло в том, что ему "дока" досталась, тогда как мне - ничего.
-
Только что проверила: команда "Start Application", выдаваемая после окончания прошивки и верификации выдает ошибку:
Тем не менее, программу запускает 🙂 - после этого светодиод начинает мигать.
Повторные выдачи команды "Start Application" сообщений об ошибках не вызывают.
-
А если я сразу закажу "Start Application", то вдруг он ее запустит, не прошив и не верифицировав? Или вы предлагаете мне сперва сделать "Program & Verify", а "Start Application" запустить следом?
-
15 минут назад, MrYuran сказал:
Xenia, а галочки "Reset/Run after download" у вас нет?
Нету. Собственно и мой вопрос сводится к тому, как ее поставить.
Вашей программы "Cortex Jlink/Jtrace Driver Setup" у меня нет. Пользуюсь версией "JLink V488b" с кряком (использовать более поздние боюсь, чтобы они мой китайский JLink не распознали и не превратили его в кирпич). А проект для него мне кто-то давно помог написать, и я с тех пор им пользуюсь для всех типов контролеров STM32. -
9 минут назад, jcxz сказал:
А как (чем) Вы шьёте? J-Flash, отладчик, etc.?
JFlash.exe. Оно очевидно, т.к. я как раз просила проект *.jflash для него поправить.
Как отладчик, я его не использую - исключительно ради прошивки. Поэтому IAR здесь никаким боком участия не принимает, а потому и ковыряться в нем не имеет смысла.
-
9 минут назад, jcxz сказал:
Не очень понятно - что за "ступор"? Почему туда входит?
Ступором назвала состояние, когда питание подается, но прошивка признаков жизни не подает (светодиодом не мигает).
Примечание: при прошивке платы через J-Link или ST-Link я ее питание не отключаю. При этом после прошивки через ST-Link мой светодиод начинает мигать без каких-либо телодвижений с моей стороны, а после прошивки через J-Link - только после нажатия на кнопку Reset.
-
У меня простой вопрос про J-Link, а потому присоединяю к этой теме, чтобы отдельную не создавать.
J-Link у меня китайский (H-Link - клон сеггеровского), но мой вопрос не из-за его китаёзности, а из-за моей неопытности работы с J-Link'ами. Потому и пишу в раздел "В помощь начинающему".А проблема моя такова - у STMовского ST-Link'а есть полезная опция - чтобы после окончания прошивки она сама запускалась на счет. Тогда как после прошивки через J-Link контроллер входит в ступор, из которого его можно вывести либо временным отключением питания или кнопкой Reset. Тогда как мне это неудобно из-за того, что кнопка Reset у меня глубоко запрятана и дотянуться до нее можно с трудом (наживать длинным карандашом ее приходится).
Так можно ли что-то изменить в проекте *.jflash, чтобы он делал то же самое?
-
Нет, с двухъядерного начинать не надо. Я вот вроде как уже не начинающая, но двухъядерных до сих пор страшусь :).
А вот H7-го (например, H743 или H750) страшиться не надо - хороший контроллер "на вырост", хотя и с особенностями. Но начинающий в дебри не полезет, а потому слишком большого отличия от STM32F4 поначалу не заметит.
И потому я бы советовала начитать с STM32F4, т.к. его сходство со старшими моделями гораздо сильнее, чем с STM32F1.А чтобы старт не был слишком дорогим, посоветую эту дешевую (190 руб с бесплатной доставкой) плату на STM32F401. Это здесь:
https://aliexpress.ru/item/1005005807100324.html
Она сильно похожа на "голубую таблетку", только называется черной таблеткой :).Хороша еще и тем, что не требует программатора - прошивается через USB (у всех STM32F4 и выше стоит встроенный загрузчик через USB) - не надо программатор в придачу покупать.
А после STM32F401 все старшие модели (кроме двухъядерных) покажутся подобными, т.к. в основном совместимы сверху вниз. -
2 часа назад, makc сказал:
При выполнении подобных работ крайне рекомендуется использовать хоть какой-нибудь нижний подогрев (хоть утюг), чтобы не заниматься прогревом всей платы с помощью фена через отпаиваемый чип.
А я и не собиралась заниматься прогревом всей платы, именно поэтому не хочу класть ее на утюг. Но если греть чип через узкую насадку, то плата от того сильно не нагреется, а потому мое беспокойство вызывает только чип.
Логику (типа SN74ALVC164245, 48 ног) я прежде уже выпаивала, нагревая весь чип целиком, пока он не отстанет от платы, и она оставалась после этого работоспособной. Но греть так контроллер откровенно боюсь. -
16 минут назад, mantech сказал:
Вот не читал эти талмуды, просто беру, смачиваю спиртоканифолью ноги, и потихоньку грею феном по периметру чипа, вот как отпаяется, такая темп и верная, еще ни одного чипа не спалил.
Если бы речь шла о фене для волос :), то вашего ответа было бы достаточно. Тогда как фен паяльной станции у меня нельзя включить просто так, а требуется обязательно установить для него температуру. Отсюда и был мой вопрос.
Кроме того, если чип мал, то практически невозможно нагревать феном его периметр, оставляя центральную часть чипа относительно холодной. Причина тому та, что фен, в отличие от паяльника, греет не в одной точке, а довольно широким воздушным потоком. Например, у меня самая мелкая насадка на фен имеет диаметр около 5 мм, а размер моего STM32F103C8T6 - 7 мм.
-
1 час назад, Arlleex сказал:
Вроде бы оно, но надо будет разбираться, т.к. текста там много.
J-Link
в ARM, 32bit
Опубликовано · Пожаловаться
У меня на этой вкладке вроде всё то же самое, тем не менее, J-Link прошивку не запускает: