[En-Nut-Discussion] Unified GPIO implementation

Ulrich Prinz uprinz2 at netscape.net
Wed Oct 6 21:29:28 CEST 2010


Hi again :)

Am 06.10.2010 21:06, schrieb Thiago A. Corrêa:
>>> [...]
>> I don't know about AVR32 but with ARM/Cortex it would produce overhead
>> as you have to recalculate from pin number back to address of port.
>> That produces much more overhead than to pass over a second parameter.
>
> In the case of AVR32, a macro that converts pin to port/pin parameters
> will get calculated in compile-time.
>
Fine, that's what mine did too.

>> I would like to remind that we have two entry ways into Nut/OS:
>> 1) High portability
>> 2) High optimization
>>
>> 1) Is for people that like to start fast into the controller world and
>> use our example code. People that try to understand.
>> It is for people who like to contribute in general and like to write
>> drivers apart from the architecture ( that what goes into nut/dev).
>>
>> 2) Is for power users that optimize to the last bit. Code often needs
>> high efficiency tweaks that no one else needs to understand if the
>> product is into production. And it is for us low-level driver
>> programmers that don't accept an LCD that get 100 pixel per second if
>> using gpio functions instead of 5Mega-pixel/s if using optimized GPIO
>> with SPI and DMA.
>
> It should be possible to write optimized platform independent drivers
> using the proposed GPIO macros and if we agree on some function
> signatures for DMA and SPI, as the SPI bus, TWI bus, etc.
> One thing that has always bothered me is that features are sometimes
> only available in just one platform, but they could be available in
> all platforms.

Wow, yes :) My dream!
But you are right. It is the problem that some people just run into 
Nut/OS, add the features they need, flash the code in their product and 
the they go over to the next project.
1) They forget to post their improvements and addons.
2) They didn't do any addons as they where happy as it was.

So you and me we are some idiots as we really keep going and implement 
functions for your targets that the product doesn't need. That's why 
other people go home after 8 hours and we both thin about buying the 36h 
upgrade for a day.
But what they don't know is that we have so much more fun :)
If all the gizmos start blinking an beeping and your plans develop, it 
is a good feeling.

>
>> I will add my proposals now for GPIO into the Wiki and now with respect
>> for AVR32.
>>
>
> I'm available at the IRC if you would like to chat. Freenode #ethernut
> It's still 16:00hs in Brazil, so I should be there for a while :)

It is 21:30 over here, but I will be available on IRC in some seconds :)

CUL8er
Ulrich



More information about the En-Nut-Discussion mailing list