[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] Issue with Cortex Emac driver
From: |
Freddie Chopin |
Subject: |
Re: [lwip-devel] Issue with Cortex Emac driver |
Date: |
Tue, 23 Feb 2016 10:49:59 +0100 |
Hello!
On śro, 2016-02-17 at 08:45 -0700, RAc wrote:
> I looked at the current Cube (ST software suite) where the EMAC
> driver has been relocated into the HAL.
>
> I don't think this particular issue has been addressed in the driver.
I see... But is there any other EMAC driver that you would consider
free from this issue?
> Another thing that you may want to look out for is this: The ST HAL
> has an operating system abstraction layer, meaning there are wrappers
> for OS primitives that need to be filled in with OS specific
> implementations. That's not a problem in itself, but it uses a
> semaphore signalling mechanism between the ISR and the input
> processing thread which doesn't translate well to some OSs (the
> abstraction doesn't, the architecture itself is absolutely off-the-
> shelf and fine). I use FreeRTOS extensively, and on FreeRTOS, you
> must use XxxFromISR() vs. Xxx() routines from ISRs which would
> require different implementations. Also, in particular with the EMAC
> ISR, you really WANT to use portYieldFromISR() to achieve a better
> packet throughput which would also require making case by case
> decisions in the abstraction layer.
>
> I'm sure that every OS has its own idiosyncracies which make it
> cumbersome to try to use an unmodified HAL code base...
--- self-advertisement ---
This won't be a problem for me. I'm going to use my own RTOS which is
free from nonsense such as "...FromISR()" and "...()" function variants
(; It is a new project, so I cannot say with 100% confidence that all
bugs were found and fixed <: , but it generally works the way it should
in the areas that were tested. As I already started this topic, I'll
take the liberty of posting a link to project's website
http://distortos.org/
Integration with LwIP (and also with FreeMODBUS - it will be used in
this project too) is going to be a pretty good test for the project,
but I'd really like to separate issues related to RTOS from issues
related to EMAC driver...
--- end of self-advertisement ---
Regards,
FCh