Jump to content

    
GenaSPB

STM32MP1 - bare metal

Recommended Posts

8 часов назад, GenaSPB сказал:

Нашел даташит... i2s наружу точно нет

Если про v3s можно ведь spi использовать, там до 100МГц клок можно сделать...

Share this post


Link to post
Share on other sites
11 часов назад, GenaSPB сказал:

Это вот это что ли? Я думал алвиннер это bga по определению... для изучения пойдет?

999,98 руб. | Lichee Pi Zero Allwinner V3S ARM Cortex-A7 Core CPU Linux Development Board IOT Internet of Things

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

Share this post


Link to post
Share on other sites
28 минут назад, AHTOXA сказал:

Но я как представлю, сколько мучений будет найти доки...

Как ни странно, гугл знает :biggrin:

Мучения будут, если нет опыта разбираться в чужом коде, и на этапе помигать светодиодом, т.е. скомпилировать прогу и создать загрузчик. Плюс в том, что грузиться этот проц по усб, и есть соотв. прога, что мне очень помогло при отладке. Если есть хороший опыт в АРМ программировании, то проблем быть не должно, ИМХО.

Share this post


Link to post
Share on other sites

Особых мучений  не было при мигании светодиодом и обменом по UART. Загрузка тоже там наиэлементарнейшая (с SD карты). Необходимые тулзы ищутся с треском, но пока ещё ищутся.

 

Сильные мучения вылезут при программировании конкретных автоматов - DMA, дисплей, кодек.  В даташитах приведены регистры и их разбитовки.  Но ни слова о том как настроить тот же DMA на передачу данных из памяти в аудио-ЦАП с тактированием от таймера, диктующим частоту семплирования. И выдаванием прерывания по окончанию передачи.  

 

При самостоятельном освоении необходимо будет прибегать к интуиции, экспериментам.  Будет всё крыться в досадных мелочах типа, правильный формат данных,  включение мутных бит, в регистрах, косвенно относящихся к программированию DMA и прочего...

 

Edited by __inline__

Share this post


Link to post
Share on other sites
8 часов назад, __inline__ сказал:

Сильные мучения вылезут при программировании конкретных автоматов - DMA, дисплей, кодек.

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

У аллвиннеров на удивление, все эти девайсы заработали почти сразу. Причем ДМА там очень простой, не то, что у фриски, и у старых процов (А10, А13) он еще и удобный для копирования блоков, в 2Д режиме... 

Share this post


Link to post
Share on other sites
9 часов назад, __inline__ сказал:

Загрузка тоже там наиэлементарнейшая (с SD карты). Необходимые тулзы ищутся с треском, но пока ещё ищутся.

Эт для меня как-раз не удобно, за каждым измененным байтом перезагружать все на карту...  К счастью, китайцы подсмотрели наверно у брендов, что удобно загружаться по усб, и это гораздо приятней для отладки, НО как всегда, все "приятные фишки" они не уловили, как например, у фриски при загрузке сразу конфигурируется внешняя память, поэтому приходится сначала грузиться в статику, потом включать память вручную, и затем грузить уже в нее что-то более серьезное. Тот инженер, у фриски, который сделал это удобно, не зря ест свой хлеб...

Edited by mantech

Share this post


Link to post
Share on other sites
6 hours ago, mantech said:

У аллвиннеров на удивление, все эти девайсы заработали почти сразу. Причем ДМА там очень простой, не то, что у фриски, и у старых процов (А10, А13) он еще и удобный для копирования блоков, в 2Д режиме... 

 

Такое ощущение что вы для графики SDMA использовали на imx6s :) так то у них PXP есть на некоторых - помню его еще со времен i.mx233 - просто как молоток. Даташит не пробовали смотреть ?

https://community.nxp.com/thread/321880#comment-393236

Share this post


Link to post
Share on other sites
8 hours ago, mantech said:

У аллвиннеров на удивление, все эти девайсы заработали почти сразу. Причем ДМА там очень простой, не то, что у фриски, и у старых процов (А10, А13) он еще и удобный для копирования блоков, в 2Д режиме... 

