2020-03-31 02:31 AM
Hi ,
I have problem with the Heap issue (for many views I think)
I try to comment some view in FrontendHeapBase and it can flash into kit, but I found out in some view using more heap than declare --> it errors.
Can you help me fix this problem??
Thank alot.
2020-03-31 02:33 AM
2020-03-31 04:47 AM
I'm not sure what "Comment some view" means, but generally, if you're trying to add a View manually, you also need to let the FrontEndHeap know so that it can calculate how much memory, worst case, to put aside for worst case allocation.
When using the Designer this will automatically be done for you. If manually, then you need to add your View/PresenterType to the list inside FrontEndHeap.hpp.
/**
* A list of all view types. Must end with meta::Nil.
* @note All view types used in the application MUST be added to this list!
*/
typedef touchgfx::meta::TypeList< MyView,
touchgfx::meta::Nil
> ViewTypes;
/**
* Determine (compile time) the View type of largest size.
*/
typedef touchgfx::meta::select_type_maxsize< ViewTypes >::type MaxViewType;
/**
* A list of all presenter types. Must end with meta::Nil.
* @note All presenter types used in the application MUST be added to this list!
*/
typedef touchgfx::meta::TypeList< MyPresenter,
touchgfx::meta::Nil
> PresenterTypes;
/Martin
2020-03-31 07:32 AM
Hi Martin,
It's excessive recursion in FrontendHeapBase and I comment some touchgfx::meta::TypeList< ... View/Presenter,
run is ok on kit, but some views with lots widget, it errors.
2020-03-31 08:29 AM
Which class is it complaining about? can't see from your screenshot
/Martin
2020-03-31 08:43 AM
with lots views in FrontendHeapBase declare by Designer, I can't compile code.
I just comment some to not excessive recursion -> compile ok but when run on h747 kit, some views with large heap size
--> it freeze at this view. Can you help me fix that problem.
2020-04-01 01:15 AM
Do you also have this issue with gcc (simulator through designer).
/Martin
2020-10-09 09:12 PM
Sorry for jumping in.
I have similar problem. I try to add 65 screens and build, then OK. But add 66 screens, then ERROR with IAR compiler.
ERROR[Pe456]: excessive recursion at instantiation of class "touchgfx::meta::select_type_maxsize<touchgfx::meta::TypeList<N175_screenView, E:\test\Middlewares\ST\touchgfx\framework\include\common\Meta.hpp 90 GCC compile (simulator) is OK.
Could you please help me?
2020-10-10 12:46 AM
I found that C maximum recursion just about 64. You need to set your complier using only C++ language to solve this.
2020-10-11 09:01 PM
Thank you for the prompt response.
I confirmed to resolve with adding build option on EWARM (--pending_instantiations 0).
However the maker said maximum recursion is 1024. It means the maximum screen number is 1024, correct?