Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » DSDP - Real-Time Software Components (RTSC) » how to generate a custom memory map for rtsc based project
how to generate a custom memory map for rtsc based project [message #635016] Mon, 25 October 2010 12:25 Go to next message
No real name is currently offline No real name
Messages: 7
Registered: October 2010
Junior Member
Hello,

in my RTSC based CCS v4 project I want to use a memory map which is not defined as default in a platform module. Normally, I would write a linker script with a MEMORY and a SECTIONS part and the linker does the rest. But with RTSC, the linker script is generated by the XDC tools. How could I make my own memory map? In the API reference of the XDC tools, there is a module called ti.platforms.evmdm365.Platform which is the hardware platform I'm using. In the "per-instance config parameters" I find some code which could be useful:

var params = new Platform.Params;
params.customMemoryMap = IPlatform.Memory[string] undefined;

But I don't know, how I could use the code. Any help would be great.

Regards.
Re: how to generate a custom memory map for rtsc based project [message #635141 is a reply to message #635016] Mon, 25 October 2010 18:13 Go to previous messageGo to next message
Sasha Slijepcevic is currently offline Sasha Slijepcevic
Messages: 89
Registered: July 2009
Member
Since you are working in CCSv4, you have available two different techniques for defining platform instances. If you are using config.bld, you can use a parameter Build.platformTable ( http://www.sanb.design.ti.com/iliad/webhome/xdoc/xdc/bld/Bui ldEnvironment.html#platform.Table) to specify platform instance parameters. The path to your config.bld is entered in C/C++ Build->Tool Settings->Advanced Options->Build configuration file (-b) in your project build properties.

Here is a short guide how to specify platform parameters in config.bld: http://rtsc.eclipse.org/docs-tip/Using_Targets_and_Platforms #Defining_Platform_Instances_via_config.bld

In your case, Build.platformTable entry for your platform would look like this:
Build.platformTable['ti.platforms.evmDM365'] = {
        ...
        customMemoryMap: [
              ["RAM1", {
                  name: "RAM1",
                  base: 0x8000,
                  len: 0x1000,
                  space: "code/data"
              }],
              ["RAM2", {
                  name: "RAM2",
                  base: 0x9000,
                  len: 0x1000,
                  space: "code/data"
              }],
              etc,
          ]
};

In case, you can't use config.bld, there is another way of configuring platform instances described here:
http://rtsc.eclipse.org/docs-tip/Using_Targets_and_Platforms #Defining_Platform_Instances_via_a_RTSC_Module_Configuration _Parameter.
In that case, you would add 'customMemoryMap' specification to a file corresponding to Sim6x.xs in the example in the link.

As mentioned in the docs for customMemoryMap ( http://www.sanb.design.ti.com/iliad/webhome/xdoc/xdc/platfor m/IPlatform.html#custom.Memory.Map), the custom memory map has to fit in the physical memory available on the board.

Also, if you specify a custom memory map for a platform instance, you must specify the parameters 'dataMemory', 'codeMemory' and 'stackMemory'
http://www.sanb.design.ti.com/iliad/webhome/xdoc/xdc/platfor m/IPlatform.html#code.Memory. The purpose of these parameters is to define allocation of standard compiler sections. Since you are effectively deleting default memory object names referred to by these parameters, you have to set new values for them.

[Updated on: Mon, 25 October 2010 18:14]

Report message to a moderator

Re: how to generate a custom memory map for rtsc based project [message #635299 is a reply to message #635141] Tue, 26 October 2010 10:42 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 7
Registered: October 2010
Junior Member
Hello,

thank you for your answer! I've tried the way with the config.bld and it worked, but only when my memory map is within the default memory map (as you said). But the default memory map is just base address 0x80000000 and length 0x01000000 which is only a little part of the real physical memory I have on the evmdm365 board. How can I change the default memory settings, so that I can use the whole real memory?

Kind regards


PS: Unfortunately, the links with "www.sanb.design.ti.com" didn't work on my pc.
Re: how to generate a custom memory map for rtsc based project [message #635429 is a reply to message #635299] Tue, 26 October 2010 18:20 Go to previous messageGo to next message
Dave Russo is currently offline Dave Russo
Messages: 172
Registered: July 2009
Senior Member
For what is't worth: the www.sanb... URL is equivalent to
http://rtsc.eclipse.org/cdoc-tip/index.html#xdc/bld/BuildEnv ironment.html#platform.Table


On 10/26/2010 3:43 AM, matthias.weber@ceotronics.com wrote:
> Hello,
>
> thank you for your answer! I've tried the way with the config.bld and it
> worked, but only when my memory map is within the default memory map (as
> you said). But the default memory map is just base address 0x80000000
> and length 0x01000000 which is only a little part of the real physical
> memory I have on the evmdm365 board. How can I change the default memory
> settings, so that I can use the whole real memory?
>
> Kind regards
>
>
> PS: Unfortunately, the links with "www.sanb.design.ti.com" didn't work
> on my pc.
Re: how to generate a custom memory map for rtsc based project [message #635431 is a reply to message #635299] Tue, 26 October 2010 18:40 Go to previous messageGo to next message
Amit Mookerjee is currently offline Amit Mookerjee
Messages: 47
Registered: July 2009
Member
Hi,
If you are using CCSv4 you may want to consider using the platform wizard to generate a RTSC platform package with your custom memory map. You can review this flash demo for getting started with the wizard.

Regards
Amit
Re: how to generate a custom memory map for rtsc based project [message #635816 is a reply to message #635431] Thu, 28 October 2010 08:54 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 7
Registered: October 2010
Junior Member
Hello,

I watched the flash demo (for xdc tools 3.16) of the platform wizard and I tried to build my own platform. I have done the same things like in the demo, but I can't select a base platform. So I can't create my own platform. Is there anything else I need to consider when I want to use the platform wizard?

Regards.


PS: I work with XDC-tools 3.16.02.32 and CCS 4.1.3
Re: how to generate a custom memory map for rtsc based project [message #636228 is a reply to message #635816] Fri, 29 October 2010 18:32 Go to previous messageGo to next message
Amit Mookerjee is currently offline Amit Mookerjee
Messages: 47
Registered: July 2009
Member
>I have done the same things like in the demo, but I can't >select a base platform.
Hi,
Can you elaborate on what you see in the base platform combo box? Is the platform combo box empty or are you unable to select the platform of your choice in the combo box?

Do you see any messages in the Error Log view? You can open this view by navigating to Windows -> Show View ->
Other -> PDE Runtime -> Error Log



Also, which build of CCS4 you are using? You can goto Help->About Code Composer Studio to get the version number of the IDE.

You should be using 4.1.3.00038.

Regards
Amit
Re: how to generate a custom memory map for rtsc based project [message #636606 is a reply to message #636228] Tue, 02 November 2010 07:58 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 7
Registered: October 2010
Junior Member
Hello,

the platform combo box is empty.

I have 2 different errors in the error log:

eclipse.buildId=4.1.3.00034
java.version=1.5.0_14
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86

Error
Tue Nov 02 08:46:55 CET 2010
org.eclipse.rtsc.xdctools.buildDefinitions.XDC.tools.XDCTool DiscoveryManager.getTool(Ljava/lang/String;)Lorg/eclipse/rts c/xdctools/managedbuild/core/products/RTSCProductDescriptor;

java.lang.NoSuchMethodError: org.eclipse.rtsc.xdctools.buildDefinitions.XDC.tools.XDCTool DiscoveryManager.getTool(Ljava/lang/String;)Lorg/eclipse/rts c/xdctools/managedbuild/core/products/RTSCProductDescriptor;
at org.eclipse.rtsc.xdctools.ui.wizards.StartPage.getXDCTools(S tartPage.java:670)
at org.eclipse.rtsc.xdctools.ui.wizards.StartPage.getRTSCPlatfo rms(StartPage.java:710)
at org.eclipse.rtsc.xdctools.ui.wizards.StartPage.access$12(Sta rtPage.java:709)
at org.eclipse.rtsc.xdctools.ui.wizards.StartPage$7.focusGained (StartPage.java:323)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:105)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:933)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java: 1970)
at org.eclipse.swt.widgets.Combo.wmCommandChild(Combo.java:2208 )
at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:3375 )
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3249 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:184 6)
at org.eclipse.swt.widgets.Combo.callWindowProc(Combo.java:281)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334 )
at org.eclipse.swt.widgets.Combo.windowProc(Combo.java:1921)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:184 6)
at org.eclipse.swt.widgets.Combo.callWindowProc(Combo.java:281)
at org.eclipse.swt.widgets.Widget.wmLButtonDown(Widget.java:174 4)
at org.eclipse.swt.widgets.Control.WM_LBUTTONDOWN(Control.java: 3583)
at org.eclipse.swt.widgets.Composite.WM_LBUTTONDOWN(Composite.j ava:1041)
at org.eclipse.swt.widgets.Combo.WM_LBUTTONDOWN(Combo.java:1962 )
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3279 )
at org.eclipse.swt.widgets.Combo.windowProc(Combo.java:1921)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025 )
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:19 27)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2966)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
at org.eclipse.jface.window.Window.open(Window.java:796)
at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.j ava:181)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499 )
at org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
at org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
at org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:97)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:996)
at org.eclipse.core.launcher.Main.main(Main.java:971)

