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 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.