- 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'
- deleting references to the old build system
- arch_newport switched to AsciiDoc and updated with the new build system/configurator
- added 'source-highlighter' as a dependency to the doc builder
- (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
- Deleted the Python build files
- Main documentation updated with information about how to use build_elua
- CSS updated to provide a bit of free space at the top of <h2> headings.
- Added rpc-lua.lua
- Fixed cross-compilation errors
References to scons still exist in the docs, they'll have to be removed.
The only thing the shell uses from "term" is its getchar()
substitute, which ends up in platform_uart_getchar() on every
platform except i386. So if TERM is present, use its getchar()
redirector, and if it isn't, use platform_uart() directly.
Instead of constructing them on the stack at runtime in every call to
platform_get_{first,last}_free_ram().
When there was is only one RAM region this makes no difference, as the
whole thing is optimised out. However, when there are more than one
region, this improves both size and speed, especially in the simple
allocator, which calls these functions twice each at every call to
malloc().
These two lines are in the Emergency Garbage Collector patches but
seem to have got lost in transit.
The case it handles (exceeding MEMLIMIT) is pretty rare.
The Lua VM's luai_ipow() function is reused in lmathlib to provide
an integer version of the pow() function. However luai_ipow's
declaration in luac is only for LUA_CORE, whereas lmathlib.c is LUA_LIB.
The least invasive fix is just to redeclare it in lmathlib.c
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.
- "using.html" converted to AsciiDoc mode
- the shell documentation was split in a separate file and divided into
two parts: docs for the simple shell and for the advanced shell
(yet to be written)
The MMCFS implementation can now handle more than one MMC card. To
use this feature, define these macros in platform_conf.h:
MMCFS_NUM_CARDS - the total number of cards
MMCFS_CS_PORT_ARRAY - array of CS ports
MMCFS_CS_PIN_ARRAY - array of CS pins
MMCFS_SPI_NUM_ARRAY - array of SPI port numbers
For example:
#define MMCFS_NUM_CARDS 2
#define MMCFS_CS_PORT_ARRAY { 7, 2 }
#define MMCFS_CS_PIN_ARRAY { 0, 5 }
#define MMCFS_SPI_NUM_ARRAY { 0, 0 }
defines a system with 2 MMC cards. The first one uses SPI0 and has its
CS on PG0. The second one also uses SPI0 (this is perfectly possible)
but has its CS on PC5. This was the configuration used to test this
feature on a EK-LM3S8962 board.
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
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.