Отговори на тема  [ 41 мнения ]  Отиди на страница Предишна  1, 2, 3
атомични операции, fifo 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7883
Местоположение: София
Мнение Re: атомични операции, fifo
syscop написа:
Реконструктор написа:
Проблема ти е, че имаш прекъсване, което пише във fifo-то и те е страх, че ще се омажат нещата, когато се чете от основния цикъл? :)


Долу-горе. Мога да вдигна флаг, с който да кажа на другите да не пипат по fifo-то. Не знам точно как да процедирам с флага - ще се стигне до следното: проверявам флага от главния цикъл, в същото време (по законите на Мърфи) идва прекъсване и handler-а променя флага, защото трябва да пипа по fifo-то. Та според мен операцията по смяна/проверка на флага трябва да е атомична - един път започнала трябва да завърши без друг може да се намеси.


Първо си помисли дали наистина ти трябва - това се прави в случаи, в които може да има събития с голяма честота за кратко време, тоест процесора не може да ги обработи веднага и с fifo-то обработката им се отлага за известно време (това беше част от закачаката, на която никой не можа да ми отговори) :D
Ако няма проблем да се обработи веднага, няма нужда от фифо.
Ако все пак има, убеди се, че указателите ти са с разредността на процесора и даже можеш за по-сигурно да напишеш записа/четенето на асм, за да си убеден че са атомарни. Ако ти трябва указател с по-голяма разредност, нямаш друг (прост) избор освен да забраняваш прекъсването за времето в което четеш/пишеш указателя. Ако поради някаква извънредно странна причина не искаш да забраняваш прекъсвания, нещата стават сложни и "програмистки" :) ако казаното до тук не те устройва, ще поговорим и на тая тема.


Вто Юли 24, 2018 1:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 8:22 am
Мнения: 15501
Местоположение: София
Мнение Re: атомични операции, fifo
Човека шляпа на АРМ, указателите са му 32 бита и достъпа е атомичен.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Юли 24, 2018 5:07 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7883
Местоположение: София
Мнение Re: атомични операции, fifo
Еми тогава за кво е целия шум? :)


Вто Юли 24, 2018 5:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 8:22 am
Мнения: 15501
Местоположение: София
Мнение Re: атомични операции, fifo
Ми и ние това се чудим...

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Юли 24, 2018 5:17 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1968
Мнение Re: атомични операции, fifo
Човек не може да знае всичко. Затова питах. Някои неща ми се изясниха, за което благодаря. Други не толкова, тях ще ги оставя да отлежат.

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Вто Юли 24, 2018 7:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 8:22 am
Мнения: 15501
Местоположение: София
Мнение Re: атомични операции, fifo
Това дето аз не разбрах е кой седи на входа и кой на изхода на фифо-то.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Юли 24, 2018 9:52 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1968
Мнение Re: атомични операции, fifo
На входа стои "таймер", чрез който на определен период(1мс) се четат няколко сензора. На изхода е usb.

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Сря Юли 25, 2018 5:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 8:22 am
Мнения: 15501
Местоположение: София
Мнение Re: атомични операции, fifo
Т.е. един процес пише и един чете?

А данните във фифото как са структурирани - просто отчети или са укропнени в пакети?

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Юли 25, 2018 7:28 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 10:41 am
Мнения: 1664
Мнение Re: атомични операции, fifo
syscop написа:
На входа стои "таймер", чрез който на определен период(1мс) се четат няколко сензора. На изхода е usb.


Значи решението, което съм дал върши работа.
При него на входа е UART(прекъсване) на изхода Ethernet, или респективно обратното. Има да се гарантират едни 16 бита, което вече 100 човека обясниха, че е свършено на ниво АРМ.
Няма нужда от черна магия... :lol: :lol: :lol:


Сря Юли 25, 2018 8:03 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1968
Мнение Re: атомични операции, fifo
Ок, направих нещо подобно за тестовете, не точно същото но свърши работа.

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Сря Юли 25, 2018 8:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1968
Мнение Re: атомични операции, fifo
https://www.microchip.com/forums/m879185.aspx - на това попаднах докато ровех за други неща. Може да е полезно на някой.

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Пет Окт 26, 2018 8:28 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 41 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни