AlexandrY 3 27 марта, 2015 Опубликовано 27 марта, 2015 · Жалоба Я как раз сравнивал STM32F4 и STM32F7, оба 90нм. F7 где то на 20% более прожорлив на той же производительности. Однако вопрос как вы контролировали их производительность, чтобы она была одинаковой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба Ресурсов у нее хватало, конечно у серии "мега", а простота очевидна - запустить таймер или уарт - 3-4 ассемблерных команды! Где такое в арме?? А ассемблер, или авр, элементарный и интуитивно понятный или армовские навороченные команды, где без книжки непонятно, что и какие суффиксы и префиксы... Ну понеслась она по кочкам :rolleyes: Таймеры в кортексах наворочены до тошнотиков, но программировать их увлекательно! (нежели уТомительно). Поэтому да, что бы запустить ножку на генерацию ШИМ, понадобится 17 строк кода. Ну так это же прикольно! Там столько возможностей, что аж дурно становится.. И потом, что тут за наезды на ассемблер? :1111493779: Именно в кортексах ассемблер самый прикольный из всех возможных! Причём полностью и хорошо документирован! Правда на английском. Нужна русская книжка. Там именно возможности и ещё раз возможности. В отличии от AVR8, где всё по струнке, тесными рядами, в 8-битном формате. Только могли бы в М7 набросить командочек ещё каких-нибудь прикольных. Недостаток у кортексов один - мало регистров :mad: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба Недостаток у кортексов один - мало регистров :mad: А на мой взгляд - совершенно достаточно. Ибо кортексы затачивались и для удобства программирования на языках высокого уровня и для применения операционных систем реального времени. Чем больше регистров - тем длиннее контекст при переключении процессов. Да и при большем количестве регистров система команд претерпит радикальные изменения и неизвестно ещё в какую сторону. Что касается асскмблера, то я им практически не пользуюсь ибо нет нужды по приведённой выше причине. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба Что касается асскмблера, то я им практически не пользуюсь ибо нет нужды по приведённой выше причине. На мой взгляд, на ассеблере стоит писать лишь времязатратные алгоритмы, типа БПФ. Причем так, чтобы сперва дать C/C++-компилятору все откомпилировать, а потом вырезать из ассеблерного листинга данную процедуру и оформить ее в виде ассеблерной функции. А когда заработает, то подредактировать ассемблерный код так, чтобы меньше писалось в память, а больше сохранялось в регистрах (если последних достаточно). А сейчас в отношении регистров меня больше интересует вопрос о том, как в них держать число double64 (которое с двойной точностью). Станут ли у M7 все регистры вдвое длиннее или только некоторые из них? (Можно слазить на сайт ARM для выяснения этого вопроса, но может быть кто-то сходу может дать ответ?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба Посмотрите http://www.eembc.org/coremark/ Что ATMEL, что ST - оба юзают IAR для теста. keil реально дает 82% скорости от того, что дает iar, потому все сидят на иаре. Почему так, кто ленивее и тд - вопросы лирические. Хотя вряд ли это продлится долго. Посмотрел. Но Keil там не упоминается. Расскажите, как вы узнали, что Keil слабее IAR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kan35 7 28 марта, 2015 Опубликовано 28 марта, 2015 (изменено) · Жалоба Мне посчастливилось запускать Coremark на keil для STM32f7, и он показал 820 очков на 200мгц. Ну и специалисты из STM объяснили почему. Могу поделиться проектом с тестом coremark, если кому интересно. keil потому не упоминается, что смысл показывать меньшую производительность отсутствует. В eembc производители сами предоставляют результаты теста. Изменено 28 марта, 2015 пользователем kan35 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба А сейчас в отношении регистров меня больше интересует вопрос о том, как в них держать число double64 (которое с двойной точностью). Станут ли у M7 все регистры вдвое длиннее или только некоторые из них? (Можно слазить на сайт ARM для выяснения этого вопроса, но может быть кто-то сходу может дать ответ?) В M7 регистры как регисты, как в том же M0. Двойную точку читать и сохранять можно будет групповой операцией LDM/STM. На мой взгляд ассемблер это и есть единственный язык, на котором можно писать программы. Потому что он простой и очень точный, по отношению к архитектуре. И потом, я сейчас устрою дебош. Разобью всю мебель, посуду и выпивку :twak: :maniac::smile3009: Инициализация процессора по включению питания. Запуск генерации ШИМ, например для подсветки ЖКИ: - на меге 256 = 16 строк кода - на кортексе М407 = 17 строк кода Блин... я всю жизнь мечтаю встретить программиста! А не мечтателя-фантаста. Хоть один тут есть? :beer: :a14: Хватит уже наезжать на ассемблер и на превосходную архитектуру кортексов! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба В M7 регистры как регистры, как в том же M0. Двойную точку читать и сохранять можно будет групповой операцией LDM/STM. Ну, так куда же она читается из памяти и откуда туда пишется? Блин... я всю жизнь мечтаю встретить программиста! А не мечтателя-фантаста. Хоть один тут есть? :beer: :a14: Вам крупно повезло, это я! Но с кортексами не работала, а потому и ассемблера их не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RabidRabbit 0 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба Хватит уже наезжать на ассемблер и на превосходную архитектуру кортексов! Представляю Ваш щенячий восторг, когда Вы прочитаете про систему команд ARM (если Вы уже от тумбы в таком экстазе) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 28 марта, 2015 Опубликовано 28 марта, 2015 · Жалоба Блин... я всю жизнь мечтаю встретить программиста! А не мечтателя-фантаста. Хоть один тут есть? :beer: :a14: Хватит уже наезжать на ассемблер и на превосходную архитектуру кортексов! Забавно. Интересно, как выглядит на ассемблере веб-сервер или что-то в этом духе? А если другой процессор, то затачивай перо и строчи заново? Класс! Дайте две! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LWW 0 29 марта, 2015 Опубликовано 29 марта, 2015 · Жалоба Ну, так куда же она читается из памяти и откуда туда пишется? Ну.. у сопроцессора же есть свои регистры. У них есть свои прямые имена S0-S31. Ничего в памятях сохранять или читать не надо. Из обычных регистров пересылаем данные в регистры сопроцессора командой VMOV S0, R0 например. И всё :laughing: Всего у сопроцессора 32 регистра. Но они объединены ещё и в регистровые пары, с именами D0-D15. Это как указатели в АВРках - регистры X, Y, Z, хотя на самом деле их не существует. scifi Я веб-сервер ещё не писал, хотя планирую. Выглядит наверное так же, как и все серверы. Только очевидно постабильней и пошустрее будет. А может и на 100% стабильный, почему бы и да? И перенести его на любой камень не пролблема. Представьте себе, теперь и в атмелах и в других камнях, один и тот же набор команд. Это же кортекс B) Это раньше было, у каждого своё ядро.... Вот поднял сетку CAN. Всё на ассемблере, на прерываниях. Длинна UTP кабеля 137 метров. Скорость 100k. На 1.000.000 сообщений ни одной ошибки передачи/приёма. Оказалось всё просто до банальности, дольше собирался.. Не думаю, что http такой уж шибко сложный будет.. Я сетевые протоколы ещё на perl писал. Писанины конечно побольше, чем с CAN, ну ничего.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 29 марта, 2015 Опубликовано 29 марта, 2015 · Жалоба Именно в кортексах ассемблер самый прикольный из всех возможных! Причём полностью и хорошо документирован! Правда на английском. Нужна русская книжка. Там именно возможности и ещё раз возможности. В отличии от AVR8, где всё по струнке, тесными рядами, в 8-битном формате. Как-нить на досуге изучите асм для DSP семейства C55xx. Сильно разочаруетесь в кортексах Вот где писать на асм было удовольствие. После этого, асм кортекс - ерунда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 29 марта, 2015 Опубликовано 29 марта, 2015 · Жалоба LWW, а почему вы не пишете на C? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 29 марта, 2015 Опубликовано 29 марта, 2015 · Жалоба И перенести его на любой камень не пролблема. Представьте себе, теперь и в атмелах и в других камнях, один и тот же набор команд. Это же кортекс B) А вот мне довелось сбацать свой веб сервер (а так же TFTP, SNTP, SNMP), перейти на другой проц, а там всё это скомпилировалось и просто заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 29 марта, 2015 Опубликовано 29 марта, 2015 · Жалоба Человек со временем привыкает к любому языку, как к процессорному, так и к разговорному. А потом кажется, что он самый лучший. :) Вот и русский язык такой гадкий :), что до сих пор автоматические переводы на него получаются корявыми. Но даже пользуясь разговорным языком от рождения, мы в письме совершаем так много ошибок, что любой компилятор замучил бы нас варнингами и еррорами. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться