Easyelectronics.ru

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

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



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

Начать новую тему Ответить на тему  [ Сообщений: 264 ]  На страницу Пред.  1 ... 7, 8, 9, 10, 11
Автор Сообщение
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 03 июн 2018, 15:54 
Старожил

Зарегистрирован: 18 июл 2016, 21:17
Сообщения: 746
Инициализация делается грубо говоря один раз и её не так важно писать на ассемблере. Вот что на мой взгляд важно - это графика. Прямая, круг, закрашивание, вывод шрифта - это все на си как то получается очень медленно.
Например, memset заполняет какой либо массив на порядок быстрее, чем если тот же массив заполнять в цикле (при любом уровне оптимизации).


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

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1825
Однако, memset - это уже написанная библиотечная ф-ция и нет нужды еёйную писать заново.
Основа её - простая ассемблерная инструкция сохранения str, в которой сохраняемое число из регистра записывается в адрес, указанный в другом регистре, плюс смещение, которое инкрементируется на +1 в каждом цикле. Очень простая реализация. То есть, при вызове memset параметры ф-ции заносятся в регистры, вызывается ф-ция memset и тупо прогоняются 4 (если не изменяет память) инстуркции до тех пор, пока в результате сравнения инстукцией cmp не будет получен отрицательный результат.
Цикл for() имеет немного другую структуру, хотя и отличается буквально на пару-тройку инструкций. Так что он медленнее не на порядок конечно же, а всего то раза в полтора-два.
Ну и вот тут, как раз в таких циклах и пригодится кэширование! В кэш загружаются инструкции всего цикла и после этого инструкции поступают процессор уже не из медленного флеша, а напрямую из кэша инструкций, на скорости ядра.

А для заполнения прямоугольных областей давно уже придуман DMA2D, он, помимо скорости, имеет очень важную штуку - преобразование форматов пикселя и автоматически учитывает ширину слоя и размер закрашиваемой области. Простыми словами - умеет закрашивать ограниченный прямоугольник внутри размеров слоя. memset этого не умеет. И закрашивать прямоугольник придется построчно.


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

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 104
В целом камушки-то прорывные. С точки зрения производительности.

До флешки я ещё не добрался, сейчас она меня мало интересует, в ёй до сих пор оригинальная прошивка от дискавери лежит. (вся работа делается в оперативке и пока это устраивает). А что, одноцикловый доступ к флешке работает только через алиасы по адресу 0x200000? Ну лишь бы работала.

Я привык, что не смотря на гигантские скорости современных камней, код из флешки работает так же 0 wait state, как и на классических скоростях до 16 МГц. Но в наше время, вся серьёзная работа делается из ОЗУ. Тем более, когда его становится всё больше и больше. (и это радует!)

А что, так трудно реализовать охапку-другую сетевых протоколов на ассемблере? Кто-то уже пробовал? На мой взгляд, главное поставить всё на правильные рельсы. А дальше, хоть испишись..... Какой-нибудь простейший ARP потребует строк 30-50 кода, разве это сложно и безсмысленно? Доступен и открыт Hash процессор, можно попробовать свои силы в шифрованном доступе к сетевым ресурсам! Например, зашифрованные пароли. Должно работать. Машинного времени навалом.

Тем более, серьёзные вещи делаются на H7, я думаю..

