We've had this web page up on the Rapita Systems website for some time now. As it seems to be of interest to quite a few visitors, we've decided to move it into the blog.
Installing GCC 2.95.2 for Targetlink (Windows)
This procedure details a step by step installation of GCC 2.95.2 for Targetlink 2.6 on Windows. 1. Download: cygwin; PowerPC GNU Toolkit v2.05; newlib-1.13.0.zip 2. Install cygwin c:\cygwin 3. Install PpcElfInstall.exe in c:\cygwin 4. Unzip newlib-1.13.0.zip in c:\cygwin\home\user 5. Open a cygwin console (Icon "Macraigor Cygwin Shell" on the desktop) 6. Start a cygwin console and fix the broken spec file: dos2unix.exe /usr/local/lib/gcc-lib/powerpc-elf/2.95.2/specs 7. Start a cygwin console and compile and install newlib:
cd mkdir newlib_compile cd newlib_compile ../newlib-1.13.0/configure --target=powerpc-elf make make install
Installing Targetlink 2.6 with GCC for MPC555 (Windows)
This procedure details a step-by-step installation of dSpace Targetlink 2.6 for a Axiom MPC555 Board and GCC on Windows. 1. Execute TL2.0.6_Setup.exe (found on Targetlink 2.6 Install CD) and follow the instructions 2. Install gcc for targetlink. (See the "how to" above) 3. Execute the file TL206_TSM_CME555_GNU2952.exe (should be provided in directory GNU/gcc_package/TSMCME555GNU/ TL206_TSM-CME555-GNU2952) 4. Edit the file C:\dSPACE\matlab\TL\Config\tl_global_options.m After "% insert list of generic target code generation modules here ..." , add :
i = i+1; codeopt(i).name = 'Generic MPC5XX/GNU2952'; codeopt(i).targetDLL = 'AnsiTarget.dll'; codeopt(i).target = 'Generic'; codeopt(i).cc = ; codeopt(i).targetDir = 'SrcFiles\MPC5xx\GNU2952';
After "% insert list of target simulation configurations here ...", add :
i = i+1; simconfig(i).name = 'CME555/GNU2952'; simconfig(i).board = 'CME555'; simconfig(i).cc = 'GNU2952'; simconfig(i).myC = 'MPC5XX'; simconfig(i).config = 'TLSerPort.xml'; simconfig(i).makefile = 'MakeFile.mk'; simconfig(i).compilerRootEnv = 'MPC5XX_GNU2952_ROOT';
5. Set the environment variable MPC5XX_GNU2952_ROOT=c:\cygwin\usr\local 6. Add c:\cygwin\bin to the PATH variable 7. Edit the file C:\dSPACE\matlab\TL\SimFiles\CME555\GNU2952\makefile.mk as follows:
# ------------------------------------------------------ # Define environment variables # ------------------------------------------------------ %setenv TMPDIR = $(D_WORK) %setenv COMPILER_PATH = $(COMP_ROOT)\bin\ %setenv LIBRARY_PATH = $(COMP_ROOT)\lib\gcc-lib\powerpc-elf\2.95.2\include %setenv C_INCLUDE_PATH = $(COMP_ROOT)\lib\gcc-lib\powerpc-elf\2.95.2\include %setenv path = $(COMP_ROOT)\bin [...] # ------------------------------------------------------ # Specify tools # ------------------------------------------------------ CC = $(COMP_ROOT)\bin\powerpc-elf-gcc.exe # compiler AS = $(COMP_ROOT)\bin\powerpc-elf-as.exe # assembler LD = $(COMP_ROOT)\bin\powerpc-elf-ld.exe # linker CV = $(COMP_ROOT)\bin\powerpc-elf-objcopy.exe # object converter PA = $(TL_ROOT)\exe\TLawk.exe # AWK
8. Finally, fix the .h files so that they can be used by cpp (unixstyle end of line). In a cygwin console:
cd /cygdrive/c/dSpace find . -name *.h -exec dos2unix {} \;
Troubleshooting with Targetlink 2.6, GCC 2.95.2 and Axiom MPC555 Q: "Cmd timeout" error received after downloading the SW to the board A: Change the serial driver of the board to 'polling mode'. To do so, edit file comm_drv.c in c:\dSpace\matlab\TL\SimFiles\CME555\GNU2952:
#define POLLING //#undef POLLING
Q: "Could not find file.c" error while building the target
A: This usually happens because the cygwin DLL can not be found. Even if c:\cygwin\bin is in the path, it may not find it. Workaround: Manually copy it on the current directory. Maybe launching a cygwin window, and therefore forcing loading the DLL can solve the problem.