setting up Octopus dev environment

OS_CE Forums Octopus User exchange setting up Octopus dev environment

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #703
    gseher
    Keymaster

    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 sourceforge

    now 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
    JK

    #1199
    Administrator
    Participant

    Hi 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

    #1200
    gseher
    Keymaster

    Sure, 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
    JK

    #1201
    Administrator
    Participant

    You 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

    #1203
    gseher
    Keymaster

    Gabriel, 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
    JK

    #1205
    gseher
    Keymaster

    Also, 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
    JK

    #1206
    Administrator
    Participant

    Hi 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.pdf

    Once 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.
    Gabriel

    Post edited by: gseher, at: 2007/08/23 06:54

    #1207
    gseher
    Keymaster

    Thanks 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
    JK

    #1208
    Administrator
    Participant

    John, 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,
    Gabriel

    #1209
    Administrator
    Participant

    Hi John, any more progress on this?

    #1219
    gseher
    Keymaster

    I 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
    JK

    #1220
    gseher
    Keymaster

    Gabriel,

    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
    JK

    #1221
    Administrator
    Participant

    Hi 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,
    Gabriel

    #1222
    gseher
    Keymaster

    Gabriel,

    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
    JK

    #1223
    Administrator
    Participant

    John, 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

Viewing 15 posts - 1 through 15 (of 16 total)
  • You must be logged in to reply to this topic.