Пока что я столкнулся с одной странностью - Ethernet DMA не работает во встроенной SRAM. В любом из банков. Транзакция завершается ошибкой bus error. Как только переставляю указатель на внешнюю SDRAM, всё сразу подхватывается и летает. Где-то проскакивало, на забугорных сайтах, что в H7 это пофиксили....


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

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1825
Нет, более серьезные вещи делаются на Cortex A53 :)))) Буква A - означает профиль Application. А в H7 стоит такое же, как и в F7, ядро Cortex M7, профиль Microcontroller.
А вот то, что не разобравшись со структурой шин, флеша, ОЗУ, вы сразу решили "большую выкладку на ассемблере" делать - это не шибко то хорошо. Потом придется писать "...ах, как я ошибался".
Причем, еще не факт, что хорошо на ассемблере напишите. :) Небось, освоили только базовые mov, ldr, str, add, sub, and, orr, cmp, b? Причем, стопудово не вникали шибко в особенности и ограничения второго операнда и в conditional execution. А там ажно 15 вариантов условий. А знаете ли, за сколько тактов исполняется каждая инструкция? А знаете ли, что одна и та же инструкция может быть представлена в 32-битной (.w) или 16-битной (.n) ширине? А знаете ли, как зависят ограничения операндов в зависимости от ширины инструкции? А знаете ли, для чего придуман базовый адрес периферии и почему в мануалах регистры пишутся как смещение конкретного регистра от базового? Вооо. Тут как бы однано на откуп компромиссам. Либо повышаете скорость исполнения, записывая напрямую 4-байтовый адрес регистра, либо записываете 4-байтовый базовый адрес, а дальше в виде константы смещения внутри инструкции ldr. И опять же, приходится учитывать, что 4-байтовый адрес в виде слова будет записан во флеше через несколько адресов вперед от текущего счетчика pc (например, ldr r2, [pc, #52] ), а это значит, что пойдут дополнительные чтения флеша, да плюс еще перерасход флеша на хранение полного 4-байтового адреса для каждого обращения к регистру. Либо обращение к базовому адресу, базовый адрес один раз пишется 4-байтовым словом, затем к остальным регистрам идет обращение в виде смещения во втором операнде инструкции. И это смещение записывается константой в самой инструкции: [r3, #16]
Короче, компромисс на компромиссе и компромиссом погоняет :)
С ассемблером у вас чувствуется тяжкое наследие ПИКоводства и АВРщины :) Не, ну я тоже раньше когда-то писал на ассемблере для ПИКов, но это были PIC16.
Однако, в Cortex A53 навряд ли вы найдете энтузиаста, пишущего на ассемблере. Там даже Си уже не канает, ибо он слишком неповоротливый.

"Серьезная работа в ОЗУ" может и делается, но откуда поступают инструкции для выполнения этой "серьезной работы"??? В микроконтроллерах принято читать из флеша. В процессорах флеша нет, но есть кэш инструкций. В микроконтроллерах тоже бывает кэш инструкций, работающий по схожему принципу. Кэш тоже представляет собой ОЗУ, только его внутренности недоступны, работой кэша управляет его собственный аппарат. Наружу выведены лишь сигналы "вкл/выкл", "сброс", "состояние".

Про отладку и исполнение кода из оперативки - это я тоже использую, для тестов. Но тут тоже есть нюансы в виде пересечения потоков в матрице шин. SRAM то однопортовая. В мануалах про это написано. И как раз для этого в F7 лучше использовать память ITCMRAM (адрес 0x0000 0000, в скрипте загрузчика надо именно его прописать). Она всего 16 кБ, зато выделенная шина и инструкции поступают так же, как и из флеша, не пересекаясь с данными. Почитав мануал, вы это увидите на картинке.

По флешу - опять ошибочка, не читали мануалов. 0WS до скорости 30 МГц при нормальном напряж. питания, и до 20 МГц при низком напряж. А езернет вы можете использовать при частоте AHB-шины не ниже 25 МГц.
Беда в том, что вы плохо читаете мануалы, зато спешите много и взахлеб писать, путая H7 и F7.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 06 июн 2018, 22:58 
Только пришел

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 11
Привет всем. Писанины на 11 страниц а толку мало. Кто-то реально работал уже с ними? У меня такая проблема записываю программу отлаживаю все нормально, перекомпилирую тот же проект и все отладчик крашиться при этом из анализатоа видно в исключений или еще чего нет, записываю пустой проект все нормально и так же нормально потом пишу тот же самый первый проект. Было ли еще такое у кого, это моя программа такое вытворяет или seggerовцы еще не допилили свою отладку.

На асме нужно экзотику писать, то чего не может постич этот долбанный GCC. А так в инициализации железа 100% занимает пересылка данных это ж так скучно)
F7 действительно постигнет участь F2 учитывая одинаковость цены. А метр СОЗУ на дороге не валяеться. Да камешек имеет очень свежий взгляд инженеров на вещи, а то из семейства в семейство одно и тоже, а тут как первый раз STM32 в руки взял.


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

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1825
Извиняюсь, от вашего сообщения тоже толку не много - даже не понятно, че вы там намутили с проектом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 07 июн 2018, 00:42 
Только пришел

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 11
Исправляюсь. Консоль выдает следующее:
Код:
/home/build/gcc-arm-none-eabi-6-2017-q1-update/src/gdb/gdb/cp-namespace.c:343: internal-error: cp_search_static_and_baseclasses: Assertion `name[prefix_len + 1] == ':'' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) [answered Y; input not from terminal]

This is a bug, please report it.  For instructions, see:
<http://www.gnu.org/software/gdb/bugs/>.

/home/build/gcc-arm-none-eabi-6-2017-q1-update/src/gdb/gdb/cp-namespace.c:343: internal-error: cp_search_static_and_baseclasses: Assertion `name[prefix_len + 1] == ':'' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) [answered Y; input not from terminal]

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.