У C6745 ДМА очень не простой. Много вещей пришлось курить. В частности, не так просто было добиться прерывания по завершению передачи. Нужно было заэнаблить биты в теневых регистрах, которые к ДМА имеют очень косвенное отношение. А без этого только статус-порт опрашивать, не очень хорошо.

Share this post


Link to post
Share on other sites
9 часов назад, __inline__ сказал:

У C6745 ДМА очень не простой. Много вещей пришлось курить. В частности, не так просто было добиться прерывания по завершению передачи. Нужно было заэнаблить биты в теневых регистрах, которые к ДМА имеют очень косвенное отношение. А без этого только статус-порт опрашивать, не очень хорошо.

Не знаю. Я конечно давно программировал EDMA3, но не помню каких-то сложностей. Да и глядя сейчас на код инициализации EDMA3 - вроде он довольно простой. Заработало всё у меня быстро.

Другое дело что возможностей у EDMA3 конечно много: и 3-х-мерные пересылки и произвольное (почти) смещение по каждому измерению и два отдельных трансфер-контроллера (с разными приоритетами доступа к шине), ...

Share this post


Link to post
Share on other sites
28 minutes ago, jcxz said:

Не знаю. Я конечно давно программировал EDMA3, но не помню каких-то сложностей. Да и глядя сейчас на код инициализации EDMA3 - вроде он довольно простой. Заработало всё у меня быстро.

Другое дело что возможностей у EDMA3 конечно много: и 3-х-мерные пересылки и произвольное (почти) смещение по каждому измерению и два отдельных трансфер-контроллера (с разными приоритетами доступа к шине), ...

Где-то в DSP-разделе полегла моя тема с запуском McASP через DMA.  Суть в том, пока в DRAE не будут взведены нужные биты, прерывание конца пересылки возникать не будет.  Сложности возникают, когда DMA работает в режиме пмять=>периферия.   Если сравнить с STM32, то у C6745 DMA всё-же сложнее.   Но это нисколько не умаляет его достоинств и преимуществ перед убогим ДМА на STM32 :)

Share this post


Link to post
Share on other sites
3 минуты назад, __inline__ сказал:

Где-то в DSP-разделе полегла моя тема с запуском McASP через DMA.  Суть в том, пока в DRAE не будут взведены нужные биты, прерывание конца пересылки возникать не будет.  Сложности возникают, когда DMA работает в режиме пмять=>периферия.   Если сравнить с STM32, то у C6745 DMA всё-же сложнее.   Но это нисколько не умаляет его достоинств и преимуществ перед убогим ДМА на STM32 :)

Я EDMA3 не с STM-овским сравнивал. У меня больше опыта как раз с TI-шными контроллерами, а не с STM-овскими. Это и TMS32VC5502 и Tiva и Concerto и OMAP-L137. А с STM32 работал плотно только с одним. Может поэтому было не так сложно осваивать, так как идеология у TI везде более-менее похожая.

Share this post


Link to post
Share on other sites
16 часов назад, sasamy сказал:
22 часа назад, mantech сказал:

У аллвиннеров на удивление, все эти девайсы заработали почти сразу. Причем ДМА там очень простой, не то, что у фриски, и у старых процов (А10, А13) он еще и удобный для копирования блоков, в 2Д режиме... 

 

Такое ощущение что вы для графики SDMA использовали на imx6s :) так то у них PXP есть на некоторых - помню его еще со времен i.mx233 - просто как молоток. Даташит не пробовали смотреть ?

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

Share this post


Link to post
Share on other sites
1 hour ago, mantech said:

Пробовал и ничего не увидел там, похожего на аппаратный блиттер

 

странно, на imx233 он был :)  перводначально я работал с ним  напрямую с регистрами, потом переделал под стандартный линуксовый драйвер v4l2 out. Хотя про i.mx6 утверждать не буду - я там не пробовал, не было необходимости при наличии IPU и 2D GPU

 

http://www.starterkit.ru/html/index.php?name=forum&op=view&id=7471&num=3#7915

 

odry_tux.jpg

 

1 hour ago, mantech said:

Формат пикселя у меня один ARGB8888, поэтому преобразовывать мне его ни в чего не нужно

 

так оставляйте на входе и выходе один формат.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.