For those interested, I made a tutorial explaining how to compile the ARM toolchain and build your custom eLua version with it! English: http://www.weekendtinkers.net/Compiling_eLua_enPortuguese: _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Seppo Takalo |
There is also different gnu-arm toolchain called Summon-arm toolchain which is in use at our RuuviTracker project.
See https://github.com/esden/summon-arm-toolchain This summon-arm differ on jsnyder's port because it supports hardware floating points. This is huge performance gain in lua, because Lua uses floating points for all numbers. (except when integer-lua is builded) You can check if your toolchain supports it by issuing following parameter "--print-multi-lib" Jsnyder's build: ~/arm-cs-tools/bin$ ./arm-none-eabi-gcc --print-multi-lib
.; thumb;@mthumb armv6-m;@mthumb@march=armv6-m thumb2;@mthumb@march=armv7@mfix-cortex-m3-ldrd Summon-arm build: $ arm-none-eabi-gcc --print-multi-lib
.; thumb/arm7tdmi-s;@mthumb@mcpu=arm7tdmi-s thumb/cortex-m0;@mthumb@mcpu=cortex-m0 thumb/cortex-m3;@mthumb@mcpu=cortex-m3 thumb/cortex-m4;@mthumb@mcpu=cortex-m4 thumb/cortex-m4/float-abi-hard/fpuv4-sp-d16;@mthumb@mcpu=cortex-m4@mfloat-abi=hard@mfpu=fpv4-sp-d16
Of course those new flags need to be defined in your "conf.py" build script. Floating points are not automatically enabled. I have following on our RuuviTracker's conf.py:
TARGET_FLAGS = ['-mthumb', '-mcpu=cortex-m4', '-mfloat-abi=hard', '-mfpu=fpv4-sp-d16'] # Hardware floating point. Requires supporting toolchain _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Tom Freund |
Gabriel,
Tried your ARM toolchain on Ubuntu 12.04 LTS and encountered some problems: 1 - installing dependencies libmpfr-dev-dev should be libmpfr-dev
libmpc-dev-y should be libmpc-dev 2 - installing luarocks luarocks-y should be luarocks The luarocks install itself went OK. But, I tried install luarocks lpack install luarocks luafilesystem and in both cases I got the following error: install: cannot stat `luarocks': No such file or directory
3 - making arm-eabi-toolchain
Tried
make install-cross and got the following:
sudo -u digysol curl -LO http://sourcery.mentor.com/sgpp/lite/arm/portal/package10384/public/arm-none-eabi/arm-2012.03-56-arm-none-eabi.src.tar.bz2
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 391 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 372 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 Warning: Failed to create the file arm-2012.03-56-arm-none-eabi.src.tar.bz2: Warning: Permission denied 0 132M 0 16384 0 0 10942 0 3:31:41 0:00:01 3:31:40 10942
curl: (23) Failed writing body (0 != 16384) make: *** [arm-2012.03-56-arm-none-eabi.src.tar.bz2] Error 23 4 - cloning eLua.git Minor point. Tried the git clone for eLua.git and it asked for a git username and password; whereas the git clone for arm-eabi-toolchain did not need it.
I like your toolchain procedure. It's clean and straightforward. So, any light that you can shed on the above will help. On Thu, Feb 14, 2013 at 6:34 AM, Seppo Takalo <[hidden email]> wrote: There is also different gnu-arm toolchain called Summon-arm toolchain which is in use at our RuuviTracker project. Tom Freund Dig.y.SoL (TM) "Systems overseeing public and private infrastructure"
Voice - 860-232-1614 Skype ID - digysol _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Fixed. It was a problem with the Wiki engine, because the tutorial in portuguese was OK!
2013/2/14 Tom Freund <[hidden email]> Gabriel, Gabriel Duarte
Linux User #471185Rio de Janeiro / RJ http://genericdev.wordpress.com/ _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Tom Freund |
Gabriel, On Thu, Feb 14, 2013 at 8:41 AM, Gabriel Duarte <[hidden email]> wrote: Fixed. It was a problem with the Wiki engine, because the tutorial in portuguese was OK! Tom Freund Dig.y.SoL (TM) "Systems overseeing public and private infrastructure"
Voice - 860-232-1614 Skype ID - digysol _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Hahahah sorry, but I do not speak castellano, only portuguese, english an french :p
I´m checking right now the problem with git.
2013/2/14 Tom Freund <[hidden email]>
Gabriel Duarte
Linux User #471185Rio de Janeiro / RJ http://genericdev.wordpress.com/ _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Fixed again :)
2013/2/14 Gabriel Duarte <[hidden email]> Hahahah sorry, but I do not speak castellano, only portuguese, english an french :p Gabriel Duarte Linux User #471185Rio de Janeiro / RJ http://genericdev.wordpress.com/ _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Tom Freund |
I refreshed arm-eabi-toolchain from git.
One more thing that had to be done is change the following in the Makefile script: (before) ifeq($(USER), root)
to (after) ifneq($(USER), root) in several places in the script. After that, the make worked and everything ran A-OK. Apparently, the "before' format added sudo when the user is root (No-no !).
On Thu, Feb 14, 2013 at 9:04 AM, Gabriel Duarte <[hidden email]> wrote: Fixed again :) Tom Freund Dig.y.SoL (TM) "Systems overseeing public and private infrastructure"
Voice - 860-232-1614 Skype ID - digysol _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Now is everything working? Cheers 2013/2/14 Tom Freund <[hidden email]> I refreshed arm-eabi-toolchain from git. -- Gabriel Duarte Linux User #471185Rio de Janeiro / RJ http://genericdev.wordpress.com/ _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Tom Freund |
Yes.
On Tue, Feb 19, 2013 at 6:18 PM, Gabriel Duarte <[hidden email]> wrote:
Tom Freund Dig.y.SoL (TM) "Systems overseeing public and private infrastructure"
Voice - 860-232-1614 Skype ID - digysol _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Cool :) Maybe I will write a bash script to automate the process :)
Cheers
2013/2/19 Tom Freund <[hidden email]> Yes. Gabriel Duarte
Linux User #471185Rio de Janeiro / RJ http://genericdev.wordpress.com/ _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Tom Freund |
Good Idea.
BTW, one more thing taht I forgot to mention in my last note. When setting the PATH environment variable, change the echo command to:
echo PATH=$PATH:$HOME/arm-cs-tools/bin >> ~/.bashrc No spaces between '~', '/', '.', and 'bashrc'. On Wed, Feb 20, 2013 at 9:06 AM, Gabriel Duarte <[hidden email]> wrote: Cool :) Maybe I will write a bash script to automate the process :) Tom Freund Dig.y.SoL (TM) "Systems overseeing public and private infrastructure"
Voice - 860-232-1614 Skype ID - digysol _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
:D
Thanks Tom, I wimm fix it!
2013/2/20 Tom Freund <[hidden email]> Good Idea. Gabriel Duarte
Linux User #471185Rio de Janeiro / RJ http://genericdev.wordpress.com/ _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
"I will"
2013/2/20 Gabriel Duarte <[hidden email]> :D Gabriel Duarte Linux User #471185Rio de Janeiro / RJ http://genericdev.wordpress.com/ _______________________________________________ eLua-dev mailing list [hidden email] https://lists.berlios.de/mailman/listinfo/elua-dev |
Free forum by Nabble | Edit this page |