View Single Post
  #45   Spotlight this post!  
Unread 16-09-2007, 11:22
dragoonex's Avatar
dragoonex dragoonex is offline
Registered User
FRC #1325 (Inverse Paradox)
Team Role: Programmer
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Canada
Posts: 9
dragoonex is on a distinguished road
Re: How important is Linux?

Quote:
Originally Posted by Alan Anderson View Post
I think the existing "platform" could be made a whole lot easier simply by changing the architecture of the default code. There's a bit of baggage still hanging around from the pre-2004 PBASIC days, and the division of code into separate "user" and "user_fast" files is a little ragged. It can be reworked to do exactly the same thing but be separated into smaller functional chunks, making it less intimidating and more approachable for the beginning user.
I agree entirely. Our team has developed a way to do that using interrupts so the data is always delivered no matter what, even if we're in a tight loop within the code. We're still testing it, and it's still in an SVN branch, but it looks promising. Having one loop is great and makes working with things a lot easier.

Using Linux on the other hand is too much work, for no gain. For one thing, it needs more than a PIC with 3KB of RAM, and 1KB of EEPROM. Secondly, interfacing with the hardware is too much work, and even if there was a nice API for it, it would again have too much overhead. Linux also adds another point of failure. What I would like to see are some Linux developer tools. MPLAB is WINE works, but its far from perfect.

IMO, a good solution would to be to create a nice API in the default code for drive code, sensors, autonomous, and all the other things. Right now we don't have that and our team is working very hard to create one, but it is a big undertaking. When it comes down to it, this is what embedded programmers do. Embedded systems don't need preemptive multitasking kernels and CPU hot plugging. I think it's important for everyone to try programming on the bare metal of the controller as it's a good learning experience.