This should really be more than one commit, but here it goes anyway:
- added STM32F4 CDC UART support. For some reason, it seems to work only
on the OTG_FS interface, the OTG_HS interface enumerates it, but
doesn't seem to send/receive any data.
- removed the "platform interface" functions for CDC UART. That was
never really a platform interface, just a couple of functions reading
and writing data from/to a CDC UART. Now each backend takes care of this
as a special case in its platform_uart_xxx functions.
- added buffering support for CDC UARTs
- added uart.CDC to the uart module, so the CDC uart can be used directly
from Lua.
- stm32f4discovery now defaults to using the CDC, since it doesn't have
a dedicated UART connector.
- added STM32-P407 board from Olimex (no ext SRAM yet)
- added documentation for the new configurator parameters
Signed-off-by: Bogdan Marinescu <bogdan.marinescu@gmail.com>
- 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.
Ports with a number of pins equal to 0 are now considered as not
present on the host. This allows for a non-linear definition of
ports (for example: P0, P1, P3, P7, P8 ...)
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.