eclipse.buildId=4.1.3.00034
java.version=1.5.0_14
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86

Error
Tue Nov 02 08:46:52 CET 2010
Unhandled event loop exception

My CCS version is 4.1.3.00034. Do I need to update CCS? How can I do this? Do I have to buy a new license for that (the license I use is 2 month old)?

Regards.
Re: how to generate a custom memory map for rtsc based project [message #636979 is a reply to message #636606] Wed, 03 November 2010 16:04 Go to previous messageGo to next message
Amit Mookerjee is currently offline Amit Mookerjee
Messages: 47
Registered: July 2009
Member
Hi,
This is a known problem with the CCS4 build 4.1.3.00034.
You can download 4.1.3.0038 from http://processors.wiki.ti.com/index.php/Download_CCS#4.1.3_. 28July_29.2C_2010.29

I do not think you will need to buy a new license. Please let us know if you face any problems downloading and installing the new image.

Regards
Amit

Re: how to generate a custom memory map for rtsc based project [message #637639 is a reply to message #636979] Mon, 08 November 2010 08:09 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 7
Registered: October 2010
Junior Member
Hello,

unfortunately I had many problems and it is still not working!

First, I could not update CCS 4.1.3.0034 to 38. The update zip-file did not work (many error messages and the program hangs up during installation). So I deinstalled the old CCS. At the end of the deinstallation the deinstaller hung up. After a reboot CCS seemed to be deinstallated successfully. I installed the new CCS 4.1.3.0038 (this time without problems) and open the platform wizard. Now I could select a base platform and a CPU on page 1 of 2, but when I click on the "Next" button, nothing happens! I can not go to page 2 of 2 in the platform wizard! This is very frustrating!

Regards.
Re: how to generate a custom memory map for rtsc based project [message #637822 is a reply to message #637639] Tue, 09 November 2010 03:20 Go to previous messageGo to next message
Amit Mookerjee is currently offline Amit Mookerjee
Messages: 47
Registered: July 2009
Member
Hello,
Do you see any messages on the top of page 1 of the wizard like Need to specify platform repository location ? Also do you see anything in the Error Log view?

Is it possible to send us a screenshot? This will allow us to pinpoint the problem faster.

Regards
Amit
Re: how to generate a custom memory map for rtsc based project [message #637952 is a reply to message #637822] Tue, 09 November 2010 13:03 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 7
Registered: October 2010
Junior Member
Hello,

there are no messages on the wizard page and I filled the page like in the demo. The error log view displays 2 errors:

eclipse.buildId=4.1.3.00038
java.version=1.5.0_14
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86

Error
Tue Nov 09 13:33:29 CET 2010
Argument of type xdc.services.spec.Expr$Term passed

java.lang.IllegalArgumentException: Argument of type xdc.services.spec.Expr$Term passed
at org.eclipse.rtsc.xdctools.ui.reflect.Reflect.getArrayLength( Reflect.java:24)
at org.eclipse.rtsc.xdctools.ui.wizards.DevicePage.getDeviceMem oryMap(DevicePage.java:660)
at org.eclipse.rtsc.xdctools.ui.wizards.DevicePage.createContro l(DevicePage.java:245)
at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDi alog.java:1046)
at org.eclipse.jface.wizard.WizardDialog.access$2(WizardDialog. java:1038)
at org.eclipse.jface.wizard.WizardDialog$4.run(WizardDialog.jav a:1028)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:67)
at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog. java:1026)
at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDial og.java:757)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:351)
at org.eclipse.jface.dialogs.Dialog$3.widgetSelected(Dialog.jav a:660)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820 )
at org.eclipse.jface.window.Window.open(Window.java:796)
at org.eclipse.ui.actions.NewWizardAction.run(NewWizardAction.j ava:181)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499 )
at org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
at org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
at org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:97)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:996)
at org.eclipse.core.launcher.Main.main(Main.java:971)

