реклама на сайте
подробности

 
 
> High Speed USB Cortex M0-M3
pofikus
сообщение Apr 7 2011, 19:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-12-10
Пользователь №: 61 494



кто нибудь реально выпускает Cortex M0 или M3 с High Speed USB или надо ждать LPC1800?

Сообщение отредактировал pofikus - Apr 7 2011, 19:18
Go to the top of the page
 
+Quote Post
9 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
aaarrr
сообщение Apr 7 2011, 20:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



А что нужно - device, host или OTG?

Вообще же есть у ST (STM32F2xx) и Atmel (SAM3U).
Go to the top of the page
 
+Quote Post
*rust*
сообщение Apr 7 2011, 20:10
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 109
Регистрация: 19-01-11
Пользователь №: 62 335



Atmel выпускает серию SAM3U и в них реально High Speed USB. в библиотеке к ядру есть много примеров реализации USB, в том числе и MSD.
Go to the top of the page
 
+Quote Post
pofikus
сообщение Apr 7 2011, 20:19
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-12-10
Пользователь №: 61 494



Цитата(aaarrr @ Apr 7 2011, 23:01) *
А что нужно - device, host или OTG?

Вообще же есть у ST (STM32F2xx) и Atmel (SAM3U).



достаточно device...

надо будет посмотреть в сторону STM32.... Atmel уж очень ненадежный sad.gif

кстати.... никто не пробовал Kinetis?


Цитата(aaarrr @ Apr 7 2011, 23:01) *
А что нужно - device, host или OTG?

Вообще же есть у ST (STM32F2xx) и Atmel (SAM3U).



STM32F2xx -> Для реализации скорости в 480 Мбит/с необходим внешний высокоскоростной трансивер, подключаемый через ULPI.

Сообщение отредактировал pofikus - Apr 7 2011, 20:19
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 7 2011, 20:38
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(pofikus @ Apr 8 2011, 00:19) *
STM32F2xx -> Для реализации скорости в 480 Мбит/с необходим внешний высокоскоростной трансивер, подключаемый через ULPI.

Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.

А атмел испек довольно хороший процессор, пока что достойных альтернатив у конкурентов не наблюдается.
Go to the top of the page
 
+Quote Post
pofikus
сообщение Apr 7 2011, 20:58
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-12-10
Пользователь №: 61 494



Цитата(aaarrr @ Apr 7 2011, 23:38) *
Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.

А атмел испек довольно хороший процессор, пока что достойных альтернатив у конкурентов не наблюдается.


да Atmel делает хорошие процессоры только потом резко прекращает их выпускать и начинает производить новые и еще лучшие sm.gif
Go to the top of the page
 
+Quote Post
pofikus
сообщение Apr 7 2011, 22:43
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-12-10
Пользователь №: 61 494



Цитата(*rust* @ Apr 7 2011, 23:10) *
Atmel выпускает серию SAM3U и в них реально High Speed USB. в библиотеке к ядру есть много примеров реализации USB, в том числе и MSD.


бегло просмотрел SAM3U.... вроде как раз то что нужно.... а так не хотелось возвращаться назад к Atmelу....
Спасибо!
Go to the top of the page
 
+Quote Post
topkin
сообщение Apr 8 2011, 05:22
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(aaarrr @ Apr 8 2011, 00:38) *
Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.

А атмел испек довольно хороший процессор, пока что достойных альтернатив у конкурентов не наблюдается.


И что же такое "испек" ATmel чего нет у NXP, TI, ST? Номенклатуру из 9 чипов?
А чипы доступны? Срок поставки?
Go to the top of the page
 
+Quote Post
Shuuura
сообщение Apr 8 2011, 05:57
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 23-08-05
Пользователь №: 7 902



Цитата(aaarrr @ Apr 8 2011, 00:38) *
Ну, это, пожалуй, не проблема - они доступны. Корпус только лишний.


Можно пример доступного чипа?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 8 2011, 09:03
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(topkin @ Apr 8 2011, 09:22) *
И что же такое "испек" ATmel чего нет у NXP, TI, ST? Номенклатуру из 9 чипов?

У NXP, TI, ST есть контроллер на базе Cortex-M с HS USB?

Цитата(topkin @ Apr 8 2011, 09:22) *
А чипы доступны? Срок поставки?

Доступны. Сроками можете поинтересоваться у своего поставщика, я ими не торгую.

Цитата(Shuuura @ Apr 8 2011, 09:57) *
Можно пример доступного чипа?

TI, SMSC, NXP. Возможно, вы их не найдете в ближайшем ларьке, но заказать образцы и потом партию проблемы не составляет.
Go to the top of the page
 
+Quote Post
etoja
сообщение Apr 8 2011, 09:16
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Цитата(pofikus @ Apr 8 2011, 00:19) *
достаточно device...
надо будет посмотреть в сторону STM32.... Atmel уж очень ненадежный sad.gif
кстати.... никто не пробовал Kinetis?


LPC1343 имеет на борту USB 2.0 full-speed device controller with on-chip PHY. 90 рублей в розницу в Собянинске.

Серийных кинетисов ещё нет в природе.

Атмел - только выбросить.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 8 2011, 10:02
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Full и High - это как бы две очень большие разницы.
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 8 2011, 10:07
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



По-моему Cortex-ы до High-speed USB еще не доросли. Реальные устройства HS USB-device на CY7C68013A делают.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 8 2011, 10:14
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(rezident @ Apr 8 2011, 14:07) *
По-моему Cortex-ы до High-speed USB еще не доросли. Реальные устройства HS USB-device на CY7C68013A делают.

Простите, а реальному устройству обязательно надо использовать всю полосу шины? Кому-то скорость MSD, например, в 5Мбайт/с принесет огромное облегчение после 1Мбайт/с на full speed.
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 8 2011, 10:27
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(aaarrr @ Apr 8 2011, 16:14) *
Простите, а реальному устройству обязательно надо использовать всю полосу шины?
Дык от задачи конечно зависит. laughing.gif Но тут пока вроде возможности, а не потребности обсуждаются. Или нет?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 8 2011, 10:30
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Вот из вашего поста и получается, что кортексы до получения этой возможности не доросли. С чем я категорически не согласен. Так можно и 100M EMAC упразднить, дескать, не доросли, пусть на 10M пока поработают sm.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 8 2011, 10:37
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(aaarrr @ Apr 8 2011, 16:30) *
Вот из вашего поста и получается, что кортексы до получения этой возможности не доросли.
"Дорастут" когда Cortex-M4 реально выйдет sm.gif
Цитата(aaarrr @ Apr 8 2011, 16:30) *
С чем я категорически не согласен.
Имеете полное право. laughing.gif
Go to the top of the page
 
+Quote Post
jasper
сообщение Apr 8 2011, 10:58
Сообщение #18


Народный чинитель
***

Группа: Участник
Сообщений: 415
Регистрация: 15-07-05
Пользователь №: 6 811



Из реально доступных и работающих есть еще AT32UC3A.

С Kinetis пока глухо. Больше надежд, что Texas Instruments к концу года свою серию на Cortex-M4 запустит.
Go to the top of the page
 
