jcxz
Свой-
Постов
13 210 -
Зарегистрирован
-
Посещение
-
Победитель дней
31
jcxz стал победителем дня 8 апреля
jcxz имел наиболее популярный контент!
Репутация
187 Очень хорошийИнформация о jcxz
- Сейчас Просмотр темы: Генератор случайных чисел на STM32
-
Звание
Гуру
- День рождения 01.12.1974
Контакты
-
ICQ
Array
Информация
-
Город
Array
Посетители профиля
27 816 просмотров профиля
-
И не нужно ничего прибивать гвоздями к фиксированным адресам.
-
Для MPU нет никакой необходимости в: Как уже писал выше. Помещаем все такие переменные в секции называемые например ".dma", а в командном файле компоновщика говорим "компоновать эти секции в регион ОЗУ с установленными как надо атрибутами MPU". Всё.
-
Ещё раз повторю вопрос: Где именно вы включаете это самое "кеширование"??? Или речь про атрибуты MPU? Включения кеша флеша или кеша внутреннего ОЗУ? PS: Если речь про разные регионы ОЗУ с различными атрибутами MPU, то можно создать отдельно регион обычной ОЗУ (с включенным битом "cacheable") и отдельно - регион с выключенным атрибутом "cacheable" для DMA. И скомпоновать во 2-й все секции ОЗУ с которыми работает DMA. Я именно так и делаю в своих проектах. И не прибиваю никаких переменных гвоздями к фиксированным адресам ОЗУ в командном файле компоновщика.
-
Какое "кеширование памяти" для внутреннего ОЗУ МК? На кой оно сдалось в STM32? И как вы его собрались включать? И о каком STM32 вообще речь? В каком STM32 это необходимо?
-
Т.е. - это вы сознательно лукавите? Рассказывая о цене 100р и "забывая", что нужно ещё потратиться на замену присланной некондиции, переделку плат (может неоднократную), потерянное время, потерянную репутацию у заказчиков (а была ли она вообще?) и т.д.? А если завтра эти "норм" сдохнут? Потому, что некондиция, но такая, что сразу не проявляется?
-
Причём тут куб, если это ваш командный файл? Почему не описать один единый регион ОЗУ: RAM(xrw) : ORIGIN = 0x20010000, LENGTH = 192K /* SRAM1 (192k) */ И скомпоновать все RW-секции данных в него? И для Ethernet и для DMA и пр. DTCM - отдельный регион: RAM(xrw) : ORIGIN = 0x20000000, LENGTH = 64K /* DTCM (64k) */ В DTCM-регион можно скомпоновать стеки задач.
-
Во-первых: определения региона RAM и последующих RAM_ETH_DMA_RX, ... - перекрываются. Разве такое допустимо? Во-вторых - на кой заниматься закатом солнца вручную распределением ОЗУ вручную? Командный файл линковщика предназначен не для этого. Нормальная практика: задать все массивы в файлах исходного кода, а в командном файле линковщика описать только регионы памяти. И правила распределения скомпилированных секций по этим регионам. У вас же всё сделано через одно небезъизвестное место. Теперь пытаетесь бороться с проблемами, которые сами же и создали.
-
Генератор случайных чисел на STM32
jcxz ответил mplata тема в Математика и Физика
У Вихря Мерсенна период намного больше = 4,3•106001 -
Тогда - компактное реле. Гуглите "поляризованное реле" или "bistable relay".
-
Генератор случайных чисел на STM32
jcxz ответил mplata тема в Математика и Физика
Почему? Причём тут "помеха от работы какого-либо узла платы"? Речь шла об использовании например теплового шума какого-либо элемента (резистора, диода или схемы на их основе). Достаточно чтобы непредсказуемо шумел хотя бы один младший бит в данных АЦП. Впрочем - и штатные (уже имеющиеся) измерения каких-то напряжений через АЦП тоже подойдут - ведь в них наверняка тоже есть хотя бы один шумящий разряд. Дальше - накапливаем этих данных как можно больше и считаем от них CRC или хеш нужной длины (равной требуемому размеру случайного числа). Всё. У ГПСЧ проблема не в повторе какого-то числа, а в том что при одном и том же стартовом seed, последовательность будет одна и та же. Если это не проблема в задаче ТС, то можно его использовать. Если вам подойдёт псевдослучайное, то можно попробовать "Вихрь Мерсенна": https://ru.wikipedia.org/wiki/Вихрь_Мерсенна Это вроде как очень хороший алгоритм ГПСЧ. Есть его си++ исходники (вроде как): https://www.boost.org/doc/libs/1_49_0/boost/random/mersenne_twister.hpp -
Генератор случайных чисел на STM32
jcxz ответил mplata тема в Математика и Физика
У моего варианта вряд-ли возможно гарантированное повторение последовательности с некоторым периодом. Что характерно для любого генератора ПСЧ. Только если уж руки совсем кривые, что не смогли построить адекватную схему генератора шума на входе АЦП. Т.е. - с моим вариантом нужно ещё "постараться", чтобы он стал псевдослучаен. А вот различные математические алгоритмы - гарантированно псевдослучайны. Хотя период их может быть достаточно большим. -
Генератор случайных чисел на STM32
jcxz ответил mplata тема в Математика и Физика
Это будет псевдослучайная последовательность Автору же вроде нужна случайная. Ни на каком хеше или алгоритме генератор случайных не построить. Только на аппаратном источнике шума. -
Генератор случайных чисел на STM32
jcxz ответил mplata тема в Математика и Физика
Тогда изучать работу АЦП в своём МК и строить генератор на нём. -
Генератор случайных чисел на STM32
jcxz ответил mplata тема в Математика и Физика
User manual на ваш STM32. Раздел "Генератор случайных". -
Плохо ищете. Я давно использую S70FL01GS на 1Гбит. Но есть и больше. Не обязательно. Есть и NOR.