eclipse.buildId=4.1.3.00038
java.version=1.5.0_14
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86

Error
Tue Nov 09 13:33:29 CET 2010
Unhandled event loop exception

Unfortunately, I could not insert a screenshot. How can I do that?

Regards.
Re: how to generate a custom memory map for rtsc based project [message #638033 is a reply to message #637952] Tue, 09 November 2010 17:01 Go to previous messageGo to next message
Amit Mookerjee is currently offline Amit Mookerjee
Messages: 47
Registered: July 2009
Member
Hi,
I think there is a problem with the DM365 base platform - ti.platforms.evmDM365. Can you use the base platform ti.platforms.evmDM355 instead? The DM365 platform essentially reuses the memory map defined by DM355.

Regards
Amit
Re: how to generate a custom memory map for rtsc based project [message #638075 is a reply to message #638033] Tue, 09 November 2010 20:43 Go to previous messageGo to next message
Amit Mookerjee is currently offline Amit Mookerjee
Messages: 47
Registered: July 2009
Member
Hi,
I have fixed this problem in the platform wizard. Please review https://bugs.eclipse.org/bugs/show_bug.cgi?id=329837 for more details.

This fix will be available in XDCtools 3.20.05(ETA - Nov 19,2010) and XDCtools 3.16.06 (in planning).

The workaround in XDCtools 3.16.02 is to use the DM355 platform. Let me know if you face any other problems.


Regards
Amit
Re: how to generate a custom memory map for rtsc based project [message #638152 is a reply to message #638075] Wed, 10 November 2010 08:31 Go to previous messageGo to next message
No real name is currently offline No real name
Messages: 7
Registered: October 2010
Junior Member
Hello,

the problem seemingly occurs only when I want to use the TMS320DM365 as the device. I can use the ti.platforms.evmdm365 as base platform but only with other devices than the DM365.

Thank you for your error search!

Regards.
Re: how to generate a custom memory map for rtsc based project [message #754728 is a reply to message #635016] Fri, 04 November 2011 04:14 Go to previous message
atseddesta is currently offline atseddesta
Messages: 1
Registered: November 2011
Junior Member
Something I found useful ...

rtsc.eclipse.org/docs-tip/Demo_of_Customizing_Memory_Sections
Previous Topic:Module that uses c28x's peripherals
Next Topic:excludeDirs not working when creating a release
Goto Forum:
  


Current Time: Thu Oct 02 14:41:46 GMT 2014

Powered by FUDForum. Page generated in 0.02517 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software