I have a VisualDSP++ project that I'd like to rebuild with CrossCore Embedded Studio. Can I just rebuild it?
No. VisualDSP++ and CrossCore Embedded Studio have different project structures and formats, and VisualDSP++ projects are not acceptable to CrossCore Embedded Studio. Before rebuilding your application in CrossCore Embedded Studio, you must first create a new, CrossCore Embedded Studio-format project. CrossCore Embedded Studio can do this for you, using the Project Import Wizard.
How do CrossCore Embedded Studio projects differ from VisualDSP++ projects?
There are many differences between projects in VisualDSP++ and CrossCore Embedded Studio, of which we will highlight just a few:
The biggest change is that, in CrossCore Embedded Studio, projects are based on the directory structure. In VisualDSP++, you could have a single project which referenced several files spread across several directories, or you could have several different projects in one directory, using different files. In contrast, in CrossCore Embedded Studio, a project corresponds to a directory, so you cannot have more than one project in a given directory, and the project's contents correspond to the directory's contents.
In VisualDSP++, you can have project foo.dpj and bar.dpj in the same directory. In CrossCore Embedded Studio, all project files are called ".project", and so you may only have one project per directory. In practice, this means that instead of having, say, work/foo.dpj and work/bar.dpj, you instead have work/foo/.project and work/bar/.project.
Additionally the file format for the project files is different. The contents of a VisualDSP++ .dpj file and a CrossCore Embedded Studio .project file differ significantly, although they express similar information.
Another feature of CrossCore Embedded Studio is the use of Workspaces to keep track of the current projects you are working with.
Why have you changed the project format for CrossCore Embedded Studio?
The project format is different because it is the project structure used by Eclipse, the open-source IDE framework that forms the basis of CrossCore Embedded Studio. By using the standard Eclipse structure, CrossCore Embedded Studio can exploit the extensive ecosystem of third-party tools already available to Eclipse developers. For example, the mechanisms that provide the advanced source-code browsing facilities in the CrossCore Embedded Studio editor are based on systems that understand the standard Eclipse project format.
How do I use the Project Import Wizard?
The Project Import Wizard is available from File > Import > General. Select VisualDSP++ Project, and click Next, then browse to your .dpj or .dpg file.
Check the box to "View the report upon completion" to instruct the Project Import Wizard to display a report featuring a complete breakdown of the actions performed during the import. This report details all files/directories created, files and resources linked into the project, and Project Options that have been duplicated from the VisualDSP++ project to the CrossCore Embedded project. The conversion report is generated as an HTML file in the VisualDSP++ Project file directory as "project_name.dpj.report.html".
Click Finish to start the Project Import Wizard, which will report on its progress then, if the option was selected, display the conversion report on completion.
Can I open my project in VisualDSP++ after I've imported it into CrossCore Embedded Studio?
The Project Import Wizard does not make any changes to your existing VisualDSP++ project file (*.dpj/*.dpg). However, we would not recommend continuing to build the same application in both VisualDSP++ and CrossCore Embedded Studio.
How about the File>Import… menu option? Can I use that?
CrossCore Embedded Studio supports the standard Eclipse framework, which provides a number of project-import facilities by default. In most cases, these are concerned with importing existing Eclipse-format projects into your Workspace; they are not able to read VisualDSP++-format projects.
Will the Import Wizard import my VisualDSP++ project group?
Yes. If you browse to a .dpg file in the Project Import Wizard. When you browse to a .dpj file, it will import just that project, but if you browse to a .dpg file. the wizard will import all the projects in the project group. The Project Import Wizard creates a directory structure to support the project group. See FAQ: Importing and creating multi-core projects in CrossCore Embedded Studio for more information.
Will the Import Wizard deal with my generated CRT/LDF?
Yes. If your existing VisualDSP++ project makes use of generated LDF and/or Start-up code, the Project Import Wizard will add the Startup Code/LDF Add-In to your new CrossCore Embedded Studio version of the project, and generate the LDF and Start-up code using the settings from your VisualDSP++ project. Modifications that you have made to you VisualDSP++ generated LDF and Startup Code will be taken forward to CrossCore Embedded Studio.
Will the Import Wizard deal with my custom LDF?
The Project Import Wizard will add your custom LDF to the newly-created CrossCore Embedded Studio project, but it will not make any changes to the custom LDF itself. You will have to apply any changes yourself.
Porting a customized LDF from VisualDSP++ to CrossCore Embedded Studio is not a trivial task. We would recommend first determining whether you still need a customized LDF with CrossCore Embedded Studio. The default LDF may be sufficient for your needs, or you may find that you can obtain a suitable configuration using the Generated LDF. If you really do need to customize your LDF beyond that which can be supported by a Generated LDF, we would recommend that you first generate the closest LDF you can, using the Startup Code/LDF Add-In, then disable the Add-in and customize the LDF further from this point.
I Imported my VisualDSP++ project with the Import Wizard. Why won't it build?
The Project Import Wizard does not make any changes to your source code, and there are a number of ways in which VisualDSP++ applications differ from CrossCore Embedded Studio applications, including: RTOS, interrupt handling, SSL/DD APIs, and so on. If your VisualDSP++ application makes use of such mechanisms, you will have to make corresponding changes to your application's source code before the application will build in CrossCore Embedded Studio. Similarly, if your application uses a customized LDF, the LDF may make references to libraries that are not used in CrossCore Embedded Studio, or omit ones that are.
Where the Project Import Wizard is of use is:
In short, the Project Import Wizard takes care of the differences between VisualDSP++ and CrossCore Embedded Studio projects, allowing you to direct your attention immediately to the differences between VisualDSP++ and CrossCore Embedded Studio applications. View the import report for details of the actions performed by the Project Import Wizard.
Do I have to rebuild my application from sources? What if I don't have the sources?
VisualDSP++ and CrossCore Embedded Studio use different binary file formats for .doj and .dxe files - the CrossCore Embedded Studio file format is more compatible with the standard interpretation of the ELF file format. In general, we recommend rebuilding VisualDSP++ files from source in CrossCore Embedded Studio, so that code-generation differences can be reflected (for example, the C++ API is now compatible with IA64, so C++ name-mangling and exception-handling is different).
Where sources are not available, you can change the ELF file format directly, using the elf2elf utility. This will allow you to link against existing .doj or .dlb files that you cannot rebuild. Be aware that there are limitations to this approach, however: the elf2elf utility will not make any changes to the content of your binary files. Thus, a .doj that makes use of a VisualDSP++ library function will not not link in CrossCore Embedded Studio, even after elf2elf conversion, if that VisualDSP++ library function is not also supported in CrossCore Embedded Studio.
I see you also posted a new thread about this. To avoid duplication of effort, please do not post the same question/information in multiple places. I will answer you thread here.
IAR EW has the project structure like VDSP++.
But IAR has also the tool for importing existing projects to Eclipse projects.
The importer creates links to the project files. That way the original files keep in their place.
I think that ADI must have the tool for importing existing projects to Eclipse projects like IAR
>> all projects use the same ldf file or ldf files must be cope to system directory of the each project
If I am understanding correctly, you are asking how to use a single LDF in multiple projects.
You can reference an LDF from a different project by specifying its path in the Custom LDF (-T) entry box that is available in the Linker: General Tools Settings.
If I make export wizard I would like:
And I don't use system.svc because all projects use the same ldf file or ldf files must be copy to system directory of the each project.
May be I'm wrong I didn't use multicore projects
But now I try to use BF60x.
It is true that in CCES you can use linked resources to reference files and folders that are not in the same directory as the project.
What this answer is highlighting is that any real file or real folder added to a CCES project directory becomes parts of that project, where as in VisualDSP++ each file must be added to that project.
The following VisualDSP example shows one directory containing multiple project .DPJ files and each project contains separate source files.
C:\Program Files (x86)\Analog Devices\VisualDSP 5.0\Blackfin\Examples\No Hardware Required\Compiler Features\IPA Dual-Core.