[uquote="muravei_",url="/forum/viewtopic.php?p=4701644#p4701644"]похоже вы тут один , кто использует 2040.[/uquote]
Не совсем, я использую RP2350 и все пишу на C++ с нуля сам, т.е. никакого SDK и queue_add_blocking(), даже компилятор для PIO самописный )
ARM в виде Raspberry Pi
- Реклама
Re: ARM в виде Raspberry Pi
[uquote="muravei_",url="/forum/viewtopic.php?p=4701644#p4701644"]Меня интересует использование 2х ядер.
Одно - подготавливает данные , второе - передает по SPI. Все это по таймеру. .[/uquote]
допотопный одноядерный stm32f103 умеет это готовить. один буфер с данными формируется посредством CPU, в это время по DMA содержимое готового буфера передается на SPI интерфейс. стоит ли городить огород с двумя CPU?
Одно - подготавливает данные , второе - передает по SPI. Все это по таймеру. .[/uquote]
допотопный одноядерный stm32f103 умеет это готовить. один буфер с данными формируется посредством CPU, в это время по DMA содержимое готового буфера передается на SPI интерфейс. стоит ли городить огород с двумя CPU?
Re: ARM в виде Raspberry Pi
[uquote="Adrift",url="/forum/viewtopic.php?p=4701660#p4701660"]с нуля сам[/uquote]
А как , для него и официального CMSIS нет?
Или вы используете структуры что в сдк?
JackSmith,
Кроме того , чтобы использовать DMA,
И да, DMA уже будет занят.
А как , для него и официального CMSIS нет?
Или вы используете структуры что в сдк?
JackSmith,
Допотопный stm32f103 , сейчас может оказаться совсем не допотопным , и не stm32f103.допотопный одноядерный stm32f103
Кроме того , чтобы использовать DMA,
его надо готовить, сам себя буфер не сготовит. А для этого , надо разбираться в чужой библиотеке, и тратить время свое и процессора, которого и так в обрез.содержимое готового буфера передается на SPI интерфейс ,
И да, DMA уже будет занят.
Re: ARM в виде Raspberry Pi
[uquote="muravei_",url="/forum/viewtopic.php?p=4702039#p4702039"]А как , для него и официального CMSIS нет?
Или вы используете структуры что в сдк?[/uquote]
У меня гибрид SDK и CMSIS 6.1, все в двух файлах. Хотя официальный CMSIS в SDK как бы есть, но он кастрированный и пользоваться им невозможно...
Или вы используете структуры что в сдк?[/uquote]
У меня гибрид SDK и CMSIS 6.1, все в двух файлах. Хотя официальный CMSIS в SDK как бы есть, но он кастрированный и пользоваться им невозможно...
Re: ARM в виде Raspberry Pi
[uquote="Adrift",url="/forum/viewtopic.php?p=4701660#p4701660"]я использую RP2350 и все пишу на C++ с нуля сам,[/uquote]
Приобрел 2350 , м33 мне понравился , плавучий сопроцессор изрядно помогает , раза в 1.5 !
Но второе ядро так и не удалось заставить реально работать.
Подскажите , как сделать синхронизацию 2х ядер.
Сейчас , я в первом ядре присваиваю переменным указатель и длину массива и устанавливаю флаг Start
Это действие "огорожено " спинлоком из сдк .
Во втором , "бесконечно" опрашиваю флаг и по установленному - передаю, уже местным( из 2 ядра) переменным указатель и длину массива. Здесь без "огородки" , иначе спинлок становится вечным.
Так вот - эта передача (в отладке) происходит при не установленном флаге. ????
Может , это глюк отладки? Без отладки срабатывает один раз... Причину хотел понять при отладке.
Замкнутый круг. 
Отладка там еще та. Пару месяцев искал "черную кошку" - отладка показывала что мк зависает в сдк .
Пока не догадался посмотреть листинг диза.
Оказалось , там нет той функции , куда проц должен перейти , и он переходил на ту которая была...
А в меп и функция и адрес имеется , но отладчик так далеко не может. И живьем все работало.
И было бы здорово , если бы вы показали , как сделать спинлок без сдк.
Приобрел 2350 , м33 мне понравился , плавучий сопроцессор изрядно помогает , раза в 1.5 !
Но второе ядро так и не удалось заставить реально работать.
Подскажите , как сделать синхронизацию 2х ядер.
Сейчас , я в первом ядре присваиваю переменным указатель и длину массива и устанавливаю флаг Start
Это действие "огорожено " спинлоком из сдк .
Во втором , "бесконечно" опрашиваю флаг и по установленному - передаю, уже местным( из 2 ядра) переменным указатель и длину массива. Здесь без "огородки" , иначе спинлок становится вечным.
Так вот - эта передача (в отладке) происходит при не установленном флаге. ????
Может , это глюк отладки? Без отладки срабатывает один раз... Причину хотел понять при отладке.
Отладка там еще та. Пару месяцев искал "черную кошку" - отладка показывала что мк зависает в сдк .
Пока не догадался посмотреть листинг диза.
Оказалось , там нет той функции , куда проц должен перейти , и он переходил на ту которая была...
А в меп и функция и адрес имеется , но отладчик так далеко не может. И живьем все работало.
И было бы здорово , если бы вы показали , как сделать спинлок без сдк.
- Реклама