+Quote Post
pofikus
сообщение Apr 8 2011, 14:00
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-12-10
Пользователь №: 61 494



Цитата(jasper @ Apr 8 2011, 13:58) *
Из реально доступных и работающих есть еще AT32UC3A.

С Kinetis пока глухо. Больше надежд, что Texas Instruments к концу года свою серию на Cortex-M4 запустит.



ну вроде Digikey уже продает

http://search.digikey.com/scripts/DkSearch...40X256VLQ100-ND

Сообщение отредактировал pofikus - Apr 8 2011, 14:02
Go to the top of the page
 
+Quote Post
Dir
сообщение Apr 8 2011, 16:40
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830



Цитата(pofikus @ Apr 7 2011, 22:19) *
STM32F2xx -> Для реализации скорости в 480 Мбит/с необходим внешний высокоскоростной трансивер, подключаемый через ULPI.

Этот ULPI-PHY вроде бы нужен только для OTG dual-role HS. В остальных случаях (только Device или только Host) и внутренним HS-PHY обходится. По крайней мере я такой вывод сделал из рис. 79, 80, 81 в даташите на 205 и 207 чипы.
Go to the top of the page
 
+Quote Post
VslavX
сообщение Apr 9 2011, 06:10
Сообщение #21


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(jasper @ Apr 8 2011, 13:58) *
Из реально доступных и работающих есть еще AT32UC3A.

С Kinetis пока глухо. Больше надежд, что Texas Instruments к концу года свою серию на Cortex-M4 запустит.

Ждем LPC18xx от NXP - должны быть доступны осенью
Go to the top of the page
 
+Quote Post
Velund
сообщение Apr 9 2011, 07:27
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (aaarrr @ Apr 8 2011, 13:03) *
Доступны. Сроками можете поинтересоваться у своего поставщика, я ими не торгую.


Вот именно услышав от моего поставщика "28 недель" по атмелевскому чипу который у нас уже 4 года идет в серийных изделиях я зарекся применять атмель в новых изделиях если есть малейшая альтернатива.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 9 2011, 13:42
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Velund @ Apr 9 2011, 11:27) *
я зарекся применять атмель в новых изделиях если есть малейшая альтернатива.

А она в данном случае есть? Мы тоже отказались от атмеловской флеши по такой же причине.
Go to the top of the page
 
+Quote Post
Velund
сообщение Apr 9 2011, 19:41
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (aaarrr @ Apr 9 2011, 17:42) *
А она в данном случае есть? Мы тоже отказались от атмеловской флеши по такой же причине.


Минус месяц с лишним жизни - и она появилась... Альтернативы редизайну были сильно хуже.
Go to the top of the page
 
+Quote Post
MSL
сообщение Apr 11 2011, 07:26
Сообщение #25


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382



Цитата(Dir @ Apr 8 2011, 20:40) *
Этот ULPI-PHY вроде бы нужен только для OTG dual-role HS. В остальных случаях (только Device или только Host) и внутренним HS-PHY обходится. По крайней мере я такой вывод сделал из рис. 79, 80, 81 в даташите на 205 и 207 чипы.


Да мучает тот же самый вопрос, мне нужно только HS device. Хотел впаять в STM32VLDISCOVERY STM32F205RGT6, но, насколько я понимаю, нет никаких примеров для 205й серии чтобы проверить как работает HS device. Кто-нибудь знает точно как на самом деле?
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 2 2011, 03:10
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



тоже нужен контроллер с HS. раньше юзал AT32UC3A, но забросил, тк был оттормоз атмела на год по поставке...
пересел на cortex-m3, пока планирую на нем вистеь, много кода уже написано.
LPC18 вкусняшка...мож какраз раздуплюсь до того времени, как они появятся.
STM32F2 - нету внутреннего phy, леньки тулить внешний,так что отбой.
SAM3U - мало рамы, всего 96мгц, неа,не идет..
остальное особо не доступно...

Цитата
Этот ULPI-PHY вроде бы нужен только для OTG dual-role HS. В остальных случаях (только Device или только Host) и внутренним HS-PHY обходится. По крайней мере я такой вывод сделал из рис. 79, 80, 81 в даташите на 205 и 207 чипы.

смотрите страницу 151,152 (USB OTG HS peripheral-only connection in FS mode. USB OTG HS host-only connection in FS mode. OTG HS connection dual-role with external PHY)
стр 31
Цитата
When using the USB OTG HS in HS mode, an external PHY device connected to the ULPI is required.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 3 2011, 14:18
Сообщение #27


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Да, вот как всегда - STM32F2xx могли бы быть конфеткой, но надо было ложку дерьма в виде отсутствия USB HiSpeed трансивера добавить sad.gif
Что, неужели было так сложно его интегрировать?

Зато теперь для этого надо доп. корпус типа QFN или BGA ставить, очень приятно, блин sad.gif

Может, есть где такой трансивер в QFP корпусе?
Go to the top of the page
 
+Quote Post
ZyBEX
сообщение Jun 3 2011, 15:39
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 5-05-08
Пользователь №: 37 279



Цитата(sonycman @ Jun 3 2011, 17:18) *
Зато теперь для этого надо доп. корпус типа QFN или BGA ставить, очень приятно, блин sad.gif

Может, есть где такой трансивер в QFP корпусе?

А почему боитесь QFN корпуса? Если страшно паять, так это совсем не проблема. Раньше тоже боялся, пока не попробовал. Нужно перед установкой залудить выводы, чтоб с припоем стали выпуклыми. И потом, полив флюсом посадочное место, просто ровненько приложить и термофеном (воздух почти на минимум) плавно прогреть на пониженной температуре (можно просто немного отдалив фен), потом добавить (приблизить фен) , припой расплавится и силами поверхностного натяжения корпус сам встанет как надо. 2 минуты и готово. А некоторые в QFN футпринте выводы удлиняют, чтобы даже паяльником можно было прогревать. Но фен рулит ))

Сообщение отредактировал ZyBEX - Jun 3 2011, 15:41
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 3 2011, 17:47
Сообщение #29


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(ZyBEX @ Jun 3 2011, 18:39) *
А некоторые в QFN футпринте выводы удлиняют, чтобы даже паяльником можно было прогревать. Но фен рулит ))

Так и делаю, но всё равно считаю выводные корпуса ближе к телу sm.gif
На самом деле, QFN от QFP не далеко ушли в плане экономии места, контроллеры вон ведь выпускают до сих пор выводные, зато всякую мелочёвку сейчас любят лепить в BGA.

Интересно, а атмеловские SAM3U4 насколько близко по производительности подошли к LPC17xx? Частоты практически одинаковые - 96 и 100 МГц.
Может, не стоит париться с доп. трансивером и взять SAM, у него то он встроенный?
Вот только памяти масловато, 48к всего sad.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 3 2011, 18:29
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 3 2011, 21:47) *
Интересно, а атмеловские SAM3U4 насколько близко по производительности подошли к LPC17xx? Частоты практически одинаковые - 96 и 100 МГц.
Может, не стоит париться с доп. трансивером и взять SAM, у него то он встроенный?

Хотите сравним. Мне они показались вполне себе шустрыми.

