1
0
mirror of https://github.com/elua/elua.git synced 2025-01-25 01:02:54 +08:00

1235 Commits

Author SHA1 Message Date
Bogdan Marinescu
5d97e95489 Shell commands are now callable from the 'elua' module
Simply use 'elua.shell( <command> )', for example:

elua.shell( "ls /rom" )

In called like this, "lua" and "exit" are disallowed.
2012-11-14 00:00:24 +02:00
Bogdan Marinescu
d05a3ae0e9 Lua-based build system improvements
The build system now accepts a single C file as a target and compiles that
file only. For example:

$ lua build_elua.lua board=ek-lm3s8962 src/main.c

Two other switches were added to the build sysem (both of which work only
with the single file target shown above):

"-E": preprocess file instead of compiling it
"-S": generate assembler source for the file instead of compiling it
2012-10-28 20:53:14 +02:00
Bogdan Marinescu
b38a1fb40e Small memory optimization in Lua strings
Get rid of the "reserved" byte in the TString data type. Might actually
save more than one byte, depdending on the compiler structure alignment
rules (and the architecture). Tested with the Lua 5.1 test suite.
2012-10-28 20:06:07 +02:00
Bogdan Marinescu
2d21dc3617 More changes to the build system
1. Added board_config_file (specify the board configuration file directly)
2. Added skip_conf (skip configuration step, use previously generated header)

Also, code refactgoring.
2012-10-17 00:22:47 +03:00
Bogdan Marinescu
480290bf86 Build system changes
1. Respect the value of build_dir
2. Added romfs_dir (specify ROMFS directory location)
3. Added output_dir (specify the location of the final executable and
   associated (bin, hex) files)
2012-10-15 23:45:25 +03:00
Bogdan Marinescu
1b5294736b shell fix for shell_recv 2012-10-11 21:46:48 +03:00
Bogdan Marinescu
e42b88561a 'mv' command and shell code refactoring
There is a new command in the shell ('mv' - move/rename files).
Also, the shell code was refactored into its own directory (src/shell).
The 'help' command in the shell was updated and supports 'help <command>'.
There is a new BUILD_ADVANCED_SHELL build time macro that enables the
advanced shell features (currently 'cp' with recursion (and other improvements),
'mv' and 'rm').
2012-10-07 23:54:28 +03:00
Bogdan Marinescu
2402627a10 Adding rm and rmdir commands to the shell (WIP) 2012-10-03 02:52:39 +03:00
Bogdan Marinescu
7923ad6188 added MMCFS emulation under the simulator 2012-10-03 02:51:55 +03:00
Bogdan Marinescu
4b710c1031 added MMCFS emulation under the simulator 2012-10-01 00:30:59 +03:00
Bogdan Marinescu
389ce9b41a More improvements to the shell (WIP)
- file masks ('*' and '?' are now accepted)
- recursive operations for ls/cp
- new FS-specific functions (src/common_fs.c)
2012-09-19 00:09:39 +03:00
Bogdan Marinescu
9e7f1ab4cd Preliminary directory support
- For now only supported for MMCFS
- 'dir' function in shell augmented to show directories and
  to traverse a path recursively if requested
- new command 'mkdir' in shell
2012-09-10 19:12:15 +03:00
Bogdan Marinescu
070e59e55b converted LM3S to the new build system + other fixes
Added 'board' and 'cpu' arguments to backend configuration functions.
2012-09-09 02:43:49 +03:00
James Snyder
402bc4c6c0 fix handling of rotables in luarpc 2012-09-05 16:16:19 -05:00
Bogdan Marinescu
030e8d7ef4 Merge pull request #12 from molnarkares/master
stext and etex fix (tracker #44)
2012-08-24 10:24:32 -07:00
molnarkares
ae99eab04d stext and etext fix 2012-08-24 16:56:24 +02:00
Bogdan Marinescu
e96a926df3 Added proper platform modules handling 2012-08-19 18:43:11 +03:00
Bogdan Marinescu
7603cc05f2 LM3S platform specific PIO fixes
Changed the LM3S platform specific PIO module to be consistent with
the generic PIO module's API.
2012-08-17 20:27:40 +03:00
Bogdan Marinescu
6b7116caf0 added explicit GPIO mappings for UART 2012-08-17 20:27:22 +03:00
Bogdan Marinescu
53f5807cee LM3S platform fixes
1. fixed "uart_setup" function
2. enabled UART buffering
3. changed invalid keys in lm3s.pio
2012-08-15 21:55:13 +03:00
Bogdan Marinescu
26989d4bb8 LM3S: timer interrupt support 2012-08-08 20:38:51 +03:00
Bogdan Marinescu
135146eef6 removed debugging printf statements 2012-08-06 23:57:13 +03:00
Bogdan Marinescu
b5e32d4334 GPIO interrupt support on LM3S + systimer fix on 9B92/9D92 2012-08-06 23:52:41 +03:00
Bogdan Marinescu
da8510601f fixed compilation issue when INT_TMR_MATCH is not declared 2012-08-06 23:52:11 +03:00
Bogdan Marinescu
9f894fd937 LM3S platform specific PIO module
New module on the LM3S platform which deals with platform
specific PIO setup functionality.
2012-08-01 00:18:27 +03:00
Bogdan Marinescu
89f16dc601 Fixed integer-only Newlib stubs
Newer Newlib versions use different functions to implement integer-only versions
of printf/scanf. Our stubs were modified to take advantage of these changes and
keep the code size low in integer-only versions of eLua.
2012-07-29 13:11:13 +03:00
Bogdan Marinescu
d09bea3273 Platform conversion + other changes
- AVR32 platform converted to use the new build system
- new section in configuration: 'build'. Used to set predefined
  build parameters (such as allocator, target, boot mode...)
2012-07-20 23:30:25 +03:00
Bogdan Marinescu
84f4d68e06 Merge branch 'master' of github.com:elua/elua into luabuild 2012-07-18 18:32:43 +03:00
Martin Guy
0e1db09385 Revert "Fixed the configuration file in order to work with the web
builder"

This reverts commit fc57957f7ac5fdf0ceebfd7acf300a8325569d44 which was
meant to be applied to the web-builder branch but ended up in the master
branch by mistake.
See https://github.com/elua/elua/commit/fc57957f#commitcomment-1552828
2012-07-18 12:06:10 +02:00
Bogdan Marinescu
0aac4509eb Changed flash sector sizes to 32 bits 2012-07-16 17:32:55 +03:00
Bogdan Marinescu
5a498011c8 i386 platform converted to the new build system 2012-07-15 02:21:53 +03:00
Bogdan Marinescu
767b9243f9 changed module selection mechanism 2012-07-15 00:50:12 +03:00
Bogdan Marinescu
37e20330e7 LPC17xx modified for the new build system + other changes
- more flexible specification of the RAM structure in the build configuration file
- fix for allocator choice in build_elua.lua
2012-07-14 20:00:54 +03:00
Bogdan Marinescu
f4eeedf162 STR9 converted to the new build system 2012-07-14 18:27:37 +03:00
Bogdan Marinescu
449716c477 LPC288x platform conversion + other changes
- LPC288x platform converted to the new build system
- changed generation for the 'extmem' attribute
- added combined attributes (validated against two or more possible types)
2012-07-14 16:46:31 +03:00
Bogdan Marinescu
5cf6f2b8f3 Moved platform 'at91sam7x' to the new build system
Also, a small fix in the timer interrupt handling code.
2012-07-14 14:48:09 +03:00
Bogdan Marinescu
97d9cac313 Merge branch 'luabuild' of vps.eluaproject.net:elua into luabuild 2012-07-14 13:53:47 +03:00
Bogdan Marinescu
8af2c5d088 str7 platform converted to the new build system 2012-07-14 13:18:29 +03:00
Bogdan Marinescu
cb93117f42 switched the lpc24xx platform to the new build configuration 2012-07-13 12:09:11 +03:00
Bogdan Marinescu
a26d5423e1 Multiple changes
- platform 'sim' switched to the new build system
- fixed a few macro definitions
2012-07-12 14:07:59 +03:00
Bogdan Marinescu
dd12c470a7 Switched STM3210E-EVAL to the new build system 2012-07-12 13:47:29 +03:00
Bogdan Marinescu
aa529adf9b et-stm32 board description file DONE + other fixes/improvements 2012-07-12 01:50:38 +03:00
Bogdan Marinescu
86465389fb RO string bug fix
Fixed bug reported by Tim Van der Hulst:

-------------------------------------------------------------------------------
dofile('/mmc/test.lua') -- OK
require('test') -- Fail!!

-------------
/mmc
test.txt                       5 bytes
gprs.lua                       2910 bytes
util.lua                       385 bytes
test.lua                       385 bytes

Total on /mmc: 3685 bytes

-------------

Error: [string "xmodem"]:23: module 'test' not found:
        no field package.preload['test']
        no file '/mmc/test.lua;/mmc/test.lc;/rom/test.lua;/rom/test.lc'
        no file '/mmc/test.lc;/rom/test.lua;/rom/test.lc'
        no file '/rom/test.lua;/rom/test.lc'
        no file '/rom/test.lc'
-------------------------------------------------------------------------------

The problem was actually in the way read-only strings were created. If a read-only
string creation call specified a size which was different than the actual (C) size
of the string, the string didn't get null-terminated, which in turn led to some
interesting errors (like the one above).
2012-07-10 13:41:34 +03:00
Bogdan Marinescu
224ca8e27b fixed conflicts (weird) 2012-07-01 21:05:37 +03:00
Bogdan Marinescu
5ce6a8aef6 Multiple changes
- more build configuration attributes (allocator, target)
- more sanity checks
- more color in the builder
- 'romfs' is now a separate builder target, not a function being called separately
- added mappings for the configurator attributes
2012-07-01 20:59:55 +03:00
Bogdan Marinescu
e713e9866d More work on the configurator
- more logical generator for 'shell'
- added TCP/IP component and validation for TCP/IP data
- added 'needs' as a basic way to specify dependencies
2012-07-01 20:50:47 +03:00
Bogdan Marinescu
6a94e9a924 gettin better and better 2012-07-01 12:19:19 +03:00
Bogdan Marinescu
59beff6b99 working on the new build configurator. starting to get shape 2012-07-01 01:07:59 +03:00
Bogdan Marinescu
fff5754d3b working on components/attributes/configs/refactoring various platforms 2012-06-28 17:42:21 +03:00
Bogdan Marinescu
00a3fec2a9 initial builder souce base 2012-06-28 02:41:21 +03:00