How could blocks from Robotics System Toolbox be built into embedded code running on Arm Cortex-A9?
1 view (last 30 days)
Show older comments
I'm trying to build the simulink model posted below into embedded code, which is intended to run on Arm Cortex-A9. After several tries, I got error like these:
D:/Matlab/toolbox/shared/robotics/robotcore/builtins/libsrc/collisioncodegen/collisioncodegen_CollisionGeometry.cpp:43:14: error: 'Type' is not a class or namespace case Type::Box: // for box primitive
D:/Matlab/toolbox/shared/robotics/robotcore/builtins/libsrc/collisioncodegen/collisioncodegen_CollisionGeometry.cpp:77:27: error: expected primary-expression before ':' token.
Are there any suggestions. Many thanks!
Version of my tools, matlab 2020b, simulink 2020b, Robotics System Toolbox 3.2, Embedded Coder 7.5
0 Comments
Answers (1)
Karsh Tharyani
on 28 Apr 2022
Hi Charles,
My best guess is that the C++ compiler on the ARM Cortex-A9 doesn't support C++11. We are using scoped enums (the enum in question is Type), and rvalue references which are features available since C++11.
Unfortunately, there is no workaround for this without modifying the generated source code or having a compiler which supports C++11.
If your application is not restricted to an A9, you can try using an ARM Cortex-A57 which should successfully compile the generated code.
Best,
Karsh
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!