Easyelectronics.ru

Электроника для всех
Текущее время: 20 июл 2018, 04:23

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 280 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12
Автор Сообщение
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 01 июл 2018, 19:45 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 40
Reflector писал(а):
RepStosw писал(а):
Как ещё быстрее можно для stm32f4 ?

Быстрее командами типа LDM/STM или VLDM/VSTM, в последнем случае вообще можно одной командой прочесть 128 байт в 32 регистра, а второй командой сохранить это все в другое место. Вот пример из реального проекта.

Обкатал код, работает:
Код:
memcpy128 PROC
                EXPORT memcpy128

      vpush {s16 - s31}                                        ; 17

z     vldm.32 r1!, {s0 - s31}                                  ; 33
      vstm.32 r0!, {s0 - s31}                                  ; 33
      subs.n r2, #1                                            ; 1
      bne.n z                                                  ; ~3 (taken)

      vpop {s16 - s31}                                         ; 17
      bx lr                                                    ; 1-3??

                ENDP

Код:
void memcpy128(void *destination,const void *source,int num);


Как подобным образом (какие инструкции Cortex M4 или VFP) можно залить буфер константой?
Аналог сишной memset(void* dst, char pattern, int num);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 02 июл 2018, 03:31 
Заглядывает иногда

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 108
Время сохранения регистров командой VSTM R0, {S0 - S31}

- в SDRAM = 50 циклов
- в DTCM = 16 циклов

Заполнение 8 мегабайт SDRAM командами STR и VSTM фактически одинаковое. Микросхема медленная.. Сейчас ещё раз прогнал тестовые коды, 8 мегабайт памяти заполняются со скоростью:

STR - 195 Мб/сек, 8Мб за 0,04098 сек.
VSTM - 201 Мб/сек, 8Мб за 0,03975 сек.

Ранее выходило ~180 мб/сек - ошибся в рассчётах! :D

Отсюда мораль: для этих камней очень и очень имеет смысл ставить 32-битную микросхему памяти! Скорость вырастет в 2 раза. 400 м/с должны быть достаточны каждому! :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 02 июл 2018, 12:57 
Старожил

Зарегистрирован: 19 апр 2016, 11:59
Сообщения: 296
LWW писал(а):
400 м/с должны быть достаточны каждому!
Вспомнилось про 640 КБ ОЗУ. http://lurkmore.to/640_килобайт


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 02 июл 2018, 14:01 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 40
RepStosw писал(а):
Как подобным образом (какие инструкции Cortex M4 или VFP) можно залить буфер константой?
Аналог сишной memset(void* dst, char pattern, int num);


Пока надумал типа такого:

mov r0,#1
mov r1,r0
mov r2,r0
....
stmia r8! , {r0 - r7}
...

Увы, массовой загрузки константы в регистры нету в АРМах :( И это больно, потому что r0-r15 - нарасхват и прийдётся вырывать их у компилятора. С s0-s15 было бы красивше


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 10 июл 2018, 23:22 
Заглядывает иногда

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 34
Откуда: Киев
Что-то мне подсказывает что ПДП вы не обгоните. Особенно в H7 с его раздельными шинами.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 280 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB