To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.nxt.nxthackingOpen lugnet.robotics.nxt.nxthacking in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / NXT / NXT Firmware Hacking / 17
16  |  18
Subject: 
Re: Enhanced standard NXT firmware
Newsgroups: 
lugnet.robotics.nxt.nxthacking, lugnet.robotics, lugnet.robotics.nxt
Date: 
Sat, 17 Mar 2007 16:30:53 GMT
Viewed: 
17518 times
  
In lugnet.robotics.nxt.nxthacking, John Hansen wrote:
In lugnet.robotics.nxt.nxthacking, Ralph Hempel wrote:
John Hansen wrote:
Over the past couple days I have used the IAR Embedded Workbench to implement
some enhancements and bug fixes for the standard NXT firmware.
I would have liked to have one permanently, but it seems a little steep. Last
summer I got a limited edition (32KB or something) along with the an AT91
evaluation board.

The bug fixes are as follows:

<snipped description>

Holy crap John! You've been really busy! For anyone poking
around in this forum, I can say that what John has done is pretty
significant.

It actually was not a very big deal.  I was familiar with the firmware source
code since I had looked at it quite a bit since it was released, trying to
figure out how to get it to compile with GCC.
Perhaps Section 5.1 is useful: http://nxtgcc.sourceforge.net/nxtgcc.pdf
Best,
Rasmus
PS: I just tried to post but it did not appear, so apologies for possible
double posting.
PSS: My NXT is at work, so I have to wait one or two day to test your code.
All the RIC bug fixes were things
I figured out during my port of the firmware C code to Delphi for the purposes
of writing an RIC editor at the end of last year (still not done).  I submitted
the fixes back at the beginning of December.  But this week, downloading a 30
day evaluation version of the IAR embedded workbench was the key to actually
moving forward with some of the changes I have been wanting to see for quite
some time.

Speeding up the line drawing code was pretty easy.  Hooking in the clear/set
functionality was also extremely simple.  Adding new syscall functions to the
standard firmware is trivially easy.  None of this stuff is anywhere near as
complicated as writing your own firmware.  I can send you my modifications to
the display module if you think they would be useful in pbLua.

Honestly, anybody could do this.  With the IAR embedded workbench it is
*extremely* simple if you are a half-way decent C programmer and you can run an
IDE build process (i.e., click the "rebuild all" menu options).  One of my goals
is to transition the source code from the IAR compiler to the GCC compiler
without having to make substantial code changes.  But for now I am extremely
happy to use the eval version of the IAR tools to get things moving.

I have written my own firmware for the brick so I know
how much work must have gone into testing this.

I must say that I have not tested calling any of the Comm and Loader module
functions.  I just hooked up the syscall function mechanism to the existing
IOMAP function pointer that was used in a lot of places.  I may spend some time
wrapping up the file iteration stuff and some of the exposed bluetooth
functionality in a nicer package for use in NXT-G, NBC, and NXC.

For anyone interested in testing this, I'd encourage you
to do so and report back if there are any bugs or issues.
There is nothing like positive support from users to motivate
us along in the thankless task of improving firmware.

The only time it takes to test this firmware, just to be clear, is the time it
takes to download it to your NXT and then just keep using your brick just like
you already have been using it.  If you run into any problems post here or email
me.  The goal is to collect reports indicating that after lots of normal usage
via the NXT software, the LabView NXT toolkit, and via NBC/NXC that everything
works exactly as it did before without any problems.

PS. Even negative feedback is useful because it means SOMEONE
out there at least tried it :-)

Absolutely.

John Hansen



Message is in Reply To:
  Re: Enhanced standard NXT firmware
 
(...) It actually was not a very big deal. I was familiar with the firmware source code since I had looked at it quite a bit since it was released, trying to figure out how to get it to compile with GCC. All the RIC bug fixes were things I figured (...) (17 years ago, 17-Mar-07, to lugnet.robotics.nxt.nxthacking, lugnet.robotics, lugnet.robotics.nxt)

7 Messages in This Thread:



Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR