Page 1 of 1

Information on how to write firmware

Posted: 17 Feb 2011, 00:14
by nxt-ai
Where is all the information on how to write firmware? I would love to code native if could learn how.


My apologies if I hijack your thread.

Re: Information on how to write firmware

Posted: 17 Feb 2011, 06:29
by mightor
I've split the post from the original thread. Next time please start a new thread instead of apologising for hijacking another.

- Xander

Re: Information on how to write firmware

Posted: 17 Feb 2011, 12:28
by mrblp
Hello,
nxt-ai wrote:Where is all the information on how to write firmware? I would love to code native if could learn how.
Go to iar-page (www.iar.com) and search for mindstorms. There you can download a developement kit for the NXT firmware. Go to the ATMEL page and download the datasheets of the AT91SAM7. Go to the LEGO mindstorms page and download a) the hardware devolpers kit with all the schematics and b) the sourcecode of the firmware. You will find even more helpfull documents at the LEGO mindstorms page.

Depended of your experience in coding microcontroller systems you can now start developing a firmware for the NXT or you can now start to understand how their firmware works and start a new one.

Just one hint: The co-microcontroller cannot be reprogrammed and you have to send the string "Let's samba nxt arm in arm, (c)LEGO System A/S" via I2C to it. Otherwise it will switch off power one minute after power-up.

Bye - marvin

Re: Information on how to write firmware

Posted: 19 Feb 2011, 14:57
by edisn
My Thread about NXTGCC also contains firmware Writing.
Actualy NXTGCC is a Project providing an Eclipse Environment and the Compiler needed to programm a NXT Firmware,
and an NXT Firmware Code. (Altough a complex one -> See Forum: https://sourceforge.net/apps/phpbb/mind ... ?f=3&t=491)

Re: Information on how to write firmware

Posted: 24 Feb 2011, 03:33
by nxt-ai
Thanks everyone but any good books or online tutorials?
I am quite close to a programmer neophyte right now.
Still thanks for the help no matter what you post.

"Power corrupts. Knowledge is power. Study hard. Be evil."

Re: Information on how to write firmware

Posted: 02 Mar 2011, 09:26
by edisn
I havent found any real help on how to write firmware til now.

But since i have sen some Hardware related things in some Blogs (like "Greysale Images"),
i want to post a own question here (since it fits much beter than in my Blog):

Does someone Know where to get informations about the interaktion of the Components?
(Like: What exactly does the Coprocessor?, If sen a picture where the Sensors Where Conected to the Main and Te Coprocessor, Why that?)

These Informations Could be a great Help in How to write a working Firmware.

Re: Information on how to write firmware

Posted: 05 Mar 2011, 10:25
by edisn
This Links May Help You:
Lego Webside (Has a version of the Firmware code and sone descriptions on the Comands the firmware can interpret "Executable File Specification".)
http://mindstorms.lego.com/en-us/suppor ... fault.aspx
Some Thechnical Drawings and the comunication specification for the Ultrasonic sensor could be found:
http://www.legoengineering.com/knowledg ... T+brick%3F
And some info for the Hardware:
http://ebookbrowse.com/lego-mindstorms- ... f-d1384528

I am stil trying to decrypt the functions in the firmware included in NXTGCC (it should be firmwareversion 1.05),
but the "Executable File Specification" was a big help on how some things kan be achived.
(At this point i have modifyied the c_ui file and are abble to display the Values of the simpler sensors
like Light and Touch, an able to use the motors. But all done on the highest level in the Firmware.)

On the Higher level everithing worcs like in C ther is no need to control the lower functions of the uc (micro controler).
I hope this infos are able to help you.

End of thread<

Posted: 10 Mar 2011, 04:30
by nxt-ai
Well, thanks for all your responses,
The links help but I am still way too neophytic a programmer yet. My apologies for posting about something I obviously know little about yet.
In short my lack of response to this thread, is not caused by rudeness but more of :shock: .

I guess I've got a lot of work ahead of me to be :geek: .

Thanks all.