Raptor board available program storage

What is the maximum size of an executable program that can be deployed on a Raptor board. The spec claims 1.4 MB of user available flash, but I cannot deploy a program of size 1,011,168 bytes. There are linker errors about unresolved references. When I make the program smaller, it links and deploys ok.

The G400-S brochure states that there is an option for up to 8MB of flash memory. Can I get a Raptor board with 8MB of flash memory for program storage?
http://www.ghielectronics.com/downloads/man/G400-S_Brochure_v1.0.pdf

If you have a lot of resources in your executable (like Pictures) you could put them on SD Card and load them from there. That’s several gigs of additional “Flash” Memory.

You could even put some of your classes in separate assemblies, put the pe files on the SD Card, and load them by reflection.
I’m nut sure, but Debugging them might get ugly then.

@ Reinhard Ostermeier -

Thanks for this reply. I have tried to do this in the past but not successful.
Beyond my skill level :frowning: I guess…

Do you know of a simple example to get me started in the right direction.

Thank You…

I belive there is a maximum size restriction on each assembly. maybe 700k? break program into multiple assemblies by using class libraries.

Which part do you mean?
Putting resources or assemblies on SD Card?

Thanks, all, but I don’t think I have these problems. Below is a list of my .pe files and my resource files that are deployed to the board.

Back to my question:

The G400-S brochure states that there is an option for up to 8MB of flash memory. Can I get a Raptor board with 8MB of flash memory for program storage?
http://www.ghielectronics.com/downloads/man/G400-S_Brochure_v1.0.pdf

Why does the Spider have 2.5 MB of user available Flash, and the Raptor have 1.4 MB? And I have experienced that 1.1MB available Flash is more accurate for the Raptor.

I feel like I am back to Bill Gate’s famous 640KB limit in MS-DOS circa 1988.


 Volume in drive C has no label.
 Volume Serial Number is 0CDC-F88A

 Directory of C:\CwcProjects\SmartTruck_tools\SmartTruckRaptor\bin\Debug\be

12/05/2014  11:46            19,976 Configuration.pe
12/05/2014  11:46            20,824 CWC.SmartKiosk.WebInterface.pe
12/05/2014  11:46            11,484 DeviceHiveMF.pe
12/05/2014  11:46             5,360 Displays.pe
02/28/2014  16:03            41,628 Gadgeteer.pe
02/28/2014  16:03             2,620 Gadgeteer.Serial.pe
02/28/2014  16:03             2,864 Gadgeteer.SPI.pe
02/28/2014  16:03             6,184 Gadgeteer.WebClient.pe
02/28/2014  16:03             8,156 Gadgeteer.WebServer.pe
12/05/2014  11:46             2,708 GadgeteerNetworking.pe
04/02/2014  10:41           187,580 GHI.Glide.pe
10/06/2014  10:43            33,948 GHI.Hardware.pe
10/06/2014  10:43            12,684 GHI.Networking.pe
10/06/2014  10:43               672 GHI.Pins.pe
10/06/2014  10:43            36,216 GHI.Usb.pe
10/06/2014  11:27             7,188 GHIElectronics.Gadgeteer.FEZRaptor.pe
10/06/2014  11:27             2,280 GTM.GHIElectronics.DisplayT43.pe
10/06/2014  11:27             1,244 GTM.GHIElectronics.EthernetENC28.pe
09/10/2014  11:13             1,100 GTM.GHIElectronics.KeypadKP16.pe
10/06/2014  11:27               724 GTM.GHIElectronics.RelayX1.pe
10/06/2014  11:27               936 GTM.GHIElectronics.RS232.pe
10/06/2014  11:27               872 GTM.GHIElectronics.RS485.pe
10/06/2014  11:27             2,768 GTM.GHIElectronics.SDCard.pe
10/06/2014  11:27             1,608 GTM.GHIElectronics.TempHumidSI70.pe
10/06/2014  11:27               492 GTM.GHIElectronics.USBClientDP.pe
12/05/2014  11:46             6,372 HttpClient.pe
12/05/2014  11:46             4,400 JsonSerializer.pe
12/05/2014  11:46             3,176 Keyboards.pe
12/05/2014  11:46            12,116 KioskUtility.pe
12/05/2014  11:46             1,372 Logger.pe
12/05/2014  11:46            12,896 OmronTagReader.pe
12/05/2014  11:46             8,120 PingClient.pe
12/05/2014  11:46             8,520 ProgrammableLogicControllers.pe
12/05/2014  11:46            10,772 RFIDReaders.pe
12/05/2014  11:46             3,324 SDCardReaders.pe
12/05/2014  11:46           165,580 SmartTruckRaptor.pe
12/05/2014  11:46             9,472 SmartView.pe
12/05/2014  11:46             6,668 SocketServer.pe
12/05/2014  11:46             7,168 TempHumidSI70.pe
12/05/2014  11:46           217,008 TouchScreenInterface.pe
12/05/2014  11:46            12,728 XGadgeteer.WebServer.pe
              41 File(s)        901,808 bytes


 Volume in drive C has no label.
 Volume Serial Number is 0CDC-F88A

 Directory of C:\CwcProjects\SmartTruck_tools\SmartTruckRaptor\Resources

