-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Size of build too large to fit into 1MB #191
Comments
just delete plugins you do not need (everything with _P*), you can even delete unneeded controllers (_C*).... |
Ok, works. Thank you... Should we have a special build target that e.g., uses a configuration file to decide which plugins should be included? |
yes we should, we already have defines for dev/test and normal plugins. we also should make a selection of 'minimal' plugins, that we want in the 8285 version. |
ideally we would have some sort of "wizard" which allows the user to select which plugins to include in the firmware... ...in a future far far away :) |
just wrote a memory analyser that shows us the memory usage per plugin (ram iram and rom). |
👍 |
The results are here: https://github.com/letscontrolit/ESPEasy/blob/mega/dist/Plugin_sizes.txt Especially the IRAM usage is a problem currently. Without any plugins we only have around 2k left. Some plugins with ISR's need to use some IRAM. I'll see what i can do to reduce that first. |
We could add a header file that defines a macro name for every plugin file, and have the plugin contents surrounded by an #ifdef. For instance for _P002_ADC.ino: #include "enabled_plugins.h" and in enabled_plugins.h: Then we could use a program (a wizard) that takes the information from Plugin_sizes.txt and displays a menu choice to the user. When we additionally add the dependencies then this could work like a charm (or e.g., a bit like the linux kernel configuration)... And fantastic work. I still have to understand the different types of RAM and their limits. |
Try also without plugins with different esp8266 versions... realy curious
if there is best one.
03.04.2017 8:36 PM "DatuX" <notifications@github.com> napisał(a):
… The results are here: https://github.com/letscontrolit/ESPEasy/blob/
mega/dist/Plugin_sizes.txt
Especially the IRAM usage is a problem currently. Without any plugins we
only have around 2k left. Some plugins with ISR's need to use some IRAM.
I'll see what i can do to reduce that first.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#191 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHOU4zu_qLxudxkK3-OMtv60thQDeyjks5rsTxAgaJpZM4Mud7O>
.
|
the main problem i see with "customized" build like @jbaumann describes it, is how do we get a "deploy able" build environment to the user? |
Wouldn't it be three steps?
The complexity of using the mechanism drops with each step... |
@psy0rz how do i run this memory analyzer?? ...you are developing on a *nix like system? ...is it possible the path things are wrong on a windows system? |
currently it needs the git and platformio commandline programs. i just hacked it together quickly without worrying about other operating systems too much. in linux you have to start it with the path to the correct objdump tool that is part of the platformio toolkit:
to make things easier i can make it a part of travis, so that you can watch the travis output for the results. (you would have to do a pull request first) |
ill try to get a buildservice like nodemcu-build.com running. |
Hi, I have written a small wizard in Java, but I would need the max values for 1M and 4M configurations (assuming the 8285 is the same as a 8266 with 1M). @psy0rz could you provide me with the values for the different categories listed in the output from your memanalyzer? Cheers, Joachim |
Hi, Later on, when I have time, I will put it on Github. @psy0rz, I still need the correct values for the memory limits... Cheers, Joachim |
We're now also building firmware for the 8285 by default. (called normal_8285.bin ) So this bug is fixed, correct? |
Yes, I think so. |
Hi,
I've now tried to build the 8285 version. Both this and the 1024 version do not fit into 1MB. What could I strip down to get a version that I can use for this memory size?
Cheers, Joachim
The text was updated successfully, but these errors were encountered: