Is the "C:\" drive effectively hard-coded into the ChibiStudio package, or is it reasonably easy to change?
(I've got a machine where the hard drive was delivered split into a small C: drive and a large D: drive, so Chibi would be better on D:)
Running on other drives?
- Giovanni
- Site Admin
- Posts: 14891
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: Running on other drives?
Hi,
You can place it anywhere (without spaces in path) but you need to reimport projects in workspace and set the CHIBIOS workspace variable in preferences.
Giovanni
You can place it anywhere (without spaces in path) but you need to reimport projects in workspace and set the CHIBIOS workspace variable in preferences.
Giovanni
Re: Running on other drives?
Mostly works fine, but a couple of points:
1. I needed to edit the paths in the startup batch files to point to drive D:
2. The 'linked resources' file list (os, board etc) disappears on reimporting the projects, presumably due to non-existent absolute file locations.
3. Most important (to me), I've cloned a new set of board files within the hal/boards directory, and edited the XML to suit my board. But the 'generate files from Configuration Data' option doesn't appear to do anything. Is this the correct method? Are there prerequisites I'm not satisfying?
1. I needed to edit the paths in the startup batch files to point to drive D:
2. The 'linked resources' file list (os, board etc) disappears on reimporting the projects, presumably due to non-existent absolute file locations.
3. Most important (to me), I've cloned a new set of board files within the hal/boards directory, and edited the XML to suit my board. But the 'generate files from Configuration Data' option doesn't appear to do anything. Is this the correct method? Are there prerequisites I'm not satisfying?
- Giovanni
- Site Admin
- Posts: 14891
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: Running on other drives?
Hi,
Linked resources use a workspace variable CHIBIOS, if you change the variable then all projects will work with the new path.
About point 3, it should work, I use it from a different path without problems. You need to click the .chcfg file and use the button that appears on the toolbar. The processor uses a relative path for generated files, it is .. by default. remove board.* and see if those are regenerated.
Giovanni
Linked resources use a workspace variable CHIBIOS, if you change the variable then all projects will work with the new path.
About point 3, it should work, I use it from a different path without problems. You need to click the .chcfg file and use the button that appears on the toolbar. The processor uses a relative path for generated files, it is .. by default. remove board.* and see if those are regenerated.
Giovanni
Re: Running on other drives?
Giovanni wrote:Linked resources use a workspace variable CHIBIOS, if you change the variable then all projects will work with the new path.
Works fine, thankyou.
Giovanni wrote:About point 3, it should work, I use it from a different path without problems. You need to click the .chcfg file and use the button that appears on the toolbar. The processor uses a relative path for generated files, it is .. by default. remove board.* and see if those are regenerated.
Tried various combinations of file locations, including a different machine, without any success.
There's quite a log entry in Eclipse:
!ENTRY org.eclipse.ui 4 0 2016-07-25 14:37:41.087
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.e4.core.di.InjectionException: java.lang.ClassCastException: org.eclipse.wst.xml.core.internal.document.ProcessingInstructionImpl cannot be cast to org.eclipse.core.resources.IFile
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:825)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:701)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$6(HandledContributionItem.java:685)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:613)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
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.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Caused by: java.lang.ClassCastException: org.eclipse.wst.xml.core.internal.document.ProcessingInstructionImpl cannot be cast to org.eclipse.core.resources.IFile
at org.chibios.tools.eclipse.config.handlers.GenerateFiles.execute(GenerateFiles.java:79)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 37 more
Two things I've noticed in the XML file:
a)
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f0xx_board.xsd">
Does this mean that the machine needs Internet access to run the conversion utility? (The machine I've been using does have access, but that would not always be the case).
b)
<templates_path>resources/gencfg/processors/boards/stm32f0xx/templates</templates_path>
I couldn't find this path anywhere - is it relevant?
This is ChibiStudio V17, BTW, updated today with the latest ChibiOs plugin.
- Giovanni
- Site Admin
- Posts: 14891
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: Running on other drives?
The URLs of schemas are provided internally by the plugin, no need for internet access.
That stack trace makes me think that the plugin is not correctly installed or recognized for some reason. Does it work in its standard path? Does the new path contains spaces or other peculiarities?
Giovanni
That stack trace makes me think that the plugin is not correctly installed or recognized for some reason. Does it work in its standard path? Does the new path contains spaces or other peculiarities?
Giovanni
Re: Running on other drives?
Installation is in D:\ChibiStudio rather than C:\ChibiStudio - so as simple a change as possible! Its a fresh install done by unzipping from the root directory of D:, then changing the names in various places as noted.
Didn't appear to work on another machine where the software's installed in C:\ChibiStudio - looks like that's got ChibiStudio 12 installed, so could be other issues, plus that machine's had some problems recently.
I've got another machine with the installation in C:\ where I can try it in the next week or so.
Didn't appear to work on another machine where the software's installed in C:\ChibiStudio - looks like that's got ChibiStudio 12 installed, so could be other issues, plus that machine's had some problems recently.
I've got another machine with the installation in C:\ where I can try it in the next week or so.
- Giovanni
- Site Admin
- Posts: 14891
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
- Giovanni
- Site Admin
- Posts: 14891
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: Running on other drives?
Eclipse requires the 32 bits JRE installed, 32 and 64 bits can coexist.
Giovanni
Giovanni