Why I love open source.....
"matthew heald" <[email protected]>
| Newsgroups | gmane.comp.hardware.microcontrollers.gnupic |
|---|---|
| Message-ID | <000101c5871a$c9a23f00$152ca8c0@intelws> |
I love open source because:- There are some innovative applications, there are some fantastic packages, there are some friedly and welcoming discussion groups (howver there is a a heck of a lot of dross [partially finished, development frozen or dropped because of personal circumstances all legitiamte but frustrating none the less]. I hate open source because:- Often tools are often not fully functional, some features are not fully debugged, documentation is often poor or non existent, identifying what elements don't work is soemtimes hidden or stored in a cryptic form. Many developers have a bee in their bonnet regarding development. Building the application often fails because of missing dependancies, installing those dependancies is often a nightmare, sometimes it corrupts the system leading to a complete rebuild/reinstall. Often open source has a holier than thou ethos. Often when things come to a crunch the much derided M$$ platform delivers a working paltform to complete the task, wheras open source collapses in a heap. To a certain extent you gets what you pays for. Sometimes people want to help, sometimes people don't. The anti M$$$ stance comes across as paranoia, it is often self serving and self defeating it often makes the protaganists argument weaker by making a general assertion. It's almost like Orwells 1984 and 4 legs good, 2 legs bad, therefore my current opinon is right by association. -----Original Message----- From: Peter Onion [mailto:[email protected]] Sent: 12 July 2005 16:28 To: [email protected] Cc: GNUPIC Subject: Re: [gnupic] Why I love open source..... On Wed, 2005-07-13 at 00:53 +1000, Iain Dooley wrote: > > BTW the technique means I can include drivers for various devices > > (like > > UART,TMRx,LCDdisplays) by simply including the appropriate ".o" file in > > the liker command and adding EXTERN declarations for the device API. > > The overhead is a small ISR and a bit of generic startup code. No need > > to worry about the device initialisation or interrupt handlers as they > > all get included and called automagically. > > why does this required the objects to be linked in any particular > order? It only really requires that you can ensure a particular piece of code is going to be the start and another at the end of a segment. Each device driver file contains code in typically three code segments. Device initialisation code goes in a segment called "initcode", the interrupt handler goes in "handlers" and the API code goes in a third segment (name unimportant). A small ISR at address 0x4 saves the context and jumps to the start of the handlers segment. Each handler checks it's device flags and skips over itself if nothing needs doing. The last piece of code in the segment restores the context and executes the retfie. The startup code similarly calls a label at the start of the initcode segment and all the linked devices are set up before the last section of code in the segment executes a return. Because I know how gplink deals with these things I'm happy to use the technique. As I said MPLINK users are in the dark about how that linker operates so they choose to make nothing but discouraging comments :-( Closed Source - Closed Minds. Peter --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]