- Норот, никто не юзал WCHlink-овский свисток, как УСБ-КОМ? Вроде
где-то видел дажэ окошко терминала в MRS, щас глянуть негде, вот и
спрашиваю. - mse homjak(07.09.2023 13:42, ARM, полностью)
- Работает и со всяческими сторонними терминалами. - Гyдвин(07.09.2023 15:54)
- А в самой MRS терминал есть? Я про это, собсно. - mse homjak(07.09.2023 16:30)
- Есть. Да еще "закудрявленный". Надо ткнуть "мониторчик" в
тулбаре... Гyдвин(1 знак., 07.09.2023 18:43, картинка)
- О! Пасибо! - mse homjak(07.09.2023 19:41)
- Самих чипов переходников штук 6 типов, софт один ко всем годится?
Хочу переход с развязкой сделать USB -> RS232 / RS485.
Переключение тумблером. Чисто для задач фирмы. Иногда что то
заземлить забывают:-) - Visitor(07.09.2023 19:18)
- Там в MRS можно открыть несколько окон терминалов - для любых COM
портов в системе. - Гyдвин(07.09.2023 21:48)
- Лет 5 назад я для коллег наделал изолированных
USB<->RS485-2W/-4W/RS422/RS232 на FT232RL. Выбор типа
порта на DIP-switch (там небольшая логика присутствует). Коллегам
импонирует, что ни под Виндой, ни под Линуксом с ними нет проблем с
драйверами. Единственно, что нумерация портов в Линуксе от порядка
подключения переходников зависит. Но это проблема самого Линукса,
как я понимаю. За все время на 2х переходниках разъем microUSB
оторвали от частого перетыкания. В reZident(42 знак., 07.09.2023 20:33)
- нужно ввести простое правило - всякий желающий что-то к чему-то
подключить должен сперва взяться обеими двумя руками за корпуса
ентих изделий. - Alex68(07.09.2023 20:08)
- Камент: Если втыкать плату в устройство - да, так и делаю. А если
соединять [кабелем] разные устройства, то лучше - организовать
контакт экрана кабеля с корпусом через ладонь одной руки. Я так
думаю! (С) Мимино. Отбивка темы переводом строки - опять не работает. - Toчкa oпopы(07.09.2023 20:44)
- Вспомнился случай. У коллеги что-то подключали на столе и он
пожаловался, что все устройства которые он подключает к обычному
ИБП 24В 1,2А "током бьются". Я предположил, что у него комп не
заземлен, но нет - ввод один, гирлянда из удлинителей в которых
розетки с заземляющим контактом. И проблема только с устройствами,
которые подключаются к этому конкретному ИБП. Разгадка оказалась
очень простой - удлинитель с 6 гнездами, 5 гнезд с заземляющим
контактом, а 6-е гнездо reZident(217 знак., 07.09.2023 20:23)
- :-) Это беру на вооружение! А я до сих пор никак не научу
предварительную диагностику блока делать "послюнявленным пальцем". - alexem(07.09.2023 20:20)
- StarFive [JH7110] SoC начинает выходить в свет. RISC-V 6 ядер. Evgeny_CD(25 знак., 06.09.2023 12:23 - 13:39, ARM, ссылка, ссылка, полностью)
- Еще плата Evgeny_CD(1 знак., 06.09.2023 21:32, ссылка)
- Суки! Т от 0° и выше - Evgeny_CD(06.09.2023 13:41)
- Малинка, малинка, такая вечеринка... - =AlexD=(06.09.2023 13:16)
- Ядров все-таки шесть. Четыре "толстых", одно "тонкое" и одно
32-битное "тощее", чиста на поржать. - LightElf(06.09.2023 12:58)
- Пример платы Evgeny_CD(1 знак., 06.09.2023 12:26, ссылка)
- Мануал доступен по ссылке из головного поста, качается очень
медленно - 34Мбайта - Evgeny_CD(06.09.2023 12:25)
- ДШ Evgeny_CD(1 знак., 06.09.2023 12:24, ссылка)
- В dsPIC-ах и PIC24 имеются инструкции вида add W0, [W1], [W2] . Это позволяет работать с массивами через указатели. Вероятно в
ARM-ах тоже имеется косвенная адресация. Вопрос состоит в том, как
написать на Си для ARM строку кода в некоем цикле так, чтобы он был
откомпилирован в инструкцию использующую косвенную адресацию, а не
загрузку данных в РОН, арифметику, выгрузку данных из РОНа. Пусть
это будет ранее упомянутая сумма, где W1 - указатель на массив A, my504(29 знак., 06.09.2023 11:52, ARM, полностью)
- Как уменьшить размер прошивки с GCC для risc-v? Ключ оптимизации
-Os выбран, опция -ffunction-sections в компиляторе и --gc-sections
в линковщике стоят, всё равно жирно получается. Peter_M(46 знак., 05.09.2023 10:48, ARM, полностью)
- [STM32MP2]. Cortex-A35. BGA 0.8 Evgeny_CD(2 знак., 29.08.2023 17:59, ARM, ссылка, ссылка, полностью)
- Жаль, что они взяли самое младшее ядро (в своем классе) Cortex-A35.
Надо читать, какие опции SIMD туда вкрячат. У всех 64 битных Cortex
SIMD 128 битый, 2 DP за за раз в том числе. Двухядерный камень,
полагаю, просто отменит простые DSP с таковой 500 МГц. - Evgeny_CD(29.08.2023 19:17)
- Ага, OpenSTLinux is provided with Microsoft Azure RTOS components,
enabling real-time performance. Но это может быть только в
отношении Cortex-M33 Evgeny_CD(1 знак., 29.08.2023 19:04, ссылка)
- Подробности. USB 3.0 тоже будет! Evgeny_CD(1 знак., 29.08.2023 18:54, ссылка)
- Ключевой момент - наличие PCIe 2.0. Значит, можно подцепить мост
PCIe <-> PCI 32 бита 66 МГц, и подцеплять дешевые
китайские FPGA GoWin, Efinix без трансиверов. И будет ваще круто! - Evgeny_CD(29.08.2023 18:44)
- Нам остается только надеяться, что документация будет столь же
подробная, как на STM32MP1. Это откроет дорогу достаточно массовому
использованию 64 битных RTOS. GPU под RTOS, конечно, не будет, да и
фиг ним. С NPU вопрос открытый. У NXP есть MCU с открытым
интерфейсом к NPU, можно писать и грузить свой код. Возможно, здесь
будет похожее. И тогда будет щастье :) - Evgeny_CD(29.08.2023 18:41)
- Linux 6.5 будет поддерживать - Evgeny_CD(29.08.2023 18:00)
- Вопрос про GCC по инициализации переменных в .bss и .data il-2(671 знак., 29.08.2023 13:41, ARM, полностью)
- JLink V8 от starterkit.ru + STM32H743. The firmware of the
connected debug probe (S/N : 58001333) does not support the
connected core : Cortex-M7. Please make sure that a current debug
probe model is used and it is running the latest firmware ... Можно
обновить прошивку? Или легко не отделаться? - Rainman62(29.08.2023 09:35, ARM, полностью)
- Производительность Cortex-M* на FFT Evgeny_CD(1 знак., 23.08.2023 12:59, ARM, ссылка, полностью)
- Вопросы от меня продолжаются. ))) Снова AT32F407. При одновременном
реквесте (от одного источника) двух каналов (стримов) ДМА возникает
какой то конфликт, из-за которого код улетает на зацикливание
(строка 359 стартап файла). ЧЯДНТ?: my504(1 знак., 22.08.2023 13:08, ARM, картинка, полностью)
- Какой смысл имеет предупреждение о невыравненном доступе, если
указатель приводится к uint8_t ? memcpy(p, (uint8_t*)&fl_buf[0].val.time[0],4); Функция может начать копировать пачками по 4 байта? - VLLV(21.08.2023 17:29, ARM, полностью)
- Еще вопрос по F407. Есть TIM4, который должен запускать TIM2 и
TIM5, но с разными задержками. Штатную межтаймерную синхронизацию я
запустил по цепочке TIM4CH2===>TIM5. my504(352 знак., 21.08.2023 14:37, ARM, полностью)
- Нашел... Я тотальный косяк. Короче. Объявил константу, адрес
которой писал в ДМА, как локальную - прямо перед строкой
инициализации адреса памяти в ДМА. Грешным делом полагал, что раз
это константа, то она все равно во флеше. Она и была во флеше,
только как то так, что ДМА в результате слала в периферию не 1, а
ноль.... - my504(21.08.2023 16:33)
- Там надо static. Без этого будет временная переменная в стеке. - SciFi(21.08.2023 16:38)
- Ага. Ещё рекомендую "volatile" добавить. Дескать, она изменчива, на
всякий случай перечитай из флеш заново. Но будет тормозить
исполнение доступом к памяти. - Nikolay_Po(21.08.2023 17:08)
- Компилерское volatile не должно влиять на растасовку по адресам,
чем занимается линкер. Если работало в частном случае, значит
где-то в скрипте или сам линкер чухал доп.атрибут и решал что надо
быть отнести данный адреск к той или иной области, в данном случае
FLASH. - RxTx(21.08.2023 18:48)
- Вредные советы. Читать из флеш будет DMA, и ему всё равно, напишете
volatile или нет. - SciFi(21.08.2023 17:10)
- Успех будет лишь в том случае, если адрес константы будет даден
правильный. А если вдруг компилятор решил (допустим, оптимизация на
скорость) оставить константу в ОЗУ? И даст контроллеру ПДП адрес из
ОЗУ, с которым тот не совладает? Volatile заставляет компилятор,
при обращении к константе, обращаться именно к флэш. А значит, и
адрес для ПДП будет взят и передан верный. - Nikolay_Po(21.08.2023 17:14)
- Это не так работает. В заповедях написано, что переменная static
живёт от начала работы программы и до конца. Если взят её адрес,
переменную нельзя выкидывать. Всё, больше там ничего нет. Вы просто
транслируете распространённые мифы. - SciFi(21.08.2023 17:18)
- ну, кстати, Николай интересные вещи говорит ) статик не означает,
что переменная обязательно во флэше расположится - 0men(21.08.2023 17:29)
- Так компилятор и не выкинет переменную (константу), и адрес
сохранит. Просто модифицирует адресную арифметику под ту область
памяти, куда ему удобно эту константу положить. К примеру, GCC с
-O3 -flto, может хранить константы в ОЗУ лишь потому, что для
чтения ПЗУ нужна особая процедура, увеличивающая время выполнения
кода (к примеру, в AVR). И я не мог заставить программу читать
серийный номер прямо из ПЗУ, до тех пор, пока не объявил константу
volatile. - Nikolay_Po(21.08.2023 17:25)
- Проверил еще раз. Нет, показалось. Адрес в ОЗУ. А если static, то
во флеше. Спасибо. - my504(21.08.2023 16:50)
- Но у меня был const uint16_t startTMR2 = 0x1; И ее адрес был во флеше - он начинался с 0x0800.... - my504(21.08.2023 16:43)
- Для начала проверить, что он стартует, если отладчиком туда
записать что надо. Может, банально тактирование на таймер не
подано. Или таймер неправильно сконфигурирован и не считает. - SciFi(21.08.2023 14:43)
- Вопрос по таймерам F407. Есть 3 канала шаговых движков работающих в
микростеппинге 1/256. Частота высокая. Ездят далеко, импульсов
много (больше 65536). Хочется генерить STEP-импульсы не программно,
а таймерами. Импульсы надо а) считать б) выдавать их с заданной
частотой (вообще в идеале переменной). Как вообще выдать N
импульсов в режиме Master-Slave таймерами понятно, и ST-шная
аппнота есть и др. Вопрос в том как подсчитать > 65536
импульсов? RxTx(792 знак., 21.08.2023 17:38, ARM, полностью)
- IAR ARM 9 хочет double вместо float например для fabs, и я так
понимаю по хэдеру math.h, что float остался только для С++. Что
вообще происходит с вещественными числами? Проект на 9 ИАРе для
CM0, проект на 7 ИАРе (где нет никаких предупреждений) для CM4,
бред какой-то получается. - VLLV(21.08.2023 16:04, ARM, полностью)
- Почему, когда я кладу в регистр DMA адрес порта или памяти:
DMA1_CHANNEL1->maddr = (uint32_t)adc_buf; IAR мне правую
сторону подчеркивает и говорит, что я запихиваю большее в меньшее?
Именно IDE IAR-a, не компилятор, тот варнинга не даёт. Всё, как в
примере, размер указателя я проверил, обычные 4 байта. - Idler(18.08.2023 18:36, ARM, полностью)
- Внезапно снова вопрос. STM32F407 (или AT32F407 - не имеет
значения). АЦП в режиме сканирования. Из рефмануала следует, что
при длине группы более 1 входа флаг готовности данных возникает
лишь один раз по завершении преобразования последнего входа из
группы. Вопрос. А как тогда загружать данные АЦП по предыдущим
входам? - my504(17.08.2023 14:39, ARM, полностью)