I used the c2000 platform file as base for a C6000 version, but I can't see any change with or without USE_BUFFER_INPUT enabled. It seems to me that the tests are actually failing, but I don't know why.
- Did you use some special settings (memory leak plug-in enabled / disabled, without standard lib C++…) ?
- Did you have to do anything special to redirect printf() to he console?
For starters, try enabling USE_BUFFER_INPUT. Look at memory after the test run. Look for "buffer". If it contains no CppUTest messages, something is seriously wrong with your tests. You may want to put an endless loop at the end of your main() to do this.
- I had to disable standard C++ lib on my device (which, importantly, disables exception handling, and I disabled RTTI.
- Not that I remember. But then, I can't be entirely sure.
Also watch out for the following (using the debugger), especially if there is no output at all, not even in the buffer:
- Is the targets startup code executed before entering main()?
- Are function calls correctly entered from main (use a simple stub call to make this easier)
There are many reasons why your test binary might not even run (properly).
Alas, download times are… well… let's just say long. And I don't feel 100% confident launching code on the real device that does not already work in the simulator.
Sure. it should run in the simulator, where you don't have to worry about turning of / feeding the watchdog etc etc.
I understand what you mean. I did try a bit this way today, because f the troubles and because it's also interesting for us (we will have to support multiple platforms, and not only TI, so being as much platform agnostic as possible sounds great to me). However, I wasn't able to get a C++ project to compile properly from CCS. The Eclipse part of this Franken-IDE shows me the toolchain, but can't launch it correctly. I still have to check with our IT guy. If I can't make it work, then I'll go for Code::Blocks or Visual Studio.
Please, don't bother your IT guy just yet ;-). You have to install Cygwin first before it can do its magic. Steps are:
- download from their web site
- unzip into a directory where the setup stuff can STAY (don't throw this away!!!)
- run installer. Use default target directory (C:\Cygwin) or specify your own. Avoid c:\Program Files and their likes.
- when offered the list of packages, under devel, make sure that gcc-core and gcc-c++ as well as gdb are installed.
- open c:\Cygwin\Cygwin.bat. This is a *nix shell. type gcc --version to see whether that works and type make. Should work also.
- Then try again selecting the toolchain in Eclispe.
- Be aware that cygwin prefers paths of the form /cygdrive/c/...
- Very important. To be able to replicate the exact same installation, once everything works fine, zip your c:\Cygwin folder into an archive.
You can (re-)"install" Cygwin simply be copying and adjusting the system path to contain C:\Cygwin\bin. Or replicate it to co-workers PC...
- Did you have to install the Cygwin toolchain outside Code Composer or Code::Blocks? I'm sorry if this is some very naive question, but last time I worked in a Windows-operated company we were using NT4 (and had dedicated linux machines to get "real" work done ;-), and I got into a lot of trouble today (still unclear if it is linked to my configuration or to the CCS tool version).
Yes, see above. Eclipse should recognize it automagically when present.
Thanks again for taking the time to write a detailed answer. I'll keep you posted when I progress.
No trouble. Hope it works for you.
Arnd