Damien George
4c307bfba1
all: Move BYTES_PER_WORD definition from ports to py/mpconfig.h
It can still be overwritten by a port in mpconfigport.h but for almost
all cases one can use the provided default.
8 years ago
Paul Sokolovsky
64d00511e1
zephyr/modusocket: Implement send().
8 years ago
Paul Sokolovsky
88582e33cc
zephyr/modusocket: Implement bind() and connect().
8 years ago
Paul Sokolovsky
6cc1a7a214
zephyr: Integrate modusocket into build.
8 years ago
Paul Sokolovsky
d1015f0e0d
zephyr/modusocket: Initial version of usocket module for Zephyr.
So far, socket creation and closure is implemented.
8 years ago
Paul Sokolovsky
344bfbb71c
zephyr: Fix NLR segfault in minimal build.
Requires inclusion of zephyr.h to properly detect that we're building for
Zephyr.
8 years ago
Paul Sokolovsky
df48f4645d
zephyr/Makefile: Add workaround (fix?) for broken builds for DTS targets.
8 years ago
Paul Sokolovsky
29dd92c82a
zephyr/Makefile: Rework to use modern, official build integration.
Build happens in 3 stages:
1. Zephyr config header and make vars are generated from prj.conf.
2. libmicropython is built using them.
3. Zephyr is built and final link happens.
8 years ago
Paul Sokolovsky
e93c4ca181
zephyr/prj_base.conf: Enable TCP (and UDP explicitly).
8 years ago
Paul Sokolovsky
dbb2aea428
zephyr/prj_base.conf: Disable legacy kernel compatibility.
This keeps dependency on mdef, sysgen and other stuff which complicates
build integration.
8 years ago
Paul Sokolovsky
220df8544b
zephyr/zephyr_getchar: Use native k_sem instead of legacy nano_sem.
8 years ago
Paul Sokolovsky
99866a00a0
py/nlrx86: Better check for Zephyr (requires 1.7).
8 years ago
Damien George
180045bce9
zephyr/main: Move lexer constructor to within NLR handler block.
And raise an exception when mp_lexer_new_from_file is called.
8 years ago
Paul Sokolovsky
9c9674a325
zephyr/main: Remove unused __fatal_error().
8 years ago
Paul Sokolovsky
f5aac7d33f
zephyr/main: nlr_jump_fail: Fix noreturn warning.
8 years ago
Paul Sokolovsky
40e541063f
zephyr: Move "minimal" configuration building to a separate wrapper script.
Minimal config can be now build with:
./make-minimal BOARD=...
This is required because of Makefile.exports magic, which in its turn depends
on PROJ_CONF to be set correctly at the beginning of Makefile parsing at all
times. Instead of adding more and more workarounds for that, it's better to
just move minimal support to a separate wrapper.
Also, remove Zephyr 1.5 era cruft from Makefile, and add support for Zephyr's
"run" target which supercedes older "qemu" target in upstream.
8 years ago
Paul Sokolovsky
736a8a8ac7
zephyr: Make sure that generated prj.conf is updated only on content changes.
This is a typical problem with make: we want to trigger rebuilds only
if file actually changed, not if its timestamp changed. In this case,
it's aggravated by the fact that prj.conf depends on the value of
BOARD variable, so we need to do some tricks anyway. We still don't
try to detect if just BOARD changed, just try to generate new
prj.conf.tmp every time (quick), but do actual replacement of prj.conf
only if its content changed.
8 years ago
Paul Sokolovsky
e8d4527996
zephyr/modzephyr: Fix typo in identifier.
8 years ago
Paul Sokolovsky
a64a0276b3
zephyr/modzephyr: Add a module for Zephyr-specific things.
Mostly intended to ease experimentation, no particular plans for APIs
so far (far less their stability), is_preempt_thread() provided is
mostly an example.
8 years ago
Paul Sokolovsky
3d739eb398
zephyr/README: Network startup issues with frdm_k64f resolved.
But leave a generic warning that users should be aware of Zephyr's
limitations/issues for a board they use.
8 years ago
Paul Sokolovsky
453f98914e
zephyr/main: Don't unconditionally dump stats on each GC.
This was a debug output for initial porting, breaks tests.
8 years ago
Paul Sokolovsky
ce2703599f
zephyr: Add qemu_cortex_m3 config fragment.
Should work for QEMU networking with soon-to-merged upstream patch.
8 years ago
Paul Sokolovsky
64916436b2
zephyr: Enable IPv6 networking in addition to IPv4.
8 years ago
Paul Sokolovsky
00bd145398
zephyr/README: Describe many gotchas of networked builds.
8 years ago
Paul Sokolovsky
d335904666
zephyr/Makefile.zephyr: Support and default to networked (SLIP) QEMU.
Also works for non-networked builds (like minimal).
8 years ago
Paul Sokolovsky
300ecac336
zephyr/prj_frdm_k64f.conf: Add, enable Ethernet support.
8 years ago
Paul Sokolovsky
1df1642b70
zephyr: Allow to have per-board Zephyr config fragments.
To enable options which may be incompatible with other boards, etc.
8 years ago
Paul Sokolovsky
40e72e4a5c
zephyr: Make sure that correct Zephyr config is used for "minimal" build.
Overriding CONF_FILE in "minimal" target itself is too late due to include-
pinned $(Z_EXPORTS) target.
8 years ago
Damien George
77e0cee49e
zephyr: Convert to use builtin help function.
8 years ago
Paul Sokolovsky
5298472fee
zephyr: Enable SLIP networking for the default build.
This makes MicroPython app running in QEMU be pingable from the host (by
following QEMU networking setup instructions,
https://www.zephyrproject.org/doc/samples/net/qemu_setup.html ).
8 years ago
Paul Sokolovsky
1459f81429
zephyr: Add separate Zephyr config for "minimal" build.
In anticipation of enabling more features in the default build. Also, fix
compilation of minimal build.
8 years ago
Paul Sokolovsky
f1f2a3cebf
zephyr: Remove deprecated .mdef file.
8 years ago
Paul Sokolovsky
58722103e1
zephyr/help: Update n_args param type to size_t.
8 years ago
Paul Sokolovsky
bbd0d27a25
zephyr: Enable slice subscription.
Required for the testsuite.
8 years ago
Paul Sokolovsky
56a514c193
zephyr/uart_core: Access console UART directly instead of printk() hack.
This is required to avoid extra level of output "cooking" ("\r\r\n") and
make test infrastructure work. On the other hand, this breaks somewhat
Zephyr console abstraction.
8 years ago
Paul Sokolovsky
0c59c30fde
zephyr: Use core-provided keyboard exception object.
8 years ago
Paul Sokolovsky
724b82559d
zephyr/main: Initialize sys.path and sys.argv.
8 years ago
Paul Sokolovsky
c16e7eae5e
zephyr: Implement soft reset feature.
8 years ago
Paul Sokolovsky
95fe7a40b3
zephyr: Support raw REPL.
8 years ago
Paul Sokolovsky
1779a62085
zephyr: Switch to Zephyr 1.6 unified kernel API.
In 1.6, Zephyr switched to "unified kernel" and new API set. Older kernel
API is supported, but marked as deprecated and leads to warnings.
8 years ago
Paul Sokolovsky
295266178c
zephyr/zephyr_getchar: Update to Zephyr 1.6 unified kernel API.
8 years ago
Paul Sokolovsky
a6de451a13
zephyr: Add .gitignore to ignore Zephyr's "outdir" directory.
That's where Zephyr keeps object files and produced executables.
8 years ago
Paul Sokolovsky
2bf96612d2
zephyr/mphalport.h: Update for new "unified" kernal API (sleep functions).
8 years ago
Paul Sokolovsky
3ccdbf792c
zephyr/Makefile: Add -fomit-frame-pointer.
Somehow, Zephyr uses -fno-omit-frame-pointer, whch bloats code size
considerably (+5K for minimal ARM Thumb2 build).
8 years ago
Paul Sokolovsky
50e8e28f96
zephyr/Makefile: Add minimal port.
8 years ago
Paul Sokolovsky
f59465d763
zephyr/Makefile: Allow to override Zephyr config from make command line.
8 years ago
Paul Sokolovsky
919fc2dc47
zephyr/Makefile: Update comments to the current state of affairs.
8 years ago
Paul Sokolovsky
688cc79294
zephyr/Makefile: Allow to adjust heap size from make command line.
8 years ago
Paul Sokolovsky
13f7a7b86b
zephyr/mpconfigport.h: Move less important params to the bottom.
8 years ago
Paul Sokolovsky
d86cac4b82
extmod/utime_mphal: Implement ticks_add(), add to all maintained ports.
8 years ago