I am new to the world of DSP and system on a chip type programming, and it's a pretty big change in methodology, terminology, and well everything for me. I currently have a DM365 evaluation model running DVSDK 2.10, the included MontaVista linux booting from a CentOS machine using nfs. My development system has both Windows XP and Ubuntu in a dual-boot configuration with a shared drive, so programming on either system is a not a problem. That said, I have some few questions that are much more basic than what I have found here or elsewhere on the internet. Any insight would be greatly appreciated
Getting Started
Are there any books, documents, tutorials, blogs or likewise I should read before making the jump into programming for these types of systems? Anything that can bring me up to speed would be greatly appreciated
Development
- What is the best development setup for developing code specifically for an ARM9 (or better, DM365) system. What programs/items will I need to be as complete as possible?
- What is the typical development/building/debugging setup. I have the board hooked up to a separate machine, and can write locally then deploy to that machine for debugging, but that seems like a PITA. TI's Code Composer (which it seems is the recommended development setup) appears to have the ability to connect directly to a system for running/debugging, but I can't quite figure out how that works.
- Are the wiki's the best source of documentation for the DM365 and programming for it? Is there complete documentation somewhere on the XDC libraries? Are there any additional libraries I should/could be using specific to this type of work?
- Are there any glaring differences between interacting with system hardware/modules on an embedded system like the DM365 as compared to standard linux machines?
DM365
I am currently running DVSDK 2.10 on the included MontaVista linux. However, now there is the DVSDK 3.10 in beta testing which seems to include royalty-free open-source kernel/distro for the system to run on. Which of these setups is the recommended setup and why?
Again, thanks for any and all help in clarifying things for me, this is a pretty large leap for me from just your standard development setup (where you can develop and test most things locally).