What about user application memory on the Panda II

Hello everyone,

I don’t know exactly what represent 148KB for user application. If I use all this space, can I add some extra memory to the USBIzi ?
Or this is very huge and I will fill everything hardly.

Thanks for your help :wink:

I doubt you will ever write an application that will use 148KByte so do not worry about adding more memory!

Ok ! :wink:

So the main differences with an EMX module will be all extra hardware features, right ?

I saw that there is also more software features with the EMX, is this just for the part developed by GHI ? I mean, do we have the complete uFramework (4.1) on the Panda II ?

You program can include in image that is 1MB in size…or an MP3 file that is 4MB in size but your “code” will never be that large. Of course you can just use the SD card and then you will have a lot of memory to store anything you like.

See this and click on “core solutions” http://www.ghielectronics.com/catalog/compare/

EMX is different - some of the memory is external so there are some performance penalties in that - there’s a thread discussing this around here somewhere. USBizi while it has less memory is a really capable platform !!

As Gus says, if you have external resources you can put them elsewhere which means you’re less likely to hit the limit of USBizi.

EMX has some other features you don’t get in USBizi, full bitmap support and USB camera to name just two, because it has more memory to access - to name another it has WPF support but there’s always Skewworks Spiral to fill some of that gap on smaller devices. So it really comes down to what you want to achieve will depend on what platform you should choose - or choose them all :slight_smile:

What if you had to reference a lot of assemblies.
I ran out of application space on the Panda before.
I included the NetMF extensions and a set of our own libraries.

In the end I had to extract specific portions of the netMF extentsions code
and include them directly in my application.

I also had to combine the code in some of the other libraries so I would have to reference less assemblies.

This happened when porting an app from the Chipworkx to the Panda,
and it was of course a very large data analyzing app

You ran out because you included some assemblies that won’t run on USBizi like TinyCore.dll

Writing code to fill 148KB or memory is thousands and thousands of lines of code. I doubt anyone will write 100K line application for USBizi…if this is your application then you should be considering EMX anyways :slight_smile:

Ok I see. Thanks for all your answers.

For my project, I don’t need more space but the Redpine Wifi Module’s support on the EMX interest me. Can I just add a chip to manage the IP stack in order to use the GHI wifi class ?

Correct me if i’m wrong, but the wifi class isn’t in the USBizi.

You can look at something like this, but you will need to write your own driver:
http://www.connectone.com/products.asp?did=73&pid=103

It is a Wifi module with TCP-IP on board.

I know this is an old thread, but I found it by accident and chuckled.

My app is a little over 4500 lines of code (and still not done). I am using a few of the .netmf libs and many of the GHI (system update, usbclient, serial port, hardware,etc, etc) and with the bootloader enabled I am maxed out!

Now I have to scramble to find creative ways to squeeze more, by refactoring (shorter variable names, case statements instead of if else where possible, and other desperate little tweaks)

I hope to avoid using an obfuscator, but it may come down to that.

Bow to what you did. This is amazing to fill all that flash!

So no resources! All code?

Correct, no resources… all code.

The thing is I am using a large portion of the Panda’s capabilities and had to reference a lot of libraries which really eats up flash space.

I am using both CAN channels, sd, usb client, SerialPort, System update, timers, watchdog, pwm, adc, etc, etc…

I cannot wait for the g120. The next version of my product needs more than the Panda can provide.

The Cerb40 would have worked as well, but it just doesn’t have the right and enough pins exposed (i.e. 1 can channel, 1 spi, etc)

What about a write up and a video of what you did? Would love to tweet about it. Start new thread if you can help us with this info.

1 Like