- МК должен отвечать по JTAG интерфейсу контрольной аппаратуре. Т.е.
нужно в МК сэмулировать JTAG - есть ли у кого опыт. Например через
SPI сэмулировать или только ногодрыгом ? - Ыyкпyш(07.07.2023 13:16,
, MCU, полностью)
- Подскажите, как у gcc (для stm32) автоматом можно в hex-прошивку
добавить её crc где-то рядом (по аналогии с IAR). - yни(08.08.2022 15:36, MCU, полностью)
- А можно как-то присвоение массива задаваемого размера(известного на
этапе компиляции) сделать на plain C, например - макросами? Dingo(255 знак., 04.07.2023 07:42, MCU, полностью)
- Есть простой вариант - положить массив внутрь структуры и спокойно
присваивать структуры друг другу как угодно. - LightElf(05.07.2023 15:58)
- Учите плюсы, ибо они рулез. VladislavS.(2 знак., 05.07.2023 15:42, ссылка, картинка)
- нашёл полный ответ на вопрос плpoывдлпo(136 знак., 05.07.2023 14:55,
, ссылка, ссылка)
- если много элементов не надо, можно такой говнокод использовать пpывпpyкeп(279 знак., 05.07.2023 13:58,
)
- Значения в массив должны попасть в рантайме или на этапе
компиляции? - VladislavS.(05.07.2023 13:23)
- в GCC int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 }; fdjhdskfjgh(1 знак., 05.07.2023 11:47, ссылка)
- Так ты же массив константами заполняешь. Tyмблep(251 знак., 04.07.2023 12:49)
- Спасибо всем ответившим! Я понял - так делать не надо! - Dingo(04.07.2023 12:44)
- типо токое? RED_DRAGON(279 знак., 04.07.2023 12:35 - 12:39)
- На что наткнулся: _Generic, доступно от С11 и выше. Dingo(1 знак., 04.07.2023 11:10, ссылка)
- Оффтоп. VVB(945 знак., 04.07.2023 10:32, ссылка)
- 1. Для "закатывания" бинарников в массив ЦЭ есть удобнейшая утилита
HxD. Кстати не только ЦЭ... 2. На этапе компиляции в Keil можно
заюзать утилиту командной строки "fcarm.exe ", которая создает
массив на ЦЭ из бинарника (любых файлов, ибо оно для
конвертирования WEB страниц в массивы C). Пользую такую для
автоматического обновления прошивок мелких устройств в прошивке
"жирных". Типа компильнул прошиву для MSP, При компиляции для LPC17
она автоматически обновляется... Гyдвин(2 знак., 04.07.2023 09:24, ссылка, картинка)
- -> il-2(363 знак., 04.07.2023 08:00)
- Если там все значения одинаковые, проще memset использовать или
подобное. А если разные, я, например, однострочником на bash
генерирую... - Eddy_Em(04.07.2023 07:48)
- Есть ли в наше время доставаемые МК с классическим Bluetooth
BR/EDR, для которых есть SDK и которые в перспективе не изчезнут из
продажи? il-2(258 знак., 05.07.2023 11:18, MCU, полностью)
- В ESP32 использовали классический Bluetooth, нормально работает, но
жрет порядка 100 мА. Кстати, если вдруг будете использовать ESP-AT
прошивку, то в готовых образах с оф. сайта классик режим может быть
отключен, нужно включить в конфиге и пересобрать. Если не МК, а
просто внешний модуль, то E104-BT20 (clasic) или E104-BT40 (classic
+ LE) от EBYTE - ценник в районе 300р. Из косяков только
невозможность поменять COD, если это принципиально, и пожалуй то,
что E104-BT40 serg_ja(56 знак., 05.07.2023 13:59)
- Модные РИСК-V CH32V208 c BLE5.3 - mse homjak(05.07.2023 11:35)
- +1 по поводу BEKEN. В ESP32 вполне рабочий BT. PS: Не MK, но весьма
понравился SPP чип KT6368A. В классическом режиме работает отлично.
Да и в BLE неплохо... Гyдвин(1 знак., 05.07.2023 11:34, ссылка)
- Здравствуйте. Может кто пробовал писать для 2=х ядер ESP32? Я
подошёл к этапу когда простая 1 петля уже не устраивает, со всякими
ОС не хочется связываться, может писать для 2=х будет проще? - тecт(03.07.2023 12:57,
, MCU, полностью)
- Фигня это все, по сравнению с мировой революцией. Два одинаковых
ядра - это скучно. LightElf(1 знак., 03.07.2023 22:39, ссылка)
- Дык пишите. Правда вам придётся разобраться как запустить второй
поток исполнения. В остальном вы можете рассматривать соседний
поток как прерывание и использовать те же методы синхронизации.
Только вместе с запретом прерываний нужно и соседний поток
останавливать. - =AlexD=(03.07.2023 13:34)
- Вот это давно болталось в показах. ХБЗ почему - но избегаю ардуино
от времени анонсирования. Впрочем, да, надо отдать медаль
маркетологам, да и вообще индустрии Цыган штоле. Но внятно
работает! и Этих, протрузий уже большинство! (90 % соисканий на
Freelancer.com начинаются с условия Ардуино). bnb62(1 знак., 03.07.2023 13:34, youtube)
- Внезапно! ESP32 двухядерная, а как же на ней работает ардуина? - IBAH(03.07.2023 13:13)
- Придется написать свою ось. Cкpипaч(29 знак., 03.07.2023 13:10)
- 2 ведра точно не проще. Параллельные потоки без оси делаются при
помощи Protothreads. Давным-давно только так и делаю. SciFi(1 знак., 03.07.2023 13:03, ссылка)
- Как в IAR запустить FreeRTOS в симуляторе? Я всегда писал шедулер
сам, но тут решили попробовать FreeRTOS. Не запустилась Попадает в
какие-то ловушки, связанные с опросом железа. Мы ловушки отключали,
пока не пришлось лезть в ядро. А в ядро я в трезвом уме и здравой
памяти лезть не буду. Поэтому вопрос: кто виноват и что делать? - st256(02.07.2023 10:21, MCU, полностью)
- как то мимо ушей пролетело... китайцы жгут - GD32H737/757/759.
читаю доку и вижу что кое где есть то чего нет в stm32h7xx - klen(30.06.2023 17:22, MCU, полностью)
- Помогите нерусей понять IBAH(551 знак., 22.06.2023 14:54 - 15:04, MCU, полностью)
- Господа-бояре, кто работал с интерфейсом внешней памяти у
STM32F407? Укажите дураку, запутавшемуся в 3 соснах, сигнал
FSMC_CLK это вход или выход? Не могу найти место в datasheet где
это явно указано. reZident(1 знак., 05.06.2023 15:42, MCU, ссылка, полностью)
- Кто как переходит из загрузчика в приложение (Cortex-M)? Хочу более
менее универсальный вариант, чтобы и стек настраивался, и чтобы для
разных компиляторов, и чтобы с включением/выключением прерываний
была определённость. Что нашёл кто как делает: yни(120 знак., 22.06.2023 08:30, MCU, ссылка, ссылка, полностью)
- И ещё один с magic'ом yни(1 знак., 22.06.2023 12:05, ссылка)
- мне кажется не получится, М0, М3, М4, М7 сильно разные. М0 не умеет
переопределять таблицу векторов, надо ее копировать в RAM, у других
не надо. М7 со своими шинами и кэшами, там вообще отдельная магия.
В общем делал под все, основа одна, но именно переход везде разный.
А еще от хранилища прошивки зависит, внутренняя флэш, внешняя и
т.д. - AVF(22.06.2023 09:59)
- Да, так и есть. В OpenBLT, например, есть отдельные порты под это
всё, но почему-то указатель стека не настраивается перед переходом,
хотя не всё смотрел. Не знаю задумано так или что. Ещё ищу способ
минимальных изменений в проекте приложения, чтобы удобно было
отлаживать. Думается, что всё-таки надо отлаживать совместно с
загрузчиком. В принципе, можно и без него, но тогда надо править
файлы, которые изменять не желательно. - yни(22.06.2023 10:07)
- Ещё один интересный вариант yни(1 знак., 22.06.2023 09:17, ссылка)
- вот так: SciFi(692 знак., 22.06.2023 09:15)
- Хочу в VSCode+STM32 при отладке прыгать на смещённую таблицу
векторов. Как это сделать по аналогии с CubeIDE, где можно в
проекте для конфигурации отладчика указать адрес таблицы (поле
Specify vector table (hex))? - yни(16.06.2023 12:08, MCU, полностью)
- Решил взяться за старую задачку. Пиковый детектор (асимметричный
ФНЧ), в целых числах без потери точности. Чем больше думаю на эту тему, тем больше прихожу к выводу что это
невозможно. IBAH(456 знак., 19.06.2023 18:17, MCU, полностью)
- Какая сволочь писала С-компилятор под IAR? st256(447 знак., 18.06.2023 12:39, MCU, полностью)
- не в тему, так, разглагольствования: кстати если вспомнить
ассемблер х86, то тоже вроде регистры общего назначения, но у
каждого таки свои функции были в контекстах команд - RED_DRAGON(19.06.2023 22:45)
- Думаю IAR следует рекомендациям ARM. При вызове функций, регистры
R0..R3 даются в пользование вызываемой функции. Они же используются
и для передачи параметров. Заботиться о сохранеинии этих регистров
должна вызывающая функция. - BlackMorda(19.06.2023 19:55)
- Help->Development guide->Assembler language interface - Bill(19.06.2023 08:08)
- Проблема возникает потому что в вызывающей функции в регистрах
лежали какие-то полезные значения, которые asm вставка или функция
перетерла. Все это можно переписать не замарачиваясь сохранением
регистров вообще. Для этого звать свой asm или какую другую
эзотерику вызовом отдельной void-функции. Между вызовами отдельных
void-функций, втч asm-кода ничего сохранять не надо, никаких
регистров. Компилятор не предполагает сохранение рон-ов между
функциями которые их не RxTx(11 знак., 18.06.2023 22:35)
- У верблюда спросили: почему у тебя шея кивая? - А что у меня
прямое? - В ответ спросил верблюд? - Kpoк(18.06.2023 21:16)
- Мнение насчет ABI от самого ARM. IAR, скорее всего, ни при чем. Evgeny_CD(1 знак., 18.06.2023 15:30, ссылка)
- Я заходя в прерывание не сохраняю регистры в стеке. За меня все
делает IAR. Sl(106 знак., 18.06.2023 15:18)
- "Читайте доки, они рулез" - LightElf(18.06.2023 14:31)
- Кто не в состоянии найти папку arm/doc/ или хотя бы кнопку
<F1> нажать? - ЫЫyкпy(18.06.2023 13:41)
- r11, r7 описаны как frame pointer, syscall number. хотя вроде как
по р12 general purpose registers. - RED_DRAGON(18.06.2023 13:26)
- Господа, делаем приблуду на FPGA. Заказчик требует туда вводить
данные на скорости 10Гбит/с. Я не согласен, считаю это завышенными
требованиями, по разным причинам. Например, что вразумительную
обработку на таких скоростях получить невозможно. Да и такой поток
данных с одного нормального процессора получить нельзя. Поправьте,
если ошибаюсь. - st256(15.06.2023 15:43, MCU, полностью)
- Ну например целеуказание о сверхзвуковой вундервафле. Почему нет? - max(15.06.2023 22:55)
- Разговор ни о чем. Необходимо озвучивать цели, задачи и камни. А
заказчику очень полезно приводить несколько существующих решений от
чего он отталкивается дабы исполнитель мог с ними ознакомиться и
понять почему скажем делают так а не иначе. - RxTx(15.06.2023 22:44)
- The AD9213 from Analog Device is a single 12-bit, 10.25 GSPS RF
analog-to-digital converter (ADC) with a 6.5 GHz input bandwidth. USSR(81 знак., 15.06.2023 21:19,
, ссылка)
- Задачи разные бываю , 10 Гб в 128 бит шину это 80 МГц, вполне можно
работать, но памяти надо много - garry_(15.06.2023 17:17)
- Несжатый видеопоток в разрешении 4K при 60 кадрах в секунду уже
вылазит за 10Гбит/с. А жмут его в реальном времени, в том числе и
софтверно. - LightElf(15.06.2023 17:04)
- радар с АФАР. либо слежение по видеокамерам за быстрым объектом. - Alex68(15.06.2023 16:37)
- без ТЗ бессмысленный разговор. Не оговорено что за входные данные,
входной физический интерфейс, вид обработки, допустимая задержка,
выходная информация и выходной интерфейс. можно расходиться. - Zoro(15.06.2023 16:11)
- А за FPGA что висит - intel core i3? - Eddy_Em(15.06.2023 15:46)
- Не могу совладать с опросом трёх АЦП. У МК есть только два SPI,
посему SS сделал дрыг-ногой. Хотелось бы использовать готовые
модули без изменений, но вот проблема - тактовые генераторы
отличаются частотой и nDRDY "плывут" по времени относительно друг
друга. то есть битовые маски могут быть 111, 101+010, 100+011(для
примера). Частота выставления готовности в несколько раз выше
требуемой частоты поступления сэмплов. Радикально - тактировать все
три АЦП от одного генератора. А Dingo(538 знак., 14.06.2023 11:58, MCU, полностью)
- Вариантов тьма. Ralex(782 знак., 14.06.2023 16:00)
- Частота выставления готовности в несколько раз выше требуемой
частоты поступления сэмплов. - т.е. оцифровка идет быстрее, чем требуется? О какой частоте
вообще идет речь? Может там и прерывания не нужны, все опросом
можно решить? - reZident(14.06.2023 12:05)
- Что за АЦП? Я командами PDN/SYNC по SPI синхронизировал. Увеличьте
время выборки, если частота готовности много больше требуемой. - Nikolay_Po(14.06.2023 12:02)
- ADS1255/56. Надо 2 кГц(или выше), встроенный мультиплексор успевает
только до ~1400 Гц переключаться. Сейчас пробую на "по умолчанию"
30 кГц, но похоже на то, что события слишком быстро
происходят/обработчик длинный. - Dingo(14.06.2023 12:09)
- Тю. В документации всё написано. По готовности последнего АЦП,
даёте команду на остановку SYNC всем сразу. Они затыкаются.
Переключаете каналы, хоть всем сразу, хоть поштучно командами
записи регистра мультиплексора. Когда переключения выполнены, даёте
WAKEUP, всем сразу. Всё, пошла синхронная выборка. И уже после этих
манипуляций, забираете от каждого камня его предыдущий резултьат
преобразования выборки. Повторяете. Nikolay_Po(259 знак., 14.06.2023 12:16)
- А потом в разнобой забираю данные? Тактовые не точно совпадают.
Хотя... При такой синхронизации срабатывание любого будет значить,
что к моменту завершения обработки прерывания будут все готовы. Вы
про это? - Dingo(14.06.2023 12:16)
- Только тайминги между команд соблюдайте. Там нужно вдумчиво
прочитать и разложить - местами, нужны существенные, относительно
тактовой SPI, паузы. - Nikolay_Po(14.06.2023 12:27)
- Да, плевать на тактовые модулей. Стартуем по команде, а не
автоматически. Забирать в разнобой. Лучше, всё же, по срабатыванию
последнего. А то дадите SYNC, когда он не завершил - и кто знает,
что будет с результатом. Впрочем, если кварцы нормальные, к концу
выборки разбежка будет в пределах 24% от одного внутреннего цикла
1/4 тактовой АЦП. Nikolay_Po(174 знак., 14.06.2023 12:23)