12/05/2014  12:39    <DIR>          .
12/05/2014  12:39    <DIR>          ..
07/11/2014  12:48             4,548 Arial-20.tinyfnt
10/09/2014  08:26             2,780 login.htm
10/09/2014  08:26             6,693 network.htm
06/16/2014  11:27             1,812 NinaB.tinyfnt
11/24/2014  17:02            11,028 options.htm
11/24/2014  17:02            11,470 optionsadmin.htm
10/09/2014  08:26             3,734 security.htm
06/16/2014  11:27             1,064 small.tinyfnt
11/24/2014  17:02            16,482 SmartTruck.htm
10/09/2014  08:26             2,359 status.htm
11/04/2014  11:46             7,106 styles.css
11/24/2014  17:02            37,220 utility.js
              13 File(s)        106,296 bytes


 Volume in drive C has no label.
 Volume Serial Number is 0CDC-F88A

 Directory of C:\CwcProjects\SmartTruck_tools\TouchScreenInterface\Resources

12/05/2014  12:43    <DIR>          .
12/05/2014  12:43    <DIR>          ..
11/22/2014  19:12               962 Activity.txt
11/19/2014  12:26               131 ActivityShowLog.txt
07/10/2014  15:05             4,548 Arial-20.tinyfnt
11/20/2014  13:30            19,697 BlackLight.jpg
08/20/2014  10:13               899 ConfigFileWindow.txt
11/20/2014  13:30            12,764 GreenLight.jpg
07/18/2014  09:49             1,251 LoginWindow.txt
08/15/2014  09:07             1,658 MainWindow.txt
10/03/2014  08:30             2,012 NetworkPage2Window.txt
11/04/2014  11:55             3,059 NetworkWindow.txt
11/18/2014  13:24             2,111 PrinterStatusWindow.txt
11/22/2014  19:12               801 PrinterTestWindow.txt
08/26/2014  10:12             1,066 PrinterWindow.txt
11/20/2014  13:30            19,380 RedLight.jpg
08/15/2014  09:18               866 SecurityWindow.txt
07/10/2014  14:02             1,064 small.tinyfnt
10/09/2014  11:07            26,006 SmartPrinterSplash.jpg
10/03/2014  08:30             3,168 SmartTruckPage1Window.txt
10/03/2014  15:29             4,056 SmartTruckPage2Window.txt
10/03/2014  08:30             3,958 SmartTruckPage3Window.txt
11/19/2014  08:55             3,607 SmartTruckPage4Window .txt
10/09/2014  11:07            27,154 SmartTruckSplash.jpg
11/19/2014  08:55             1,666 SmartTruckStatusWindow.txt
11/24/2014  10:58             2,048 SmartTruckTest.txt
07/15/2014  14:33               197 SplashWindow.txt
11/04/2014  11:55             3,571 SystemPage2Window.txt
11/18/2014  13:24             3,387 SystemPage3Window.txt
11/04/2014  11:55             2,439 SystemPage4Window.txt
11/04/2014  11:55             3,051 SystemWindow.txt
11/04/2014  11:55               977 UpdateFirmwareWindow.txt
              31 File(s)        157,554 bytes

@ dspacek - The 8MB option is a mistake in the preliminary brochure that will be corrected shortly. All G400s have 4MB only.

The EMX and G120 both have 4.5MB of flash on board while the G400 has only 4MB. The EMX and G120 both have more because they have some flash available inside the processor itself while the G400 does not. Furthermore, flash memory is divided up into different sized blocks depending on the board. While we try to maximize the amount of space available for your deployment, the restraints we have with the features supported on each board and the exact nature of its flash sector layout means that some boards will have less space available for deployment than others.

The deployment region on the G400 is exactly 1,478,400 bytes in size. The core NETMF assemblies do take up some of this region so you will not have that exact amount available to you. Additionally, NETMF may use some of that region for its own purposes.

As others have mentioned, NETMF has issues with larger assemblies and deployments so that is something you may want to keep in mind. If your application becomes so larger that it cannot reliably fit in the flash available on the G400 for deployment, you can look into optimizing your code so that it takes up less space or you can dynamically load assemblies as needed from an external storage source such as an SD card.

All the [em]published[/em] manuals and brochures are preliminary. There was a mistake made in the G400-D brochure that left out the word “preliminary”. In the catalog for ordering products there is [em]no option[/em] available to order any product, based on the G400 design, with 8MB flash.

A revised set of G400 documentation is done and waiting on technical review. Once reviewed, it will be published. This is not a re-write; technical questions, comments, errors, and additions have been addressed. I do not know if the documentation will be labeled as beta, preliminary, alpha, release, …

This Flash module can solve my problem. Thank you for that.

I don’t think that a flash module like this can be used to deploy to.
I think it’s only useable as an additional persistent storage with procedural access.