Obam 29 29 апреля, 2017 Опубликовано 29 апреля, 2017 · Жалоба Везёт Вам. У меня вот CM4, а в нём нету даже bitband :crying: И кто ж (в смысле производитель) это так зажмотился? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 29 апреля, 2017 Опубликовано 29 апреля, 2017 · Жалоба И кто ж (в смысле производитель) это так зажмотился? Infineon семейство XMC4000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 10 29 апреля, 2017 Опубликовано 29 апреля, 2017 · Жалоба И кто ж (в смысле производитель) это так зажмотился? В некоторых STM32 он пропал для GPIO, что заставило разочароваться и перестать использовать эту технологию. К тому же там есть некоторые подводные камни (работа с DMA, неявное чтение-модификация-запись). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 29 апреля, 2017 Опубликовано 29 апреля, 2017 · Жалоба В некоторых STM32 он пропал для GPIO, что заставило разочароваться и перестать использовать эту технологию. Для GPIO STM32 он не особо нужен - там есть свои возможности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 29 29 апреля, 2017 Опубликовано 29 апреля, 2017 · Жалоба В некоторых STM32 он пропал для GPIO, что заставило разочароваться и перестать использовать эту технологию. К тому же там есть некоторые подводные камни (работа с DMA, неявное чтение-модификация-запись). А в каком проце заявленный непрерывным мегабайт бит-бенда периферии имеет дырку? Ds-ов много, искать долго, не сочтите за труд подсказать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 10 29 апреля, 2017 Опубликовано 29 апреля, 2017 · Жалоба А в каком проце заявленный непрерывным мегабайт бит-бенда периферии имеет дырку? Ds-ов много, искать долго, не сочтите за труд подсказать... Например, в "RM0316 STM32F302xx, STM32F303xx and STM32F313xx advanced ARM-based 32-bit MCUs". Для GPIO выделена память, начиная с 0x4800_0000. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 29 апреля, 2017 Опубликовано 29 апреля, 2017 · Жалоба А в каком проце заявленный непрерывным мегабайт бит-бенда периферии имеет дырку? Что за дырка? В некоторых МК часть периферии находится в области алиаса bitband периферии, а часть - вне этого диапазона. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 29 30 апреля, 2017 Опубликовано 30 апреля, 2017 · Жалоба Что за дырка? В некоторых МК часть периферии находится в области алиаса bitband периферии, а часть - вне этого диапазона. Не дырка... ну не возможно объём всех ds знать. Считал (и опыт применявшихся кортексов М это подтверждал) что мегабайта на всю периферию "за глаза", а оказывается "чудики" чудят иногда, не соблюдая единообразие (; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 30 апреля, 2017 Опубликовано 30 апреля, 2017 · Жалоба Обычно было 2 bitband зоны - для переменных в ОЗУ и для периферийных битов. И не более. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 10 30 апреля, 2017 Опубликовано 30 апреля, 2017 · Жалоба а оказывается "чудики" чудят иногда А толку от этого bit-band? Все равно только ядро может им пользоваться. И уж если ногодрыжить, то иметь GPIO на шине AHB будет повыгоднее, чем на APB (APB2 у STM32F1xx). Возможно, за счет отказа от bit-band для GPIO удастся сэкономить какие-нить такты синхронизации шин, но в дебрях я не силен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 29 30 апреля, 2017 Опубликовано 30 апреля, 2017 · Жалоба Код кроме ядра некому исполнять (; и наличие возможности лучше её отсутствия. Стандартизация ещё никогда в production не вредила. "Сказал командир (читай - ARM) - "хорёк", значит ни каких сусликов." В конце-концов, могли бы этот "периферийский" мегабайт бит-бэнда и на AHB отобразить... а может и не могли... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 30 апреля, 2017 Опубликовано 30 апреля, 2017 · Жалоба Обычно было 2 bitband зоны - для переменных в ОЗУ и для периферийных битов. И не более. Да. И я, например, на практике пользуюсь только первым и то - очень мало. Так что ничего страшного в его отсутствии. На Infineon-е просто заменил все такие места на LDREX/STREX и всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 0 1 мая, 2017 Опубликовано 1 мая, 2017 · Жалоба Сваял ASRC, получилось примерно 4 такта на тап или 256тактов на один стерео сэмпл. До нормального DSP процессора далеко, но как для MCU вроде нормально. DWT помог с оптимизацией - удобный инструмент, особенно если тестовый пример грузить прямо в ОЗУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 1 мая, 2017 Опубликовано 1 мая, 2017 · Жалоба DWT помог с оптимизацией - удобный инструмент, особенно если тестовый пример грузить прямо в ОЗУ. Если посмотреть на структуру шинного коммутатора STM32F7, там ОЗУ сильно разное бывает. Я так понял, быстрее всего код выполняется из ITCM RAM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 0 1 мая, 2017 Опубликовано 1 мая, 2017 · Жалоба Если посмотреть на структуру шинного коммутатора STM32F7, там ОЗУ сильно разное бывает. Не столько само ОЗУ разное (если мы про внутренние ITCM/DTCM/SRAM1/SRAM2), сколько его подключение, что в конечном итоге вместе с особенностями программы по части использования этих шин другими мастерами влияет на скорость работы. Я так понял, быстрее всего код выполняется из ITCM RAM. Да, я в нее и грузил код, данные в DTCM. В реальном проекте код будет в ITCM или Flash памяти (посмотрю что будет с быстродействием), а данные в DTCM/Flash или DTCM/SRAM1, определюсь после тестирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться