1
0
mirror of https://github.com/elua/elua.git synced 2025-01-08 20:56:17 +08:00

41 Commits

Author SHA1 Message Date
Bogdan Marinescu
89acc4910b Various fixes
- build_release.lua changed to use the new build system
- checked for proper compilation of all known configurations (boards/known/)
- fixed various small issues in the builder/utils library
- added 'disp_mode=minimal'
2013-05-25 19:52:36 +03:00
Bogdan Marinescu
a9da3f816b Documentation updated
- (mostly) finished configurator docs
- arch_overview conterted to AsciiDoc and updated
- 'adc' parameters updates in all configuration files
- added 'config_only' option to the build system
2013-05-25 01:30:08 +03:00
Bogdan Marinescu
e5b64a46fe More work on the configurator
- started on the docs
- added the 'autoenable' attribute to some components
- moved LM3S ADC-specific configuration data to the LM3S backend
2013-05-24 12:21:16 +03:00
Bogdan Marinescu
463f0bceda Merge branch 'master' into luabuild
Conflicts:
	.gitignore
	src/common_tmr.c
	src/platform/lm3s/platform.c
	src/platform/lm3s/platform_conf.h
	src/platform/sim/platform_conf.h
	src/platform/stm32/platform_conf.h
	src/platform/str9/platform_conf.h
  utils/build.lua

Also fixed some minor issues in the builder.
2013-04-25 16:55:29 +03: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
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
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
aa529adf9b et-stm32 board description file DONE + other fixes/improvements 2012-07-12 01:50:38 +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
59beff6b99 working on the new build configurator. starting to get shape 2012-07-01 01:07:59 +03:00
Bogdan Marinescu
d190763c7c added board EK-LM3S9D92 from TI (LM3S9D92) 2012-06-27 00:45:04 +03:00
Sokolov Yura
1a5b04e2c3 NaN packing for TValues
From the Lua Power Patches page:

"Use NaN packing for TValue on x86 to reduce memory usage
and tiny performance gain (same as in LuaJIT i2).
It's fully ABI compatible with standard Lua libraries.
On one test script memory consumption reduced from 28Mb
to 21Mb and performance improved about 3.5-5%"

Added support for big endian architectures and LTR compatibility.
2012-04-19 00:04:10 +03:00
James Snyder
f3e0620c98 Merge branch 'include_git_rev' 2012-03-08 12:07:56 -06:00
Martin Guy
55b78b50ac Build system changes to allow building with UIP_CONF_IPV6
These changes allow you to "#define UIP_CONF_IPV6 1" in uip-conf.h
for an IPV6-capable network layer.
This also removes a pointless inclusion in avr32/uip-conf.h
The changes to the other three .c files (from "build.h" to "platform_conf.h")
are just orthogonal future-proofing.
2012-02-19 18:25:37 +01:00
James Snyder
b045088f65 Fix git command check to look for code 0 return 2012-01-21 16:23:31 -06:00
Martin Guy
d0ac60c65b AVR32 config changes fot default CPU, allocator and memory use
Changes the default Mizar32 CPU to the 256K model,
the default allocator for the 128K Mizar32 to simple (the smallest)
the default allocator for other Mizar32s to multiple to avoid newlib's
  dlmalloc bug
and only use one memory region on AVR32 platforms when newlib or simple
  for the same newlib dlmalloc bug and because simple can only handle
  one region
2012-01-21 12:24:35 +01:00
James Snyder
ed9793a42e Add support for git version determination to SCons build system 2012-01-20 18:15:53 -06:00
James Snyder
7e6ea54e9b Modifications to Lua build system to include git revision when available 2011-11-28 22:32:42 -06:00
James Snyder
e6eca3cd49 Remove extra unneeded set function from lua build system 2011-11-20 20:38:36 -06:00
James Snyder
f0047b1446 Added options to build systems to filter out certain file name patterns for ROMFS. 2011-11-20 20:36:44 -06:00
Bogdan Marinescu
f17b2a3bb2 Lua long long preliminary support 2011-10-18 15:52:37 +03:00
Bogdan Marinescu
60d62078b7 Remove separate dependency step from Lua build system
The separate dependency generation step from the Lua build system
was not needed, now the dependencies are generated at the same time
as the object files.
2011-10-03 14:08:22 +03:00
James Snyder
4e9086177a more support for Soldercore device 2011-06-30 23:49:46 -05:00
Martin Guy
df65909f59 Merge branch 'master' of github.com:elua/elua 2011-06-25 03:27:39 +02:00
Martin Guy
e45faec6f9 Complete the support for versions of Mizar32 with 256KB and 512KB of flash 2011-06-25 03:26:38 +02:00
James Snyder
f175278212 fix build issue introduced when adding linenoise for posix platforms 2011-06-24 18:24:24 -05:00
Bogdan Marinescu
7a72d58d74 Fixed invalid 'romfs/' prefix for files in ROMFS 2011-06-23 11:50:58 +03:00
Bogdan Marinescu
d7becf0d83 Automatically include files in romfs/ in the ROM filesystem
Now the build system will automatically include all the files in
romfs/ (except .gitignore) in the ROM filesystem. Remember that the
files in romfs/ should NOT be under source control.
2011-05-27 17:48:54 +03:00
Martin Guy
d55aa8cf10 Add minimal documentation at the head of build_elua.lua
saying how to install dependencies and where to find out the
command-line flags
2011-04-12 17:05:08 +02:00
Martin Guy
1fd500623e Make build-elua.lua also a directly executable script (#! ...) 2011-04-12 16:34:42 +02:00
Martin Guy
fe4c8d86f7 Integrated Martin Guy's emBLOD bootloader patch in eLua. Original patch message:
emBLOD is Marcus Jansson's second-stage boot loader for AVR32UC3A
parts as used in the EVK1100 and Mizar32 boards, designed to allow
firmware images larger than the on-chip flash memory by loading the
eLua binary from SD card into SDRAM and executing it there.

The source for the emBLOD loader is here https://github.com/cmp1084/emBLOD

When compilation option  bootloader=emblod is given to scons, a special
version is compiled that
- locates the program at the start of SDRAM
- doesn't initialize the system clocks and SDRAM controller, as these
are already set up by emBLOD.

If the bootloader= option is not given, eLua is compiled exactly as before.

The changes I've made to Marcus' originally posted patches are to put
DATA and BSS in internal static RAM, the same as before, since in the
best case (memcpy) the SDRAM is three times slower than access to
static RAM
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=80657

This also has an impact on code speed: the interpreter runs 9 times
slower in external SDRAM than it does in internal flash.

Tested and working on Mizar32
2011-04-07 22:35:10 +03:00
James Snyder
fdbdbcc335 Implement basic ADC module for AVR32 (only tested on EVK1100), add crosstools-ng avr32 toolchain to lua-based build system.
- add basic (no clock support) ADC implementation for AVR32, works on EVK1100
- add avr32-unknown-none-gcc to new lua-based build system to support crosstools-ng avr32 toolchain
2011-03-18 15:20:27 -05:00
Bogdan Marinescu
ab5e07bf10 Small fix for running build_elua.lua in Windows 2011-03-06 13:06:45 +02:00
Bogdan Marinescu
9cde5334a8 Compiled files are now found automatically
The files that will be compiled to link an eLua image are now found automatically,
there's no need to specify them explicitly anymore. This applies only to the main
'build_elua.lua' build file, each target's 'conf.lua' still needs to specify them
explicitly (but can use the same automatic source file finding as the main build file).
2011-03-06 03:29:31 +02:00
Bogdan Marinescu
163870081d Yeah, you guessed it: even more improvements to the build system :) 2011-02-27 18:31:09 +00:00
Bogdan Marinescu
1822ee1572 Now all eLua platforms compile using build_elua.lua; output compared with scons' output to verify that the same code is generated 2011-02-22 09:58:02 +00:00
Bogdan Marinescu
cd3d721519 added more platforms to the new build script; fixed issue that prevented compilation under Windows 2011-02-21 23:29:54 +00:00
Bogdan Marinescu
36d160876d More refinements to the new build system (yes, a lot of those, I know :) ) It is now possible to send arguments to targets if they are Lua functions. For example:
$ lua build_elua.lua board=et-stm32 burn /dev/ttyUSB0

will invoke stm32ld (the default for stm32's platform 'burn' target) on port /dev/ttyUSB0.
I really have to document all this stuff somewhere. Don't panic though, for now you can use the old build system exactly like you used it before :)
2011-02-21 16:08:55 +00:00
Bogdan Marinescu
b95dd84c41 - avr32 platform now uses the Lua build system (lua build_elua.lua board=mizar32|atevk1100|atevk1101)
- added support for per-backend targets. avr32 now has a 'burn' target (besides the regular 'prog') that can be used to build the image and burn it to the board (lua build_elua.lua board=atevk1100 burn). It is created in 'conf.lua'
- other fixes and improvements to the build system
2011-02-21 13:22:47 +00:00
Bogdan Marinescu
e3d6ee2715 Continuing work on the build system, try 'lua build_elua.lua board=et-stm32 prog' (it only works for stm32 for now). Still a lot of WIP and not throughly tested (for example the new mkfs.lua script was not tested at all with a non-empty FS) but it does seem to work nicely. NOTE: you need to install 'lpack' for this to work (luarocks install lpack). Anybody knows of a good way
to implement make's (or scon's ) '-jn' option (for parallel builds) in a cross-platform manner?
2011-02-21 01:01:21 +00:00