OS_CE › Forums › Octopus › User exchange › setting up Octopus dev environment
- This topic has 15 replies, 2 voices, and was last updated 17 years, 1 month ago by gseher.
-
AuthorPosts
-
August 21, 2007 at 11:40 #703gseherKeymaster
Gabriel,
I am trying to set up an environment to compile/assemble the octopus OS.
I built a Ubuntu Linux Virtual Machine
– installed eCos
– installed arm-elf-gcc
– installed JRE
– installed eclipse for C/C++ (CDT)
– checked out OCTOPUS_OS_v1.00 from sourceforgenow I modified the includes/makefile that point to the e7t header files to point at the arm e7t sources installed with eCos (I don’t know if there is a separate package for e7t?)
Now I get a lot of undeclared and parse errors from the header files… I think I am missing something.
cheers
JKAugust 21, 2007 at 12:14 #1199AdministratorParticipantHi John,
The documentation for the whole procedure is only partial right now, so if you would like to formally record something written along the way, you are more than welcome to
Basically you are on the right track – however you are missing the adapted eCos base, which contain some adaptations to our hardware. The e7t is the foundament, but we have some deviations in place as well, such as more memory for example.
The most efficient thing to do would be for me to put up the eCos base up for you to download and use. Let me know if that is what you’d like.
Cheers,
Gabriel
August 21, 2007 at 12:35 #1200gseherKeymasterSure, I can write up a basic how-to for setting up the environment. I assume from the file paths in the source that you moved original development from cygwin/windows to Linux? Let me know where it to download the eCos base, and I will give it a shot.
I actually reverse engineered the Doepfer Schaltwerk to rewrite the OS, but the hardware/processor (8051) really were not capable enough for what I wanted to do. I am excited for the possibilities with the Octopus!
thanks
JKAugust 21, 2007 at 13:31 #1201AdministratorParticipantYou are right – I have moved development across platforms given the same arm-elf-gcc/Eclipse/CDT IDE. Originally started off on SuSE Linux but moved to cygwin because of the many GUI artifacts with Eclipse back in the days. Now happily working on OSX.
OK – the libraries zip file is linke into the downloads page.
You should just unzip and put them in your /opt directory, and point your makefile accordingly.I’ll be happy to hear whether you got a successful compile or not.
Cheers,
Gabriel
August 21, 2007 at 14:43 #1203gseherKeymasterGabriel, Thanks! that fixed things right up. I will go through the whole process setting up the environment again and generate some screenshots and documentation tonight.
I can generate the octopus.elf file now, but from this point I’m not sure where to go, how is the elf packaged up as MIDI syx?
Is there an easier way to load the executable using the serial port?
cheers
JKAugust 21, 2007 at 17:43 #1205gseherKeymasterAlso, I notice that making the "main" object file fails for me, it needs a libc. Did you compile a libc for the specific ARM in the octopus?
Thanks
JKAugust 21, 2007 at 18:51 #1206AdministratorParticipantHi John,
the libc is standard and should be part of your gcc package if I recall correctly. Nothing specific you should have to do on that end.Now, if you have an .elf file, there are a few things you need to do in order to send it over to Octopus. There is no direct .syx conversion – let’s leave that aside for now.
One way to send it over is described in a document you can download here:
http://genoqs.net/downloads/OCT_USB_Update.pdfOnce you have that method under control, you may want to do it in a quicker way – as I do it during development.
This second method is by using gdb (arm-elf-gdb that is). See the .arm-elf-gdbinit file later on for details. In my environment I have set up a build routine in Eclipse so it’s just a key press away.To do it, remember that you need to have Redboot running, and only Redboot (no Octopus code), since this is your gdb stub on the Octopus.Hope this helps.
GabrielPost edited by: gseher, at: 2007/08/23 06:54
August 21, 2007 at 20:49 #1207gseherKeymasterThanks Gabriel,
I notice from the makefile that main.o isn’t made for "make all" is it not required? This is what give the libc error.
I generated just the octopus.elf using "make all" I get the following file:
http://www.socialentropy.com/studio/octopus.elf
If you can cross check it with what is generated on your side (maybe?)
I compared this to the syx of OS 1.02 and it looks to be the same, minus the formatting for MIDI sysex.
The download link you give for the USB updating PDF doesn’t work (it redirects to main genoQs.com page). The same thing happens for the future music review PDF you have linked to on the website reviews section.
Thanks
JKAugust 21, 2007 at 21:14 #1208AdministratorParticipantJohn, I just sent you the document directly to the address you have registered on the forum. Will take a look at those links tomorow.
Your compiled file looks ok though. Just make sure it’s one you compiled, not the one packed on the CVS.Cheers,
GabrielAugust 23, 2007 at 15:03 #1209AdministratorParticipantHi John, any more progress on this?
August 23, 2007 at 15:09 #1219gseherKeymasterI will be trying to upload the compiled elf tonight, I’m a bit concerned on whether it compiled successfully. I don’t suppose that the OCT_OS 1.02 could be made available as an elf file for download?
Also, I am rebuilding the dev environment and taking better notes so I can generate a document.
I’ll update after I try the compiled elf file if I don’t get too scared to try it
cheers
JKAugust 23, 2007 at 15:42 #1220gseherKeymasterGabriel,
Is the elf file included in the HEAD of OCT_OS_1.00 source code a version 1.02 file? If so I am good to go.
Thanks
JKAugust 23, 2007 at 17:05 #1221AdministratorParticipantHi John,
two quick pointers for you –
The .elf file of the official 1.02 OS can be downloaded from the same place as the .syx. However, it is not linked on the page (to avoid confusion) – use the same URL as for the .syx and change the extension to .elf. That way you are always on the safe side.The HEAD of the CVS probably contains some work in progress, so its probably not the best choice.
Finally, in the file defs_general.h you can set the number representing the version, so you can label your own and keep them apart.
Cheers,
GabrielAugust 24, 2007 at 02:16 #1222gseherKeymasterGabriel,
I just uploaded the octopus.elf file that I generated from my dev install and everything looks to be working fine!
I’ll finish a write-up for the setup and send it over to you. Thanks for the help
cheers
JKAugust 24, 2007 at 07:49 #1223AdministratorParticipantJohn, congratulations – and nice work! Looking forward to the document.
If you next plan on building a new mode for playing Pong or Memory or something (just as an exercise of course ) let me know so I can give you the right pointers. Ideally we would get a document out of that as well.
Cheers,
Gabriel -
AuthorPosts
- You must be logged in to reply to this topic.