Цитата(sonycman @ Jun 3 2011, 21:47) *
Вот только памяти масловато, 48к всего sad.gif

До 52-х, если не нужен NAND. Но да, очень мало, а через внешнюю шину медленно sad.gif
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 3 2011, 22:03
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



QFN ноемальный корпус, ничем не хуже QFP, даже паять удобнее - посадку облудул, флюсом намазал, пригрел и готово..
А вот доп корпус вообще не в кайф...
SAM3U памяти категорически мало. хочется и ось, и дма, буфферы... тут 64кб не хватает//
лучший выбор пока nxp, imho
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 4 2011, 01:56
Сообщение #32


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 3 2011, 21:29) *
Хотите сравним. Мне они показались вполне себе шустрыми.

Интересно было бы сравнить. После впечатляющего быстродейсвия LPC17xx не хочется откатываться на что либо тормозное типа STM32F1xx sm.gif

Цитата(brag @ Jun 4 2011, 01:03) *
лучший выбор пока nxp, imho

Не подскажете доступный кортекс от NXP с USB HS?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 4 2011, 10:00
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 4 2011, 05:56) *
Интересно было бы сравнить. После впечатляющего быстродейсвия LPC17xx не хочется откатываться на что либо тормозное типа STM32F1xx sm.gif

Беда в том, что у меня нет под рукой LPC17xx. Но можно собрать какой-нибудь тестовый код одинаковыми компиляторами и прогнать. Есть идеи?
А STM32F1xx изрядный тормоз, это верно.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 4 2011, 13:46
Сообщение #34


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 4 2011, 14:00) *
Беда в том, что у меня нет под рукой LPC17xx. Но можно собрать какой-нибудь тестовый код одинаковыми компиляторами и прогнать. Есть идеи?

Честно говоря, никогда не имел дела с бенчмарками на микроконтроллерах, но при желании могу сдуть пыль с моих железок и скомпилировать в ИАРе какой нибудь драйстоун по Вашей наводке, и затем прогнать его на LPC1768.

Странно, что даташит на SAM3U скромно умалчивает параметр быстродействия DMIPS, который обычно приводится на первой же страничке документа...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 4 2011, 14:54
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 4 2011, 17:46) *
Честно говоря, никогда не имел дела с бенчмарками на микроконтроллерах, но при желании могу сдуть пыль с моих железок и скомпилировать в ИАРе какой нибудь драйстоун по Вашей наводке, и затем прогнать его на LPC1768.

Интересны две вещи:
- "попугаи" из dhrystone 2.1
- скорость копирования через memcpy (скажем, блоками по 8кБайт)
В последнем случае дополнительно интересен результат при копировании между двумя разными банками SRAM.

Цитата(sonycman @ Jun 4 2011, 17:46) *
Странно, что даташит на SAM3U скромно умалчивает параметр быстродействия DMIPS, который обычно приводится на первой же страничке документа...

Насколько я помню, он вполне соответствовал заявленным ARM 1.25DMIPS/MHz для Cortex-M3.
Go to the top of the page
 
+Quote Post
kan35
сообщение Jun 4 2011, 15:28
Сообщение #36


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Вообще по-моему весь этот диалог праздный.
Чем вы (кому так не хватает HS) хотите загрузить канал 480мбит? Видеосигнал что-ли? это не тот камень (70-100МГц), даже при всех их DMA он не обеспечит загрузку канала.
Потому собственно и не делают в них USB HS. А кто и делает просто - маркетинговый ход.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 4 2011, 15:47
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Думаете, скорости между 12мбит и 480мбит никому не нужны? Никто, кажется, не требует с ножом у горла загружать весь канал целиком.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 4 2011, 18:25
Сообщение #38


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 4 2011, 18:54) *
Интересны две вещи:
- "попугаи" из dhrystone 2.1
- скорость копирования через memcpy (скажем, блоками по 8кБайт)
В последнем случае дополнительно интересен результат при копировании между двумя разными банками SRAM.

Хорошо, на днях попробую заняться.

К слову, посмотрел на различные USB HS PHY для STM32F2xx, и ни черта не понял, каким образом их инициализировать по ULPI интерфейсу перед началом работы?
У них внутри куча регистров, да взять хотя бы управление ключами VBUS или подтягивающими резисторами - как это происходить должно?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 5 2011, 08:39
Сообщение #39


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(kan35 @ Jun 4 2011, 19:28) *
Потому собственно и не делают в них USB HS. А кто и делает просто - маркетинговый ход.

Да ладно, при частотах ядра в 100 - 150 МГц видеть, к примеру, что передача данных с устройства через USB идёт с черепашьей скоростью в 900 килобайт\сек, тогда как легко можно было бы получить до 10 мегабайт\сек - это маркетинговый ход?
Может, на контроллеры вообще тогда не стоит ставить что-то более быстрое, чем UART? biggrin.gif

Да, с документацией у ST всё так же неважно - после беглого просмотра мануала на USB OTG модуль в голове осталась только каша, настолько всё запутано и свалено в одну кучу.
А отсутствие физического уровня HS ещё больше запутывает sad.gif

Другое дело у Atmel и SAM3U - читать доку на их USB довольно приятно, всё разложено по полочкам.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 5 2011, 09:52
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 5 2011, 12:39) *
Другое дело у Atmel и SAM3U - читать доку на их USB довольно приятно, всё разложено по полочкам.

Если бы. На HSMCI почитайте - вот там каша.
Go to the top of the page
 
+Quote Post
kan35
сообщение Jun 5 2011, 12:16
Сообщение #41


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(sonycman @ Jun 5 2011, 12:39) *
Да ладно, при частотах ядра в 100 - 150 МГц видеть, к примеру, что передача данных с устройства через USB идёт с черепашьей скоростью в 900 килобайт\сек, тогда как легко можно было бы получить до 10 мегабайт\сек - это маркетинговый ход?
Может, на контроллеры вообще тогда не стоит ставить что-то более быстрое, чем UART? biggrin.gif

Не могу не согласиться, но лишь отчасти.
Сами контроллеры по своей периферии не требуют широких каналов. Графических контроллеров нет, видео матрицу какую нибудь тоже не подключишь.
Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь.
А ведь автору темы вообще в Cortex-M0 хочется HS - он наверное совсем забыл, что в нем нет DMA как класс, а без него это просто смешно.

В общем USB2HS USB3 это ничто иное как погоня за скоростью передачи мультимедиа сигнала. M3 и тем более M0 это не мультимедиа контроллеры как их ни крути.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 5 2011, 12:36
Сообщение #42


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 5 2011, 13:52) *
Если бы. На HSMCI почитайте - вот там каша.

Кстати, можно вопрос не по теме, раз уж Вы работали с SAM3U - я правильно понял, что модуль I2S имеет ущербный и примитивный до нельзя делитель для формирования клока? То есть никаким PLL или хотя бы фракционным делителем не пахнет?
Обидно, остаётся только либо подбор кварца (но это не выход, а костыль какой-то), либо ввод частоты с внешнего генератора sad.gif

Цитата(kan35 @ Jun 5 2011, 16:16) *
Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь.

Почему не выжмешь, по четырёхбитному-то интерфейсу? Вы пробовали?
Go to the top of the page
 
