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 / 11
10  |  12
Subject: 
Re: GCC vs. IAR compiler: Could GCC be tweaked to generate code as tight as IAR?
Newsgroups: 
lugnet.robotics.nxt.nxthacking
Date: 
Thu, 15 Mar 2007 03:21:29 GMT
Viewed: 
18283 times
  
In lugnet.robotics.nxt.nxthacking, Rasmus Pedersen wrote:
Do you know why there is a difference between
your compiler and the one producing the firmware?

LEGO is using a slightly older version of IAR Embedded Workbench.  Maybe that
explains it.  Or maybe its a 1.03 vs 1.04 source code difference.

How are the file tables generated with the IAR compiler? Is there a tool for
that?

I have been told that the following is the standard operating procedure for
generating the complete firmware image:

1. Compile with IAR Embedded Workbench to .a79 binary file.
2. Reset NXT to SAMBA mode
3. Run ATMEL SAMBA utility and erase entire flash memory
4. Download the .a79 firmware file
5. Start the firmware (Go 0x100000)
6. Download desired files to the NXT using LMS NXT software (BricxCC or NeXTTool
should work as well)
7. Reset NXT to SAMBA mode
8. Run ATMEL SAMBA utility again
9. Download firmware image again (but do not start it)
10. Upload the entire flash memory to a file (Upload 0x40000 bytes)

The resulting file should be a new firmware image like the ones that LEGO
provides.

John Hansen



Message has 1 Reply:
  Re: GCC vs. IAR compiler: Could GCC be tweaked to generate code as tight as IAR?
 
(...) OK. This is good info!!! It is hard to guess that this was the way to do it. It also makes some sense for LEGO to use their file manager to do this rather than having a second tool replicate a filemanager on the host and insert it at compile (...) (18 years ago, 15-Mar-07, to lugnet.robotics.nxt.nxthacking)

Message is in Reply To:
  Re: GCC vs. IAR compiler: Could GCC be tweaked to generate code as tight as IAR?
 
(...) I did not do so. The memory map in LEGO_MINDSTORMS_NXT_..._v1.03.bin is like this for the files: 0x11F000-0x12E99D Actual files like Demo.rxe 0x13FF00-0x13FF37 FILE_HANDLE(s) 0x13FFFC-0c13FFFF FILEVERSION The nxtgcc stuff compiles to 126176 (...) (18 years ago, 14-Mar-07, to lugnet.robotics.nxt.nxthacking)

11 Messages in This Thread:




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

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

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