Linux драйвер за устройство: предаване на данни в един регистър

Опитвам се да предавам поточно част от данните възможно най-бързо в един регистър в хардуера и ще оценя някои съвети. Тоест, запишете всяка дума от данните в регистъра последователно.

Представям си поточно предаване на данните чрез пренасочване към файла на устройството: data.bin > /dev/stream_df0

Знам, че това е неясно, но за първи път правя нещо подобно и ще оценя всичко, което имате да ми хвърлите:

? Какви съображения трябва да взема, преди да започна този проект, за да го направя възможно най-бързо?

? Ще се справи ли драйверът на символно устройство добре/подходящ ли е за тази задача?

? Изцяло неефективен/непрактичен ли е начинът, по който действам?

Благодаря предварително.


person user2162449    schedule 22.08.2013    source източник
comment
Драйвер за символно устройство би изглеждал подходящ, да :) Действителната механика на прекъсване/DMA от най-ниско ниво, която извършва действителното пълнене в хардуерния FIFO-нещо, е специфична за устройството/архитектурата. Ако това е първият път, когато внедрявате такъв драйвер, пожелавам ви много късмет :)   -  person Martin James    schedule 22.08.2013


Отговори (1)


Ако имате предвид, че искате да направите нещо подобно:

for(i=0;i<N;i++) { outp(data[i],port_number); }

Бих се опитал да направя това с помощта на инструкциите за асемблер "rep outsb/outsw/outsd".

person Martin Rosenau    schedule 22.08.2013
comment
О, едва ли ще е ТОЛКОВА лесно ;( - person Martin James; 23.08.2013