Dingoonity.org
Dingoo Official Firmware => Development => Topic started by: Harteex on October 16, 2009, 09:54:11 pm
-
When developing for native OS there are a number of different options available for this.
Dingoo SDK - Multiplatform
Led by flatmush and meant to be the everyones SDK.
"I've combined approaches from multiple sources to create a platform independant Native Dingoo SDK.
It contains the source for all the tools used to create it and contains sample applications, libc source code and makefiles to show users how to simply and cleanly make applications for the dingoo."
Dingoonity Thread (http://boards.dingoonity.org/dingoo-development/platform-independant-dingoo-sdk/)
Project page at Google Code (http://code.google.com/p/dingoo-sdk/)
Official SDK (S2SDK) - Windows
This is the official SDK provided by Dingoo Digital. Includes the possibility to compile and test your applications on Windows. The SDK can be considered bloated.
Installation Guide (http://www.harteex.com/hosted/a320.freeforums.org/s2dsdk-installation-guide-t299.html)
--------------------------
Older toolchains
flatmush toolchain - Windows
Note: This should be considered replaced by the multiplatform SDK above.
A set of libraries created by flatmush, which is much less bloated than the official SDK and faster.
Installation Guide (http://boards.dingoonity.org/index.php/topic,10.0.html)
Zaxxon's Minimal SDK - Linux
Note: This should be considered replaced by the multiplatform SDK above.
Your best option if you're on Linux. Can be combined with libraries from flatmush toolchain above.
mvdklip posted: "I can hereby confirm that the Astrolander sources can be compiled under Linux using the mipseltools-4.1.2-nopic toolchain from the Ingenic FTP server. To convert the binary into an .app file either dlmake.exe may be run under Wine or Zaxxon's elf2app.py may be run natively."
See topic (http://boards.dingoonity.org/index.php/topic,72.0.html)
Other
There is also some other kind of SDK which is "slightly based on flatmush toolchain": http://www.dingoo-digital.com/forums/developers-corner/new-sdk
This post will be updated whenever there are new things to point out.
If there is anything you would like to add, just post in here, or send a PM.
-
I haven't had much time to update my toolchain recently, since real life is getting in the way a little (designing a processor for my phd), but since everybody seems to be modifying/updating their own copy my functions then I think it would be better to make this a community project that we can all build upon.
If anyone has any experience running these things (setting up an svn, etc.) then that would be useful.
I have recently added RLE sprite support (for fast(ish) animated transparent sprites), which I'll try to optimize and upload soon.
-
I have recently added RLE sprite support (for fast(ish) animated transparent sprites), which I'll try to optimize and upload soon.
omgomg, do you think it can be easy to have a svn support on the forum or shall we use an extern one like on sourceforge ?
-
I don't mind either way, as long as it's easily accessible to all the main dingoo programmers.
-
I'd say Google Code is a nice place to host a project like this. I really like their web interface to SVN.
Right now I think Spiller has the most "complete" update of flatmush toolchain, with changes from most of us (what he calls dingkit).
-
Dingkit actually consists of a few pieces:
- libdingoo which is a modified entry.a and provides "hardware" support
- libc based on various sources
- libsupc++ based on gnu sources
- libstdc++ based on various sources
- libdingkit which contains both flatmush (graphics/timer/etc) and ingenic stuff
I'm mainly pushing the libc and libc++ thing forward right now. I figure I could easily split off the libdingkit part and give it back to flatmush. That would allow me to focus more on the toolchain and let the high level stuff up to others.
The libstdc++ part is much harder than I thought it would be. I have come a long way, but I have also wondered if I should not be porting uclibc and uclibc++ instead of reinventing the wheel. But that would require completely new toolchains I guess. I have tried that as well, but it was so much trouble that I decided just to use the Ingenic supplied ones despite all their troubles.
-
It might be worthwhile to give uclibc & uclibc++ a shot. It's just two packages and possibly you could get some patches included. Managing hodge podge stuff can get to be somewhat overwhelming.
Btw zaxxon's sdk's are no longer available for download.
I'm trying to set up my linux box(en) to cross compile.
From what I can gather the ingenics xburst is mips32r2, little endian, bare-metal
-
From what I can gather the ingenics xburst is mips32r2, little endian, bare-metal
Correct. The Ingenic toolchains are compiled for Linux though.
I'm afraid December takes a lot more time than I expected. I was able to spend absolutely no time lately. I am tempted to release the LynGoo, StelGoo and dingkit sourcecode snapshots as they are right now. Flatmush, would you be interested in receiving the current dingkit sources?
-
Hi,
I wanted to set up a native SDK on my Linux box as well.. Will there be files and instructions for Linux users as well?
-
I've started on a cleaner more usual sdk, it actually looks and feels like a proper SDK now, has a libs folder, everything compiles with a single make command, etc.
If people can take a look and see what they've done that needs adding, or anything they think can improve then I'll do it.
The topic is here: http://boards.dingoonity.org/dingoo-development/platform-independant-dingoo-sdk/
I've put it on googlecode: http://code.google.com/p/dingoo-sdk/ (http://code.google.com/p/dingoo-sdk/)
I'm looking for contributors to help with the project, and lots more samples if people have them.
-
@flatmush: Hi. I'm currently using your Toolchain to develop on Windows also for Dingux. What is meant by NO-PIC? What mean PIC?
I compiled SDL against your toolchain and it works already on Dingux with Snes9x also compiled with your toolchain.
-
PIC is "Position Independant Code", for some reason PIC code isn't supported on ucos2.
-
Thanks. Do you use your toolchain only to develop for nativ or also for dingux? Maybe we can enhance this toolchain for CrossCompiling?
-
I use the sdk for native development, as all the libraries included are for native development. If you want to help make it capable of cross compiling for both then you can join the team and help us, but there'd be quite a few things to port to linux from the lib.
-
I just meant the Toolchain. Not the nativ SDK.
How do you build this toolchain? Where i can get all the ressources/sources?
-
The toolchain is just the mipsel linux toolchain off the ingenic site, all the stuff I've added are fixes for the toolchain and native development stuff so I don't know quite what you're asking, not really related to the linux side of things though I'm certain lots of the code could easily be used on linux with little extra effort.
-
Where i can get this toolchain on the ingenic site? I can't find a windows toolchain there.
I use this toolchain just because i'm developing under windows for dingux and don't want to use the (i thought the only SDK for dingux is the dingux-linux sdk) dingux-linux sdk.
-
Ah ok, I think they removed the file off their site since I can't find it anymore. I got the latest copy (that I know of) mirrored here: http://flatmush.juliusparishy.com/a320/toolchain/mipsel-gcc4.1-cygwin-nopic.tar.bz2
-
Ah THANKS :D. Thanks for this backup. I think the whole ingenic ftp is offline :(.
-
Hi 2 All
I was studying the Installation Guide of the Official SDK (S2SDK) for Windows; I have not problem at all to compile and execute the example program (helloworldpixel). My question is if the same project generates the native dingoo program (.app)?; If found a file target.app in the \helloworldpixel\ccpmp directory but when I upload this in the Dingoo console and try to execute ; It does nothing, also the size of the .app file is only 160 bytes. Any idea how to generate the native application?
Greats
Carlopiza
-
I had the same problem. You must :
- change filename "c:\s2dsdk\helloworldpixel\Source\src\Loader.cpp" for "Loader.cpp1" (compilator doesn't use this file)
- run c:\s2dsdk\helloworldpixel\ccpmp\rls.bat
- copy target.app to dingoo ("game" folder)
When You use Visual C++ You must change filename from "Loader.cpp1" -> "Loader.cpp"
-
I had the same problem too. I moved Loader.cpp and Loader.h from a folder "..\source\src" to new folder "..\source\loader" and made changes in Visual C++ project.
-
Thx both for your replies; But, that is the only thing you do to compile the program?; Even now that the generated executable looks to have a more resasonable size (200kb vs 1kb), when I try to execute it in the console, it hangs up the SO and I must use the Reset buttom. Anyway, now that there is the wonderfull Windows Toolchain from Sience, I believe it's a lot more easier to program there (SDL) that doing it the native way.
Carlos
-
Thx both for your replies; But, that is the only thing you do to compile the program?; Even now that the generated executable looks to have a more resasonable size (200kb vs 1kb), when I try to execute it in the console, it hangs up the SO and I must use the Reset buttom. Anyway, now that there is the wonderfull Windows Toolchain from Sience, I believe it's a lot more easier to program there (SDL) that doing it the native way.
Carlos
If you're using the official SDK you probably have to patch your .app with the python script in reply #5: http://boards.dingoonity.org/dingoo-hardware-general/fix-for-hk-models-and-models-that-won't-play-native-community-apps-emulators/
-
Hello! Someone has a copy of the official SDK (s2sdk)? Please upload it somewhere for me.