0

Core footprint / code size

asked 2014-09-22 07:39:27 -0700

leodor gravatar image

What's the minimum memory footprint for the AllSeen core library - thin and standard version?

The documentation for AJTCL states the thin client can fit into 25KB, and the standard client takes at least 250KB in C++ or ~1MB in Java. Is that confirmed by experience? Can anyone share their specific code sizes, on ARM and other platforms?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2014-11-11 15:29:06 -0700

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Those values are close but slightly outdated with the latest software. The amount of ROM needed for just AllJoyn Thin Core Library is ~ 40k depending on if software encryption/decryption is used. When you factor in a complete application that takes advantage of the AllJoyn Base Service Frameworks then you are looking around 50-90k depending on the application. There is an example ACServerSample that uses all of the Service Frameworks that you can use as a reference point. The amount of RAM depends on the application and the use of the Service Frameworks, AllJoyn Thin Core Library by itself usually (depends on the platform) takes around 12-14k.

The AllJoyn Standard Core Library due to being a combination of the AllJoyn Router software and the Standard library is really split into two values - Router is about ~450k on a linux system. An application that is very basic that does not included the bundled router will take around 10k (basic samples). When using the language bindings that are available will increase the size due to the binding library used to glue the C++ code to the language you are using. This various from platform to platform but for Android the inclusion of the AllJoyn libs takes about 1.5MB.

These values are entirely estimates that may not reflect the final information found on the platform you are using with the AllJoyn Software. The compiler flags, inclusion of more shared/static libraries, optimization settings, etc. all play a factor into the final footprint of the software. My recommendation is to just use the software and odds are, when using an MCU, you will already have one powerful enough to run the software. If you are building a commercial product and plan to have it be an IoE product you should be thinking about firmware upgrades and various other features, in which the MCU you spec'ed more then likely has room to support the AllJoyn Thin Core Library.

edit flag offensive delete publish link more

Comments

Thank you, that really helps.

leodor ( 2014-11-11 23:30:44 -0700 )edit
Login/Signup to Answer

Question Tools

Follow
1 follower

Stats

Asked: 2014-09-22 07:39:27 -0700

Seen: 359 times

Last updated: Nov 11 '14