+Quote Post
kan35
сообщение Jun 5 2011, 13:07
Сообщение #43


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(sonycman @ Jun 5 2011, 16:36) *
Почему не выжмешь, по четырёхбитному-то интерфейсу? Вы пробовали?

Не пробовал по 4-битному, только по 1-, а вы пробовали? хотя бы просто вычитывать и складывать в память с такой скоростью он может? (хотя бы M3, про M0 уж точно спорить бессмысленно)

Сообщение отредактировал kan35 - Jun 5 2011, 13:21
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 5 2011, 13:37
Сообщение #44


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(kan35 @ Jun 5 2011, 17:07) *
Не пробовал по 4-битному, только по 1-, а вы пробовали? хотя бы просто вычитывать и складывать в память с такой скоростью он может? (хотя бы M3, про M0 уж точно спорить бессмысленно)

А почему не сможет, DMA включаешь и вперёд. Говорят, 8 MB\с получается для mass storage device по USB HS.
Прямое чтение с SD в память должно быть ещё быстрее.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 5 2011, 15:10
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(kan35 @ Jun 5 2011, 16:16) *
Ну а 10мбайт/с - легко ли? даже с SD карточки не выжмешь.

С карточки, с NAND, с устройств на внешней шине - легко.

Цитата(kan35 @ Jun 5 2011, 16:16) *
А ведь автору темы вообще в Cortex-M0 хочется HS - он наверное совсем забыл, что в нем нет DMA как класс, а без него это просто смешно.

Так-таки и нет?

Цитата(sonycman @ Jun 5 2011, 16:36) *
Кстати, можно вопрос не по теме, раз уж Вы работали с SAM3U - я правильно понял, что модуль I2S имеет ущербный и примитивный до нельзя делитель для формирования клока? То есть никаким PLL или хотя бы фракционным делителем не пахнет?
Обидно, остаётся только либо подбор кварца (но это не выход, а костыль какой-то), либо ввод частоты с внешнего генератора sad.gif

В плане тактирования у SAM3U есть огромная засада: входная частота PLLA ограничена снизу на уровне 6MHz, в то время как UPLL требует на вроде 12MHz ровно. То есть при использовании USB кварц должен иметь частоту 12MHz, а входной делитель для PLLA всегда будет равен 1, что весьма сужает сетку частот на выходе.
Для I2S кодеков остается ставить внешний генератор и запускать процессорный I2S в режиме slave.

Цитата(sonycman @ Jun 5 2011, 17:37) *
Прямое чтение с SD в память должно быть ещё быстрее.

А вот тут облом как раз: памяти этой настолько мало, что приличной скорости просто не развить. Разве что с внешней быстрой статикой.
Go to the top of the page
 
+Quote Post
DmitryM
сообщение Jun 5 2011, 17:52
Сообщение #46


Знающий
****

Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840



Цитата(aaarrr @ Jun 5 2011, 19:10) *
Для I2S кодеков остается ставить внешний генератор и запускать процессорный I2S в режиме slave.

Ну на SAM7S я формировал частоту и стробы с помощью таймеров (с выхода PCK=18,432 MHz на вход TCLK) и для SSC и для внешнего кодека Texas. В SAM3U вроде как тоже можно использовать эту фичу: PA28 TK PWMH0; PA29 RK PWMH1; PA30 TF TIOA2; PA31 RF TIOB2.
Ножка одна, а служит и выходом для внешнего кодека и входом для SSC. Ну само собой выходом таймера.
Go to the top of the page
 
+Quote Post
kan35
сообщение Jun 5 2011, 18:32
Сообщение #47


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(aaarrr @ Jun 5 2011, 19:10) *
Так-таки и нет?

Признаю свою неправоту, у NXP что то такое появилось. Просто из тех, что есть на рынке не встречались.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 5 2011, 21:22
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(DmitryM @ Jun 5 2011, 21:52) *
Ну на SAM7S я формировал частоту и стробы с помощью таймеров...

Проблема не в том. Из-за входных ограничений на SAM3U с "юсбовым" кварцем на 12MHz нельзя получить частоту не кратную 6MHz на выходе "процессорной" PLLA. Да и с любым другим входной делитель может меняться лишь в диапазоне 1-3, а не 1-20, как было на SAM7. Что и бесит несколько.

А кодек можно и заточенный под USB взять, которому от 48MHz MCLK хорошо.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 6 2011, 08:48
Сообщение #49


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 3 2011, 22:29) *
До 52-х, если не нужен NAND. Но да, очень мало, а через внешнюю шину медленно sad.gif

В смысле, насколько медленно через внешнюю шину?
Думаю вот, стоит ли прикручивать внешнюю память...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 6 2011, 09:39
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 6 2011, 12:48) *
В смысле, насколько медленно через внешнюю шину?
Думаю вот, стоит ли прикручивать внешнюю память...

Ну, чисто теоретически, если взять 10ns память, то можно и 96MHz на внешней шине получить. На деле, думаю, более реальны такие варианты:
- 48MHz Fast SRAM
- 16MHz Low Power SRAM/PSRAM (как на ките)
Первый вариант в 4 раза медленнее внутренней памяти, второй - аж в 12.
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Jun 6 2011, 13:32
Сообщение #51


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Для HS резервируется не больше 25% полосы 480 Мб.
Итого 120 Мб = 16 Мбайт в сек. У SAM3U EMB до 16 бит, кино можно смотреть.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 6 2011, 14:45
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(MrAlex @ Jun 6 2011, 17:32) *
Для HS резервируется не больше 25% полосы 480 Мб.

Для HS резервируется не больше 25% полосы HS? Нет в USB 2.0 подобных ограничений.



Обещанные попугаи (SAM3U4C, 96MHz, Flash, 3WS, RVCT 4.1 -O3 -Otime):

Memcpy SRAM0->SRAM0: 126.3 МБайт/с
Memcpy SRAM1->SRAM0: 126.0 МБайт/с
Memcpy NFC->SRAM0: 116.2 МБайт/с

93.4 Dhrystone VAX MIPS

1.25DMIPS/MHz было при 0WS.
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Jun 6 2011, 16:25
Сообщение #53


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Приврал каюсь, 50 Мб/с теоретический предел.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 6 2011, 16:41
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(MrAlex @ Jun 6 2011, 20:25) *
Приврал каюсь, 50 Мб/с теоретический предел.

С кем не бывает sm.gif
Интересно, сколько из них способен с пользой перелопатить SAM3. Хотя, если через DMA на внешнюю шину, то вроде и проблем не видно (ну, на первый взгляд).
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 6 2011, 19:08
Сообщение #55


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 6 2011, 18:45) *
Обещанные попугаи (SAM3U4C, 96MHz, Flash, 3WS, RVCT 4.1 -O3 -Otime):

Спасибо!

Как я понял, всю оперативку (оба банка) можно использовать в виде одного куска в 48 килобайт (или даже 52)?
То есть не как в LPC17xx, два куска по 32 кб?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 6 2011, 20:48
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 6 2011, 23:08) *
Как я понял, всю оперативку (оба банка) можно использовать в виде одного куска в 48 килобайт (или даже 52)?

