aboutsummaryrefslogtreecommitdiff
path: root/zephyr/Makefile
AgeCommit message (Collapse)Author
2017-09-06ports: Make new ports/ sub-directory and move all ports there.Damien George
This is to keep the top-level directory clean, to make it clear what is core and what is a port, and to allow the repository to grow with new ports in a sustainable way.
2017-08-11all: Make use of $(TOP) variable in Makefiles, instead of "..".Damien George
$(TOP) is defined in py/mkenv.mk and should be used to refer to the top level of this repository.
2017-08-03zephyr/Makefile: Explicitly define default target as "all".Paul Sokolovsky
For some reason, with the latest Zephyr master, running just "make" led to executing Zephyr's "qemu" target.
2017-07-09zephyr/Makefile: Revert prj.conf construction rule to the previous state.Paul Sokolovsky
CONF_FILE can be overriden, e.g. for minimal build, and we don't construct such overriden conf file like we do for prj_merged.conf.
2017-07-08zephyr/Makefile: Rework dependencies and "clean" target.Paul Sokolovsky
Got tired of running rm -rf manually. Make should clean, and should clean fast. Also, fix always-running config-related commands (by having per-board merged configs).
2017-05-02zephyr/Makefile: Add debugserver Zephyr target.Paul Sokolovsky
2017-04-05zephyr/Makefile: Add "test" target, runs testsuite in QEMU.Paul Sokolovsky
2017-03-31zephyr: Integrate modusocket into build.Paul Sokolovsky
2017-03-30zephyr/Makefile: Add workaround (fix?) for broken builds for DTS targets.Paul Sokolovsky
2017-03-30zephyr/Makefile: Rework to use modern, official build integration.Paul Sokolovsky
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.
2017-03-12zephyr: Move "minimal" configuration building to a separate wrapper script.Paul Sokolovsky
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.
2017-03-12zephyr: Make sure that generated prj.conf is updated only on content changes.Paul Sokolovsky
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.
2017-03-08zephyr/modzephyr: Add a module for Zephyr-specific things.Paul Sokolovsky
Mostly intended to ease experimentation, no particular plans for APIs so far (far less their stability), is_preempt_thread() provided is mostly an example.
2017-02-01zephyr/README: Describe many gotchas of networked builds.Paul Sokolovsky
2017-01-27zephyr: Allow to have per-board Zephyr config fragments.Paul Sokolovsky
To enable options which may be incompatible with other boards, etc.
2017-01-27zephyr: Make sure that correct Zephyr config is used for "minimal" build.Paul Sokolovsky
Overriding CONF_FILE in "minimal" target itself is too late due to include- pinned $(Z_EXPORTS) target.
2017-01-22zephyr: Convert to use builtin help function.Damien George
2017-01-21zephyr: Add separate Zephyr config for "minimal" build.Paul Sokolovsky
In anticipation of enabling more features in the default build. Also, fix compilation of minimal build.
2016-11-05zephyr/Makefile: Add -fomit-frame-pointer.Paul Sokolovsky
Somehow, Zephyr uses -fno-omit-frame-pointer, whch bloats code size considerably (+5K for minimal ARM Thumb2 build).
2016-11-05zephyr/Makefile: Add minimal port.Paul Sokolovsky
2016-11-04zephyr/Makefile: Allow to override Zephyr config from make command line.Paul Sokolovsky
2016-11-04zephyr/Makefile: Update comments to the current state of affairs.Paul Sokolovsky
2016-11-04zephyr/Makefile: Allow to adjust heap size from make command line.Paul Sokolovsky
2016-10-27zephyr: Initial implementation of machine.Pin.Daniel Thompson
The integration with Zephyr is fairly clean but as MicroPython Hardware API requires pin ID to be a single value, but Zephyr operates GPIO in terms of ports and pins, not just pins, a "hierarchical" ID is required, using tuple of (port, pin). Port is a string, effectively a device name of a GPIO port, per Zephyr conventions these are "GPIO_0", "GPIO_1", etc.; pin is integer number of pin with the port (supposed to be in range 0-31). Example of pin initialization: pin = Pin(("GPIO_1", 21), Pin.OUT) (an LED on FRDM-K64F's Port B, Pin 21). There is support for in/out pins and pull up/pull down but currently there is no interrupt support. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org> Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2016-10-22zephyr: Implement utime module.Daniel Thompson
This provides time and sleep together with the usual ticks_us/_ms/_diff and sleep_us/ms family. We also provide access to Zephyr's high precision timer as ticks_cpu(). Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2016-10-21py/py.mk: Automatically add frozen.c to source list if FROZEN_DIR is defined.Paul Sokolovsky
Now frozen modules generation handled fully by py.mk and available for reuse by any port.
2016-10-12zephyr: Implement the help() function.Daniel Thompson
The boot issue text mentions a help() function and encourages the user to run it. It is very disconcerting to find that the function does not exist... Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2016-10-12zephyr/Makefile: Be sure to extra qstr's from port sources.Paul Sokolovsky
2016-10-10zephyr: Add Ctrl+C handling.Paul Sokolovsky
2016-10-10zephyr: Enable frozen modules support.Paul Sokolovsky
2016-10-10zephyr: Use recently added "make outputexports" Zephyr target.Daniel Thompson
The outputexpors target, which exports Zephyr environment variables, was recently added to Zephyr. By exploiting this feature we can hugely simplify the build system, improving robustness at the same time. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2016-10-10zephyr/Makefile: Automatically derive target-specific CFLAGS.Paul Sokolovsky
By tricking Zephyt arch Makefiles compute them for us (not just for Zephyr). This make potentially break as Zephyr evolves.
2016-10-10zephyr: Support extra make targetsDaniel Thompson
The two variables, GENERIC_TARGETS and CONFIG_TARGETS come, respectively, from the the lists shown during "make help" and "make kconfig-help". Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2016-10-10zephyr: Automatically derive ARCH.Daniel Thompson
Currently to compile for anything that except ARCH=x86 we have to provide ARCH via the environment or make arguments. We can do better than that! Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
2016-10-10zephyr: Initial Zephyr RTOS port, MicroPython part.Paul Sokolovsky