А это подробности проблемы при исключения приложений в винде:
Код:
Сигнатура проблемы:
  Имя события проблемы:   APPCRASH
  Имя приложения:   arm-atollic-eabi-gdb.exe
  Версия приложения:   0.0.0.0
  Отметка времени приложения:   004cf8b6
  Имя модуля с ошибкой:   arm-atollic-eabi-gdb.exe
  Версия модуля с ошибкой:   0.0.0.0
  Отметка времени модуля с ошибкой:   004cf8b6
  Код исключения:   40000015
  Смещение исключения:   001cbca9
  Версия ОС:   6.1.7601.2.1.0.256.1
  Код языка:   1049
  Дополнительные сведения 1:   1dbf
  Дополнительные сведения 2:   1dbf33d00a7544ba8b08c66cc79ee26b
  Дополнительные сведения 3:   21d7
  Дополнительные сведения 4:   21d7121a7d6ff1717350c7fbea4dda75


Я уверен что нахомутал в скрипте линкера, т.к. нихрена не понимаю, но создал там свои секции можно сказать наугад. Еще заметил что неинициализированные глобальные переменные не обнуляються, bss секция насколько я понял.


Вложения:
stm32h7_flash.ld.txt [10.18 Кб]
Скачиваний: 14
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 07 июн 2018, 01:41 
Только пришел

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 11
Как оказалось стартап совсем кривой, нужно его подшаманить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 07 июн 2018, 10:30 
Только пришел

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 11
Также было принято решение использовать не две таблицы векторов а одну, для пользовательской программы вектора будут задаваться через API что сэкономит почти 1к флеша.


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

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 104
MasterElectric
А что у вас за платка? Покажите? )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 07 июн 2018, 23:08 
Только пришел

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 11
LWW У нас в Украине плат на них вообще нет никаких еще пока, а вот чипы недавно появились практически все что в lqfp ну и цена в 2 раза больше чем на сайте указана (понятно что там опт).
https://drive.google.com/open?id=1Jibo- ... mEYEfauK-Q
https://drive.google.com/open?id=1YkscB ... u0wnuZFeb6
https://drive.google.com/open?id=1LIpq5 ... DLDjy_b6U_
https://drive.google.com/open?id=1Y8nkl ... bJf4XJYIip

пришлось колхозить, но в итоге отлично вышло 5 модулей + 7'' экран.
вид страшненький он пережил монтаж - демонтаж и снова монтаж) я удивился что он выжил.

J-Link v8 конечно же отказался с ним работать как и с любым М7, как полечить никто не знает? т.к. ст-линк перешитый в j-link отлично с ними работает.


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

Зарегистрирован: 09 янв 2013, 16:21
Сообщения: 104
А как он справляется с 7" экраном и двумя слоями одновременно?

Впечатляет максимальная частота LCD конрроллера - 150МГц %)
С такими частотами можно FullHD поднимать!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новости от ST - новая серия микроконтроллеров STM32H7
СообщениеДобавлено: 08 июн 2018, 11:10 
Только пришел

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 11
Я LTDC запускал только с одним слоем и то на F429 на этой же плате. Просто заливал цветом и все, пока это направление не интересует. Сейчас цель написать простенький диспетчер задач потому как эффективно работать с ПДП и в сложных проектах уже не так просто без многозадачности. Диспетчер простой, вопросы синхронизации ложаться на плечи программиста.


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

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1825
Какие вам еще "фулл-хэ-дэ", да еще в двух слоях? Мануалы то читали? Максимум - XGA, это 1024 х 768
http://www.st.com/content/ccc/resource/ ... 388325.pdf


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

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


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

Сейчас этот форум просматривают: goreprogrammist, mChel


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

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

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