Можно, но только 48. Вариант 32 + 20 тоже должен работать.

Цитата(sonycman @ Jun 6 2011, 23:08) *
То есть не как в LPC17xx, два куска по 32 кб?

А там они совсем разнесены?
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 6 2011, 21:23
Сообщение #57


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Не подскажете доступный кортекс от NXP с USB HS?

LPC18 скоро будут sm.gif)

по поводу USB hs. - реально, что на CY7C68013A+FPGA мастер,синхронно, что с AT32UC3A0512+dma у меня больше 30мб/с в булке выжать не удалось, и то скорость зависить от загрузки системы, особенно от IO активности (скажем записи принятых по усб данных на диск)..и то не стабильно, если кеши чистые,то еще тормознее (порядка 16MB/s). Так что смысл HS USB есть большой, особенно,если реализован MSC или хоть какой-то поточный обмен данными. разница есть, что ждать 5 минут, а что 20 сек...
Go to the top of the page
 
+Quote Post
dinam
сообщение Jun 7 2011, 01:38
Сообщение #58


Профессионал
*****

Группа: Свой
Сообщений: 1 415
Регистрация: 10-06-05
Из: Наукоград Кольцово(Новосибирск)
Пользователь №: 5 898



Мы на CY7C68013A+FPGA получаем около 40Мбайт/сек. На форуме есть упоминание 45 Мбайт/сек. Если надо побыстрее, то ждем выпуска CYUSB3014
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 7 2011, 08:38
Сообщение #59


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 7 2011, 00:48) *
А там они совсем разнесены?

Совсем sad.gif
Прикрепленное изображение

Мало того, в режиме с остановленным ядром (по инструкции WFI) функционирует только один 32 килобайтовый блок памяти, второй перестаёт тактироваться и его данные становятся недоступны.
Поэтому при использовании операционной системы и DMA остаётся либо пользоваться только одним 32кб куском, либо не давать процессору спать sad.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 7 2011, 08:59
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 7 2011, 12:38) *
Мало того, в режиме с остановленным ядром (по инструкции WFI) функционирует только один 32 килобайтовый блок памяти, второй перестаёт тактироваться и его данные становятся недоступны.
Поэтому при использовании операционной системы и DMA остаётся либо пользоваться только одним 32кб куском, либо не давать процессору спать sad.gif

Зато на I/D Bus, хотя большого смысла в этом не вижу.
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Jun 7 2011, 14:58
Сообщение #61


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(aaarrr @ Jun 6 2011, 22:48) *
Можно, но только 48. Вариант 32 + 20 тоже должен работать.


Просто подкреплю ссылкой на документацию SAM3U: см. стр. 31 документа "6430D–ATARM–25-Mar-11" к контроллерам, где сказано:

The SRAM0 is accessible over System Cortex-M3 bus at address 0x2000 0000 and SRAM1 at
address 0x2008 0000. The user can see the SRAM as contiguous at 0x20078000-0x20083FFF
(SAM3U4), 0x2007C000-0x20083FFFF (SAM3U2) or 0x2007E000-0x20081FFFF (SAM3U1).
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 9 2011, 09:26
Сообщение #62


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 6 2011, 18:45) *
93.4 Dhrystone VAX MIPS

Скачал какой-то древний сишный исходник "DHRYSTONE" Benchmark Program v2.1, датированный 1988 годом.
Это оно? sm.gif

Насколько я понял, там набор различных функций по работе со стрингами\массивами.
Потребуется переделать под ARM функции измерения времени и вывода результата, остальное вроде должно скомпилироваться.
Хотя хз, как компилер воспримет некоторые директивы, надо смотреть...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 9 2011, 09:32
Сообщение #63


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Мы на CY7C68013A+FPGA получаем около 40Мбайт/сек.

от системы на хосте зависит, меня 20 устраивало я дальше и не гнался, хотя на freebsd получал около 36
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 9 2011, 09:33
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(sonycman @ Jun 9 2011, 13:26) *
Скачал какой-то древний сишный исходник "DHRYSTONE" Benchmark Program v2.1, датированный 1988 годом.
Это оно? sm.gif

Оно.

Цитата(sonycman @ Jun 9 2011, 13:26) *
Потребуется переделать под ARM функции измерения времени и вывода результата, остальное вроде должно скомпилироваться.
Хотя хз, как компилер воспримет некоторые директивы, надо смотреть...

Да, clock + printf. И ручной ввод количества циклов упразднить, заменив, скажем, на 100000.
Остальное соберется без проблем.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 11 2011, 22:21
Сообщение #65


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jun 6 2011, 18:45) *
Обещанные попугаи (SAM3U4C, 96MHz, Flash, 3WS, RVCT 4.1 -O3 -Otime):

Memcpy SRAM0->SRAM0: 126.3 МБайт/с
Memcpy SRAM1->SRAM0: 126.0 МБайт/с
Memcpy NFC->SRAM0: 116.2 МБайт/с

93.4 Dhrystone VAX MIPS

1.25DMIPS/MHz было при 0WS.

У меня получилось вот что: LPC1768, 100 МГц, Flash accesses use 5 CPU clocks, IAR 6.20.3, High optimization, Speed

Memcpy SRAM0->SRAM0: 116.8 МБайт/с (цикличное копирование 8 КБ блока)
Memcpy SRAM1->SRAM0: 116.8 МБайт/с

134.5 Dhrystone VAX MIPS

Толку от двух банков при копировании никакого нет, но Атмелу респект за возможность юзать память одним куском.

ЗЫ: интересно было бы прогнать драйстоун на сэме плюс ИАР.
Очень большая разница между оптимизацией Balanced (83 VAX MIPS) и Speed (134).
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 11 2011, 22:37
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Что ж, вполне закономерный результат: в деле построения ускорителей флеш NXP явно лидирует. Радует, конечно, что и Atmel взялись за ум наконец. А вот набор и возможности периферии у последних мне всегда нравился больше.

Цитата(sonycman @ Jun 12 2011, 02:21) *
ЗЫ: интересно было бы прогнать драйстоун на сэме плюс ИАР.
Очень большая разница между оптимизацией Balanced (83 VAX MIPS) и Speed (134).

Попробую на досуге.
Go to the top of the page
 
+Quote Post
VslavX
сообщение Jun 11 2011, 22:55
Сообщение #67


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(aaarrr @ Jun 12 2011, 01:37) *
Что ж, вполне закономерный результат: в деле построения ускорителей флеш NXP явно лидирует.

Вы Кинетиксы новые посмотрите от Фрискейла - например в К60 они 4-ассоциативный кеш наворотили, аж на 256 байт sm.gif.
Кстати - вроде бы в них USB HS трансивер встроенный, ядро M4, правда - не соотвествтует условиям данной темы.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 12 2011, 09:00
Сообщение #68


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(VslavX @ Jun 12 2011, 02:55) *
Вы Кинетиксы новые посмотрите от Фрискейла - например в К60 они 4-ассоциативный кеш наворотили, аж на 256 байт sm.gif.
Кстати - вроде бы в них USB HS трансивер встроенный, ядро M4, правда - не соотвествтует условиям данной темы.

Ещё было бы интересно посмотреть на скорость новых STM32F2. Обещают нулевые задержки флеша.
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 12 2011, 13:26
Сообщение #69


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата(sonycman @ Jun 12 2011, 12:00) *
Ещё было бы интересно посмотреть на скорость новых STM32F2. Обещают нулевые задержки флеша.

там явно написано, что флеш как всегда работает с 3wait-states. другое дело он 128битный и есть кеш, так у lpc17 он тоже 128битный и тоже есть кеш.
но у stm32f2 флешка пахает с 3ws 2.7...3.6в 120мгц, а у lpc17 4ws 2.4...3.6в 100-120мгц. но тк у нас много инструкций 16битных, то и этого в полне достаточно, чтобы проц не курил
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 12 2011, 13:42
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Вот потому и интересно сравнить с законодателями моды в данном направлении.

Будь это именно кэш, не преминули бы именно так и написать. Внутреннюю структуру ускорителей почему-то никто не афиширует.
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 12 2011, 13:50
Сообщение #71


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Внутреннюю структуру ускорителей почему-то никто не афиширует.

ну да, вся проблемма в переходах и ld/st, сложно предсказать, с какого адресса тянуть следующие 128 бит инструкций..
u nxp 8 128битных буфферов, в принципе, можно и самому додуплить как сделать так, чтобы проц не курил, но мы камни не строим,потому об этом не задумываемся sm.gif

пс. что в nxp,что у ст так и написано "акселератор/кеш"
Цитата
To release the processor full 150 DMIPS performance at this frequency, the accelerator
implements an instruction prefetch queue and branch cache which increases program
execution speed from the 128-bit Flash memory.


Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 12 2011, 14:19
Сообщение #72


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(brag @ Jun 12 2011, 17:50) *
u nxp 8 128битных буфферов, в принципе, можно и самому додуплить как сделать так, чтобы проц не курил, но мы камни не строим,потому об этом не задумываемся sm.gif

У Атмела два и, судя по всему, без каких-либо "интеллектуальных" наворотов.

Цитата(brag @ Jun 12 2011, 17:50) *
пс. что в nxp,что у ст так и написано "акселератор/кеш"

Ну, это же не кэш в обычном представлении, а нечто сугубо специфическое.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 12 2011, 18:41
Сообщение #73


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(brag @ Jun 12 2011, 17:26) *
там явно написано, что флеш как всегда работает с 3wait-states. другое дело он 128битный и есть кеш, так у lpc17 он тоже 128битный и тоже есть кеш.
но у stm32f2 флешка пахает с 3ws 2.7...3.6в 120мгц, а у lpc17 4ws 2.4...3.6в 100-120мгц. но тк у нас много инструкций 16битных, то и этого в полне достаточно, чтобы проц не курил

Ну и, смысл всего вышесказанного? rolleyes.gif
Вы можете сказать, как быстро будет работать STM32F2 по сравнению с LPC, хотя бы на одной и той же частоте??
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 10:50
Сообщение #74


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Ну и, смысл всего вышесказанного?
Вы можете сказать, как быстро будет работать STM32F2 по сравнению с LPC, хотя бы на одной и той же частоте??

с этого
Цитата
у stm32f2 флешка пахает с 3ws 2.7...3.6в 120мгц, а у lpc17 4ws 2.4...3.6в 100-120мгц

я могу сказать, что если код из одних 32битных инструкций под ряд то на СТ будет работать быстрее,по идее(по документу)
А еще могу сказать, что в целом результат будет примерно одинаков.
А если смысла нету, то пост можно удалить wink.gif
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 13 2011, 12:49
Сообщение #75


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(brag @ Jun 13 2011, 14:50) *
с этого
я могу сказать, что если код из одних 32битных инструкций под ряд то на СТ будет работать быстрее,по идее(по документу)
А еще могу сказать, что в целом результат будет примерно одинаков.
А если смысла нету, то пост можно удалить wink.gif

Ну, хотелось бы надеяться, что ST хорошенько поработали над ошибками и выпустили действительно быстрый чип.
В остальном от STM32F1 остались только хорошие впечатления.

А от F2 пришлось пока отказаться из-за внешнего USB PHY.
Куча высокоскоростных цепей, информации по стыковке никакой нет, как будет работать - бог его знает, и спросить не у кого.
Доступные отладочные платы с F2 на борту тоже все сплошь без PHY. sad.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 13 2011, 13:13
Сообщение #76


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sonycman @ Jun 13 2011, 18:49) *
В остальном от STM32F1 остались только хорошие впечатления.

А что, со скоростью у STM32F1x -- совсем швах? Может, прогоните на них тот тест, и выложите результаты? Интересно будет сравнить... sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 13:32
Сообщение #77


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



щас прогоню попробую, stm32f105rc 72mhz
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 13 2011, 13:37
Сообщение #78


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 13 2011, 17:13) *
А что, со скоростью у STM32F1x -- совсем швах? Может, прогоните на них тот тест, и выложите результаты? Интересно будет сравнить... sm.gif

Ну, если сравнить по загрузке при декодировании MP3 320 kbps:
LPC17xx - 30%
SAM3U - 50%
STM32F1 - 100% и даже тормозит sad.gif

Если откопаю у себя отладку с F1, может, займусь.

Цитата(brag @ Jun 13 2011, 17:32) *
щас прогоню попробую, stm32f105rc 72mhz

Ждём sm.gif
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 15:56
Сообщение #79


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



прогнал.
все компилилось так:
arm-none-eabi-gcc -Werror -Wall -Wextra -pipe -mcpu=cortex-m3 -mthumb -O2 -fomit-frame-pointer -ffreestanding -fno-common -fwide-exec-charset=UTF-16LE -fshort-wchar

Код
Dhrystone Benchmark, Version 2.1 (Language: C)

Execution starts, 1000000 runs through Dhrystone
Execution ends

Final values of the variables used in the benchmark:

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    1000010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Register option selected?  YES
Microseconds for one run through Dhrystone: 19
Dhrystones per Second:                      52631
VAX MIPS rating = 29.95
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 13 2011, 16:20
Сообщение #80


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(brag @ Jun 13 2011, 21:56) *
VAX MIPS rating = 29.95

Цитата(sonycman @ Jun 12 2011, 04:21) *
134.5 Dhrystone VAX MIPS


Это один и тот же параметр? Что-то как-то совсем ужасно... Где обещанные "0,95 DMIPS/МГц"? sm.gif Видимо ещё gcc добавил тормозов... Я потому и хотел чтоб sonycman провёл тест в тех же условиях, что и LPC. Так хоть уберётся влияние компилятора и ключей оптимизации.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 16:29
Сообщение #81


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



прогнал второй код, скачал с сайта арма http://infocenter.arm.com/help/index.jsp?t...qs/ka13553.html
частота 72мгц.
Код
Dhrystone Benchmark, Version 2.1 (Language: C)

Program compiled without 'register' attribute

Execution starts, 1000000 runs through Dhrystone
Execution ends

Final values of the variables used in the benchmark:

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    1000010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          536871440
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Microseconds for one run through Dhrystone: 18
Dhrystones per Second:                      55555


он же, только с ключем -O0
Код
Microseconds for one run through Dhrystone: 42
Dhrystones per Second:                      23809

Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 18:13
Сообщение #82


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



а этот код он выполняет 100е6 раз за 18 сек. и того эффективная тактовая частота выходит 100e6/18*(6+1+3)=55.6мгц, чего и следовало ожидать от обычного кеширования...
Код
800487e:    bf00          nop
8004880:    bf00          nop
8004882:    bf00          nop
8004884:    bf00          nop
8004886:    bf00          nop
8004888:    bf00          nop
800488a:    3b01          subs    r3, #1
800488c:    d1f7          bne.n    800487e


а так, уже 16сек, тобышь 62.5мгц. из за того, что прыгаем какраз на тот адресс,с которого начитается чтение с 128битной флешки...
Код
8004880:    bf00          nop
8004882:    bf00          nop
8004884:    bf00          nop
8004886:    bf00          nop
8004888:    bf00          nop
800488a:    bf00          nop
800488c:    3b01          subs    r3, #1
800488e:    d1f7          bne.n    8004880


ну и 22 nop'а, 1 subs и bne(3 такта) - 66.7мгц, максимум,что можно выдавить,если все лежит в правильных адрессах.

апд. из SRAM 8 "mov r0,r0;" 1 subs и 1 bne.n выполняется четко за 25сек (100e6/25*(8+6+1+3)=72e6), не зависимо от адресса,где это все лежит. Вобщем флешка-тормоз, проц нормал.

Протестю на lpc17 на днях
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 13 2011, 19:38
Сообщение #83


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



и на последок весь код в SRAM. 0.52 DMIPS/MHz sm.gif
Код
Microseconds for one run through Dhrystone: 15
Dhrystones per Second:                      66666
VAX MIPS rating = 37.943
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 13 2011, 20:29
Сообщение #84


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Вот, откопал свою старенькую покуроченную отладку на базе STM32F103RBT6 ещё старой ревизии Z:
72 МГц, 2WS такта, IAR 5.11, High optimization, Speed:

Microseconds for one run through Dhrystone: 11.1
Dhrystones per Second: 89702.8
VAX MIPS rating = 51.055

Слабенько, что уж и говорить. 1.25 DMIPS/MHz тут и не пахнет.

ЗЫ: но это фигня, скомпилировал проект в последнем ИАРе 6.20.3 с такими же настройками, и вот тут-то уже запахло:

Код
Dhrystone Benchmark, Version 2.1 (Language: C)

Execution starts, 500000 runs through Dhrystone
Execution ends

Final values of the variables used in the benchmark:

Int_Glob:            5
        should be:   5
Bool_Glob:           1
        should be:   1
Ch_1_Glob:           A
        should be:   A
Ch_2_Glob:           B
        should be:   B
Arr_1_Glob[8]:       7
        should be:   7
Arr_2_Glob[8][7]:    500010
        should be:   Number_Of_Runs + 10
Ptr_Glob->
  Ptr_Comp:          2000283C
        should be:   (implementation-dependent)
  Discr:             0
        should be:   0
  Enum_Comp:         2
        should be:   2
  Int_Comp:          17
        should be:   17
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Next_Ptr_Glob->
  Ptr_Comp:          2000283C
        should be:   (implementation-dependent), same as above
  Discr:             0
        should be:   0
  Enum_Comp:         1
        should be:   1
  Int_Comp:          18
        should be:   18
  Str_Comp:          DHRYSTONE PROGRAM, SOME STRING
        should be:   DHRYSTONE PROGRAM, SOME STRING
Int_1_Loc:           5
        should be:   5
Int_2_Loc:           13
        should be:   13
Int_3_Loc:           7
        should be:   7
Enum_Loc:            1
        should be:   1
Str_1_Loc:           DHRYSTONE PROGRAM, 1'ST STRING
        should be:   DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc:           DHRYSTONE PROGRAM, 2'ND STRING
        should be:   DHRYSTONE PROGRAM, 2'ND STRING

Register option selected?  YES
Microseconds for one run through Dhrystone:     6.0
Dhrystones per Second:                        166997.3
VAX MIPS rating =     95.047


95.047!
Аж быстрее Сэма под RVCT вышло! sm.gif
Что-то уж очень эффективная оптимизация под драйстоун у ИАР...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 13 2011, 22:41
Сообщение #85


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Добавим энтропии в тему?

STM32F103VET6 Z, 72MHz, Flash, 2WS, RVCT 4.1 -O3 -Otime: 73.0 Dhrystone VAX MIPS
Memcpy 94.7 МБайт/с

То есть чуть быстрее SAM3, но при 2WS.


Ерунда, конечно, выходит из всех этих тестов: нужно смотреть на одном и том же коде и тулчейне. Да и тест сделать позаковыристее - картинку, например, в JPEG утоптать или что-нибудь еще в этом роде.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 14 2011, 10:35
Сообщение #86


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sonycman @ Jun 14 2011, 02:29) *
95.047!
Аж быстрее Сэма под RVCT вышло! sm.gif

Ну вот, а то "тормоз", "тормоз" sm.gif

Вот что вышло у меня (arm-kgp-eabi-gcc, -O3):

Код
Microseconds for one run through Dhrystone:     8.0
Dhrystones per Second:                        125000.0
VAX MIPS rating =     71.144


---
Вот так точнее (было округление до секунд, сейчас до сотых):
Код
Microseconds for one run through Dhrystone:     8.8
Dhrystones per Second:                        114025.1
VAX MIPS rating =     64.898


Нормуль, я доволенsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 14 2011, 12:53
Сообщение #87


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Скомпилил все ARM C/C++ Compiler, 4.1 [Build 713] [Standard]
armcc --thumb -O3 --cpu=Cortex-M3 --bss_threshold=0 --c99 --gnu --wchar16 --diag_error=Warning -g
результ еще хуже:
Код
Microseconds for one run through Dhrystone: 30
Dhrystones per Second:                      33333
VAX MIPS rating = 18.971


arm-kgp-eabi-gcc -Werror -Wall -Wextra -pipe -mcpu=cortex-m3 -mthumb -O2 -fomit-frame-pointer -ffreestanding -fno-common -fwide-exec-charset=UTF-16LE -fshort-wchar -g
Код
Microseconds for one run through Dhrystone: 19
Dhrystones per Second:                      52631
VAX MIPS rating = 29.955


где вы столько понабирали, или это connectivity line такая тормозная?

AHTOXA, можете выложить откомпиленные бинарки dhry21a.о,dhry21b.о или как там у вас? уж больно интересно стало...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 14 2011, 13:14
Сообщение #88


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



-Otime поставьте для RVCT.
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 14 2011, 13:21
Сообщение #89


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



спасибо,поставил.
Код
Microseconds for one run through Dhrystone: 20
Dhrystones per Second:                      50000
VAX MIPS rating = 28.457

чуть не дотянуло до gcc. хоть и код у rvct вроде красивее местами выглядит (gcc в упор не юзает ldm, загружает значения через ld, вместо movw/movt часто), но на gcc всеравно запахало чуть быстрее.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 14 2011, 13:28
Сообщение #90


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 14 2011, 14:35) *
Ну вот, а то "тормоз", "тормоз" sm.gif

