Поздравляем Pycтaм с днём рождения!
- Кто нибудь делал на массиве MEMS микрофонов остронаправленный HiFI
микрофон с изменяемый диаграммой направленности? - Make_Pic(13.09.2020 22:07, SCH, полностью)
- Совсем-совсем ипанутая идея. Звуковой интерферометр. Evgeny_CD(163 знак., 20.09.2020 23:33)
- Органный микрофон, многотрубчатый микрофон - Evgeny_CD(16.09.2020 23:47, ссылка)
- Design TIP от ST, там в конце скрипты для матлаба, для симуляции: - fk0(16.09.2020 17:07, ссылка)
- Революционная идея с параболическим зеркалом не катит? - Kpoк(16.09.2020 15:59)
- нужна компактность - Make_Pic(16.09.2020 16:14)
- Ширина диаграммы направленности определяется размерами антенны ( и
длиной волны). Хоть тресни. Так что эта отмазка не проходит. - Kpoк(16.09.2020 16:27)
- Есть "антенные решетки осевого излучения" (endifre array). Они
реагируют на градиент давления. Размер должен быть меньше длины
волны (потом начинаяется "гребенка" в АЧХ, из-за фазы), что
подходит преимущественно для низких частот. Для звуковых частот
размеры нужны порядка пары сантиметров. А какой там градиент будет?
Никакой. Надо больше разносить. fk0(626 знак., 16.09.2020 16:55)
- В радио-диапазоне применяют антенны типа "волновой канал". Это те
же самые "антенные решетки осевого излучения". Xaoc(4 знак., 16.09.2020 18:49,
, ссылка)
- Вон тут по-моему в деталях, патент на такой массив у которого
диаграмма направленности перестаёт быть частотно-зависимой: fk0(9 знак., 16.09.2020 17:36, ссылка, ссылка)
- Аппнота от AD AN-1140, и там была ссылка на программу для обсчёта
характеристик: fk0(16.09.2020 17:26, ссылка, ссылка)
- У Компела недавно статья была про STM32G: модуль обработки PDM
входов и управление диаграммой. Точно не помню сколько каналов, 8
или 16, там еще цифровые фильтры по всем каналам внутри модуля. - Visitor(14.09.2020 19:52)
- Аппнота по теме (без особых деталей): fk0(11 знак., 14.09.2020 13:46, ссылка, ссылка)
- Все уже украдено до нас. Nuvoton ISD94100. - CADiLO(14.09.2020 11:50, ссылка)
- Ну Stelberry, например, делал. Вопрос в том, что ты считаешь
массивом, HiFi и остронаправленным. - BlackPrapor(14.09.2020 07:13)
- Кто делал тебе должны всё рассказать? А если никто не делал -- и ты
не будешь? fk0(166 знак., 13.09.2020 23:29)
- Обязательно МЕМС? Пьезокерамика не подойдёт? - Kpoк(13.09.2020 22:47)
- я про такое думал Mahagam(165 знак., 13.09.2020 22:12)
- Протесты. Очень толковая статья на эту тему Cкpипaч(287 знак., 14.09.2020 20:41, zen, ссылка, полностью)
- Завязывайте! Прочитал заголовок темы "Про тесты. Очень толковая
статья на эту тему". Думаю про программно-аппаратное тестирование.
А тут такое... - IBAH(17.09.2020 13:37)
- Мой любимый вопрос о википедии.Достаточно почитать там "выборы в
беларуси" и все ясно ху есть ху.И это у них постоянно.Почему эту
го...к..бля.. в россии не запретят?Для меня загадка.Шо нельзя
сделать российскую энциклопедию?Денег жалко?Или руки не дошли. - PlainUser(17.09.2020 10:10)
- Думаю что единственно что фундаментально измениться там в случае
смены режима Дoктyp77(91 знак., 17.09.2020 08:12,
)
- Песня про_тесто :). 1987 год однако, на ура песня была встречена,
т.к. большинство так же думало, но боялось сказать. Мне
простительно - тогда еще малолетним ребенком была, но вы-то должны
помнить те времена? Одно только слово "протест" говорить вслух
опасались, не то что на антиправительственные митинги ходить. А
теперь что? Хотите, чтобы те порядки снова вернулись? А ведь всё к
тому идет семимильными шагами. - Kceния(16.09.2020 21:15, youtube)
- В 87 я как раз был в учебке, что Мулино. Ну и холодище было тогда.
Ну порядок еще был. «δὶς ἐς τὸν αὐτὸν ποταμὸν οὐκ ἂν ἐμβαίης» ...
«нельзя дважды войти в одну и ту же реку»... И это твое ютюбе идет
коту под хвост, никто не ссал тогда протестувать, и майданить...
"т.к. большинство так же думало, но боялось сказать." Пиздешь
чистой воды. Это хуета навязывалась сверху, принудительно. Из всех
утюгов неслось. В укрорейхе Аваков курирует, в СССР это был Юрий
Андропов. - max(17.09.2020 01:33)
- Тогда такого вал был, гораздо более талантливого и цепляющего.
Перемен в 1986 исполнили. ASDFS(128 знак., 16.09.2020 22:50)
- Унылая и неоригинальная подмена понятий. Народ НЕ ХОЧЕТ
"протестов". Народ хочет еды, зрелищ, еще фигни разной. И немножко странного. Но не "протестов". Cкpипaч(479 знак., 16.09.2020 22:03)
- Уже лет 20, как идёт. Это как загнивающий запад -- гниёт-гниёт, и
никак не сгниёт :-) - SciFi(16.09.2020 21:38)
- Грамотная статья (чувствуется профессиональное перо) завлекающая
юных максималистов под танки.Наверняка работает. - PlainUser(16.09.2020 21:03)
- Искал там что-нибудь толковое. Не нашёл. Задорная кричалка, для
болельщиков сгодится. - SciFi(14.09.2020 20:48)
- Попробовал распаять плату на газовой плите. Использовал крышку от
DVD привода. Она тонкая и выгибается. Какая толщина стали
достаточна? - BlackMorda(18.09.2020 08:39, Tech, полностью)
- Грех не выпить. С новым годом. kaf1(32 знак., 18.09.2020 15:32, Off, ссылка, полностью)
- Чем дальше тем любопытственнее. Глубока ли кроличья нора. Codavr(166 знак., 12.09.2020 19:45, Off, ссылка, полностью)
- Небоись к Навальному щас подселят в палату харьковского Гепу с
коронавирусом. - Boвa(20.09.2020 15:53)
- Интересно, сколь ещё надо отравить неароду новичком или взорвать
белый дом в Америке _nn(34 знак., 18.09.2020 10:15,
)
- Евросоюз санкции готовит за Навального , и собирается назвать типа
закон Навального _nn(202 знак., 17.09.2020 14:09,
)
- Олег Лурье пишет: "Свой – чужой. В чем разница между Навальным и
Марцинкевичем-Тесаком." =L.A.=(3472 знак., 17.09.2020 13:48)
- Опять новичок? _nn(16 знак., 17.09.2020 09:39,
, ссылка)
- Сайт ua - это не стоит даже читать. - Evgeny_CD(12.09.2020 20:28)
- Довольно давно понадобился логарифм без плавучки, сделал двоичный
логарифм с дробной частью, берущейся из таблицы. Оказывается, есть
ловкий способ получать дробную часть умножениями, одно умножение --
один бит >>> SciFi(596 знак., 20.09.2020 11:08, dao, ссылка, полностью)
- Эмуляция (не полная) STM32 в QEMU. Документации толком нет, ничего
непонятно (как, например, работает UART?) Там же по ссылке
утверждается, что для Pebble watch фирма делала более полный
эмулятор и всё пошло прахом. fk0(238 знак., 13.09.2020 18:58, dao, ссылка, полностью)
- Какие платки из "недорогих Алишных" имеют выход LVDS (на ЖК-дисплей, такты + 3 линии данных), Ethernet и пару-тройку GPIO? - Точка опоры(01.09.2019 20:13 - 21:05, Cyber, полностью)
- Закон Мура мёртв - да здравствует закон Хуанга! General(35 знак., 19.09.2020 23:06, Off, ссылка, ссылка, полностью)
- А не встречал ли кто на Али (или еще где) дешевого отладочника для
кручения BLDC мотора микроконтроллером? (на подобии ATAVRMC100)
Хочется поэкспериментировать с безсенсорными алгоритмами, но пока
не хочется под это городить собственную плату. - AlexG(19.09.2020 10:14, dao, полностью)
- Посмотрел Джангирова, на тему предстоящих в США выборов.
Понравилась метафора: "Противостояние консерваторов и либералов это
противопоставление формулы "закон и порядок" формуле "свобода и
справедливость". Cкpипaч(881 знак., 18.09.2020 23:31 - 19.09.2020 10:41, zen, полностью)
- ЦАП то работает, то нет. В чем причина? Kceния(1117 знак., 17.09.2020 03:26, ARM, полностью)
- Вот же от ST пояснение - Alt@ir(18.09.2020 15:02, ссылка)
- В линкере пропишите: lexxx-lexxx(250 знак., 17.09.2020 15:57)
- Приведение к (uint32_t *) доставляет - Vit(17.09.2020 09:17)
- Уже обращала внимание. Кубистам следовало выставить у функции
запуска тип указателя void*, т.к. подставляют туда указатели на
массивы с разной длиной элемента, а длина элемента задается в
параметрах DMA (DAC_ALIGN_8B_R или DAC_ALIGN_12B_R) в зависимости
от выбранной разрядности DAC. А так действительно код выглядит, как
ошибка. - Kceния(17.09.2020 10:41)
- Ставить void* не корректно в данном случае. Дело в том, что у dma в
stm32 есть такой параметр, как "размер транзакции", который может
быть равен 8, 16, 32 бита + есть ещё режим burst. Указатель на
uint32_t в параметрах может быть намеком на реализацию данной
функции. evgeniy1294(177 знак., 17.09.2020 11:30)
- Не поможет. В этом чипе DMA не может работать с этой областью
памяти. - VladislavS.(17.09.2020 13:21)
- Полагаю, что DMA тут ни при чём. Классический пример - memcpy -
намекает, что должен быть void*. - Vit(17.09.2020 11:43)
- Не нужно путать memcpy с копированием по dma, оно по разному
работает. Насколько мне известно, компиляторы умеют оптимизировать
memcpy, чтобы, например, копировать словами, а не байтами. evgeniy1294(67 знак., 17.09.2020 12:00)
- Не понял логики. Именно поскольку DMA может разный размер
транзакции иметь и разную разрядность входных данных, то лучше
void* , а еще лучше const void* , поскольку DAC и из флеша может
брать данные. - Andreas(17.09.2020 12:35)
- Логика в том, что автор функции подразумевает, что транзакция dma
настроена на 32 бита. Указатель на void может, например,
использоваться как указатель на контекст в колбэках. Потому что
автором колбэка являетесь вы, и вся ответственность за корректное приведение типов лежит на
вас, а не на авторе библиотеки. - evgeniy1294(17.09.2020 19:32)
- const void* имеет другой смысл, а именно, функция обязуется не
менять объект по этому указателю. И она таки не меняет, так что да,
можно добавить const. - SciFi(17.09.2020 12:50)
- Не нужно путать работу DMA с заданием формальных и передачей
фактических параметров в функцию. Сначала должно работать без
всяких оптимизаций. И если дальше кастится по-разному, да ещё и
аппаратное прибитие, то оно по-любому есть место для граблей, но
это не значит, что грабли нужно ещё и на входе расставлять.
HAL-о-строители ещё и, по идее, надеются на годный align, но они ж
смелые - им можно - Vit(17.09.2020 12:21)
- Данные могут быть до сих пор в кеше, а не в оперативке. Поставить
барьер данных пробовали? - lloyd(17.09.2020 09:01)
- Дополню, что там с выравниванием данных по секциям? Можно с ним
"поиграть". - Дoктyp77(17.09.2020 07:20,
)
- На H7, во-первых, могут быть недоступные для DMA области.
Во-вторых, могут быть игры с кешированием. - VladislavS.(17.09.2020 07:18)
- Да, что-то в этом роде, т.к. тот же код работает на STM32F103 и
STM32F407, и только на STM32H743 у DMA пропадает доступ к ОЗУ.
Где-то в нем секьюрити зарыта, которую неясно, как отменить. - Kceния(17.09.2020 07:23)
- Проверила MPU (memory protection unit) - у меня он выключен. - Kceния(17.09.2020 09:11)
- Посмотрите в map-файле в какую SRAM линкер разместил этот массив.
Затем по RM в Table 3. Bus-master-to-bus-slave interconnect
проверьте может ли туда DMA добраться. Я бы с этого начал. - VladislavS.(17.09.2020 08:50)
- У меня одна SRAM - по адресу 0x2000. Да у меня и массивов-то кот
наплакал - 16 байт. - Kceния(17.09.2020 08:52)
- А теперь посмотрите Table 7. Memory map and default device memory
area attributes. 0x2000 это DTCM, до которой у DMA руки коротки
дотянуться. - VladislavS.(17.09.2020 09:26)
- Вот кстати да, в H7 перекроили memory map, классически SRAM идет с
адреса 0x2000'0000, а в H7 c 0x3000'0000. Сразу возникает вопрос,
"как оно туда попало?". Нужно в скрипте линкера смотреть, куда
релоцируется секция data. - evgeniy1294(17.09.2020 11:55)
- Ваша идея была хороша, но к сожалению она не проходит. Загрузчик
(читать память он тоже умеет) показывает наличие RAM лишь в области
0x20000000-0x2001FFFF и нигде больше. Даташит с этим согласен, с
той лишь разницей, что области, обведенные красным контуром,
загрузчик не читает. Кроме того, объем этих областей маловат, чтобы
размещать в них сегмент данных, а тем паче стек. Да и для самого
этого MK даже реклама больше, чем 128К RAM, не обещает. Причем, все
они находятся Kceния(116 знак., 18.09.2020 00:10, картинка)
- Почитать в reference manual про DMA. Предположу, может выравнивание
нужно? - Dingo(17.09.2020 07:11)
- Попробуйте volatile для буфера. - Dead_morose(17.09.2020 06:29)
- Веб-нотификации: Я думаю это интересная тема, и её нужно вынести в отдельный
топик. Я так же прошу кого-то кто разбирается в теме накидать
толковых ссылок (lloyd?) Итак, как работают нотификации в
браузере: fk0(3105 знак., 18.09.2020 12:07, dao, ссылка, ссылка, полностью)
- position independent code ! Вынес в отдельную тему если получится
всем будет полезно! у линкера armlink есть параметры (--fpic и
--bare_metal_pie) Aleksey_75(388 знак., 15.09.2020 15:33, dao, полностью)
- ПОБЕДА! Подробности Aleksey_75(682 знак., 18.09.2020 22:49)
- Фигня полная. В памяти могут быть релоцируемые полуслова, например.
Или хуже того, что-то такое, у чего выравнивание зависит от адреса.
Т.е. условно легло оно на границу кратную 256 -- так и лежит. А
если положили на не кратную -- самоподтягивается вверх до кратной
256. Что будешь делать? Я конечно понимаю, что компилятор генерит
меньшее многообразие, чем позволяет ассемблер, но не полагался
бы... Потому набор релокаций для динамических библиотек сильно уже,
чем для fk0(34 знак., 18.09.2020 23:41)
- При помощи лома и какой-то матери :-) - SciFi(18.09.2020 22:57)
- Угу! Но мне нужно было само понимание, я его получил! Описаний на
этот счет фактически нету! - Aleksey_75(18.09.2020 23:02)
- Такая методика широко известна, для тех кто сталкивался с 8-битными
игрушками прибитыми к полу. Но так же известно, что она
малоприменима на практике. Ещё доисторический M80 в CP/M умел
генерировать таблицу релокаций, причём лучше (чем вот так)...
Вообще я не совсем понимаю, как ты сможешь разделить .text и .data,
в смысле избавиться от фиксированного смещения между ними.
Допустим, ты по адресу понял, что относится к .text, что к .data и
при загрузке каждый сегмент fk0(522 знак., 18.09.2020 23:52, ссылка, ссылка)
- У мну вопрос! либо действительно никто подобным не занимался?? или
просто заподло дать волшебного пенделя в правильном направлении ? - Aleksey_75(17.09.2020 23:12)
- Докладываюсь! Времени сегодня на это не было , пару часиков
поковырял! вроде все понятно , не очень понятно (точнее совсем не
понятно!) по двум Aleksey_75(240 знак., 17.09.2020 12:17, картинка)
- Взять GCC и выкинуть что там у тебя, компилятор проф. уровня. Я не
понимаю чем не устраивает GCC. Кроме "там редактор некрасивый". - fk0(15.09.2020 22:23)
- а можно пример как это делается в GCC ?? я с
DYNAMIC_RELOCATION_TABLE фактически разобрался, осталось понять как
определить что переменная в озу. Прога вписывания новых адресов
получается копеечная - Aleksey_75(15.09.2020 22:26)
- Да, с глобальными и статическими переменными засада в гцц. Andreas(141 знак., 15.09.2020 23:26, ссылка)
- Тебе ж LightElf давал ссылку на загрузчик ELF'ов. Кто у кого
скопипастил я не разобрался, сам разбирайся. Там что-то кода много
накручено, можно проще. В конечном счёте нужно записать в нужное
место flash секцию .text, скопировать .data в ОЗУ (и каждый раз при
старте), занулить .bss, потом пробежаться по таблице релокаций и
пофиксить релокации в .data, потом пробежаться по таблице символов
и зарезолвить неизвестные символы (что модуль вызывает из твоей
программы). Заодно fk0(651 знак., 15.09.2020 22:41, ссылка, ссылка)
- по моему elf тащить в прошу потом парсить занятие неблагодарное,
для фалов (ниже) которые весят 408 байт, а elf весит 2кб! - Aleksey_75(15.09.2020 22:49)
- А как, интересно, такие файлы что-то умудряются делать, ну основное
что им нужно, подумалось -- это же C-библиотека. Какой-нибудь там
strlen() вдруг понадобился. Или хуже того, malloc. Получается тебе
её нужно в основной программе, бутлоадере, иметь, и предоставлять
из неё все возможные функции (а не только нужные самой основной
программе). - fk0(16.09.2020 12:05)
- хотя! кто мешает на уровне make парсить elf и прилепить к проше
свою структуру чего куда пихать, даже макросы можно влупить.. Хм!
завтра если не
побежу побежду разломаю , то займусь этим вариком))) - Aleksey_75(16.09.2020 00:06)
- Где бы найти внятное описание DYNAMIC_RELOCATION_TABLE, пока
методом научного тыка разобрал следующее, сначала идут сдвиги на
адреса используемых в модуле указатели(адреса), в свою очередь
которые содержат адреса вызовов (в пределах модуля)! С переменными
в Озу пока полный тупик! - Aleksey_75(15.09.2020 22:15)
- Это ищите? Dingo(194 знак., 15.09.2020 17:03, ссылка, ссылка)
- gcc нормально компилит с -fpic. Но я небольшие патчи с ним
компилил. - Andreas(15.09.2020 16:08)
- И что, мануал молчит как рыба об лёд? - SciFi(15.09.2020 16:03)
- Красота General(1 знак., 18.09.2020 20:54, SCH, ссылка, картинка, полностью)