softirq in rtems

Chan Kim ckim at etri.re.kr
Thu Jun 18 05:15:00 UTC 2015


Hi, Sebastian,

> If you use the Linux SDHC driver, then you have to be careful since this is
> GPLv2. Why don't you use the SDHC controller of FreeBSD which is already
> present in the libbsd? In libbsd you can use taskqueues for example. The
> standard way in RTEMS is to use a separate task for this.

I tried using libbsd and it compiles ok for sparc leon2. By the way, for using libbsd, I have to update to the current rtems version, so I have to patch it for our own processor and some peripherals which seems to be a bigger work for me than writing a driver for our current rtems version(I'm not sure, I'll try.). For GPLv2 issue, the design is for our internal project, but becase the SD cotroller is our own design, I understand we'll have to open the source if we want to expose it outside anyway.

For my original question, from the current libbsd port of dw_mmc, I understand the proper method of implementing tasklet like mechanism is to make a separate thread, and send event from the ISR using rtems_send_event, and receive the event at the thread using rtems_receive_event. Correct me if I'm wrong.

Chan



보낸 사람 : "Sebastian Huber" <sebastian.huber at embedded-brains.de>
보낸 날짜 : 2015-06-17 20:05:30 ( +09:00 )
받는 사람 : 김찬 <ckim at etri.re.kr>, users at rtems.org <users at rtems.org>
참조 : 
제목 : Re: softirq in rtems

If you use the Linux SDHC driver, then you have to be careful since this 
is GPLv2. Why don't you use the SDHC controller of FreeBSD which is 
already present in the libbsd? In libbsd you can use taskqueues for 
example. The standard way in RTEMS is to use a separate task for this.

On 17/06/15 10:57, Chan Kim wrote:
> Hi,
> In linux, we can defer some works in interrupt service routine to softirq. (linux has about 7 softirqs, including network TX, network RX, tasklet among them). I try to move some code in linux SD card host controller driver to RTEMS but I don't know how to implement tasklet in RTEMS. (I want to do some time consuming working in tasklet by just scheduling it to be done in tasklet during ISR)
> In RTEMS, do we have a convenient tool like softirq in linux? Otherwise, I will have to do it all in ISR or make a separate task and use some variables to start the time-consuming task in the thread.
> Thanks in advance.
> Chan
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


More information about the users mailing list