Ну, думаю под ИАРом SAM3U покажет больше 100 мипсов, там в частоте только разница почти 50%.
Последний результат в 95 мипсов сильно удивил, честное слово sm.gif
Может, какая халтура там в коде?

Цитата
Вот так точнее (было округление до секунд, сейчас до сотых):

Хех, секунды, сотые - вот тут мои микросекундные таймеры рулят в полную laughing.gif

Цитата(brag @ Jun 14 2011, 17:21) *
VAX MIPS rating = 28.457[/code]

Честно говоря, странные результаты. Даже древний ИАР 5 версии выдаёт 50 мипсов...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 14 2011, 13:29
Сообщение #91


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(brag @ Jun 14 2011, 17:21) *
спасибо,поставил.

Все равно слишком мало. Поставили "-O3 -Otime"?
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 14 2011, 13:39
Сообщение #92


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Честно говоря, странные результаты. Даже древний ИАР 5 версии выдаёт 50 мипсов...

вообще-то все дело в функциях типа strcpy sm.gif
у меня простые inline на C написаны, без особых хитростей, воткнул библиотечную strcpy, strcmp че-то не хочет, я ему __builtin_strcmp , а он мне undefined reference to `strcmp'
Цитата
Microseconds for one run through Dhrystone: 9
Dhrystones per Second: 111111
VAX MIPS rating = 63.239

кароче тут мы тестим у кого лучше strcpy/strcmp реализованы sm.gif)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 14 2011, 15:05
Сообщение #93


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(brag @ Jun 14 2011, 18:53) *
AHTOXA, можете выложить откомпиленные бинарки dhry21a.о,dhry21b.о или как там у вас? уж больно интересно стало...

Вот держите, весь проект (с *.o): Прикрепленный файл  dhrystone.7z ( 132.54 килобайт ) Кол-во скачиваний: 87

Цитата(sonycman @ Jun 14 2011, 19:28) *
Хех, секунды, сотые - вот тут мои микросекундные таймеры рулят в полную laughing.gif

Это потому у вас такое ровное число:
Цитата
Microseconds for one run through Dhrystone: 6.0

? Или случайно совпало? sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 14 2011, 15:21
Сообщение #94


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 14 2011, 19:05) *
Это потому у вас такое ровное число:
? Или случайно совпало? sm.gif

Хм, конечно случайно, там ведь время одного прохода вычисляется в плавучке.
Просто у меня точность измерения общего отрезка времени выполнения функции идёт до микросекунды sm.gif
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 14 2011, 17:40
Сообщение #95


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Тогда подправьте в тесте формат выдачи результата, чтоб было типа
Код
Microseconds for one run through Dhrystone: 6.002

, так будет видно микросекундное разрешениеsm.gif

Цитата(AHTOXA @ Jun 14 2011, 21:05) *
Вот держите, весь проект (с *.o): Прикрепленный файл  dhrystone.7z ( 132.54 килобайт ) Кол-во скачиваний: 87

Упс, накладочка вышла. Так не заработает. Чтоб заработало, надо в makefile исправить
USE_LTO = YES
на
USE_LTO = NO
. Это я пытался улучшить результат, но не заработало.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 15 2011, 01:48
Сообщение #96


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(AHTOXA @ Jun 14 2011, 21:40) *
Тогда подправьте в тесте формат выдачи результата, чтоб было типа
Код
Microseconds for one run through Dhrystone: 6.002

, так будет видно микросекундное разрешениеsm.gif

Это уже будет нано- и пико- секундное разрешение sm.gif
А если серьёзно, то ничего так не будет видно, после вычисления на основе double переменных дробные значения получатся хоть из целых секунд.
Чтобы увидеть разрешение таймера нужно распечатать полученное общее время теста, или разницу между Begin_time и End_time.
В моём случае Begin_Time всегда равно нулю, поэтому достаточно только End_Time, в микросекундах:
Код
EndTime: 3035526
Microseconds for one run through Dhrystone: 6.0710520000
Dhrystones per Second:                        164716.1
VAX MIPS rating =     93.748
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 15 2011, 03:35
Сообщение #97


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(sonycman @ Jun 15 2011, 07:48) *
А если серьёзно, то ничего так не будет видно, после вычисления на основе double переменных дробные значения получатся хоть из целых секунд.

Я не о томsm.gif Просто после того, как у меня получилось усечение секунд до целых (с изрядным улучшением результата теста), я с подозрением отнёсся к
Microseconds for one run through Dhrystone: 6.0.
Вот так - совсем другое дело:
Microseconds for one run through Dhrystone: 6.0710520000
sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 16 2011, 13:16
Сообщение #98


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



проверил еще на IAR V6.20.3.22642
iccarm --thumb --cpu Cortex-M3 --aapcs std --aeabi -Ohs -r -e
Код
Microseconds for one run through Dhrystone: 21
Dhrystones per Second:                      47619
VAX MIPS rating = 27.102

все функции мои, библиотечные не использовал.
для сравнения тот же код на gcc
arm-none-eabi-gcc -Werror -Wall -Wextra -pipe -mcpu=cortex-m3 -mthumb -O2 -fomit-frame-pointer -ffreestanding -fno-common -fwide-exec-charset=UTF-16LE -fshort-wchar -g
Код
Microseconds for one run through Dhrystone: 19
Dhrystones per Second:                      52631
VAX MIPS rating = 29.955

Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 16 2011, 13:24
Сообщение #99


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(brag @ Jun 16 2011, 17:16) *
все функции мои, библиотечные не использовал.

Все - это которые? Strcpy и Strcmp?
Ну а смысл? Ведь судя по результату - реализация очень слабая... rolleyes.gif

ЗЫ: а printf тоже ваша собственная? sm.gif
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 16 2011, 14:12
Сообщение #100


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
Все - это которые? Strcpy и Strcmp?
Ну а смысл? Ведь судя по результату - реализация очень слабая...

смысл - gcc че-то в free-standing глючит с библиотечными.
а реализация нормальная, просто компиллер, когда копирует строковые константы иногда может хитрый код генерить. в данном случаи
Код
strcpy (Ptr_Glob->variant.var_1.Str_Comp,"DHRYSTONE PROGRAM, SOME STRING");

он взрулил. в других случаях,где идет у меня работа с usb-дескрипторами он вообще хочет вызывать обычную strcpy, реализация которой ничем не лучше(и не хуже) моей.

Цитата
ЗЫ: а printf тоже ваша собственная?

да, простой. не хотел запариватся обучать gcc-шный, как правильно работать под моей системой, с моими драйверами, куда собственно выводить итп, а если он еще кучи использует, так вообще пахать не будет, у меня нету куч,статика чисто.
проще свой написать, всего каких-то там 120 строчек кода
и инлайны memxxx и strxxx все вместе 70 строчек кода

попробую еще какой-нибудь ogg или jpeg запихнуть, посмотрим как оно
Go to the top of the page
 
+Quote Post

9 страниц V   1 2 3 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 04:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.02718 секунд с 7
ELECTRONIX ©2004-2016