samples: zephyr: add hello-world
This is a minimal example application that works on various boards, without target-specific definitions, device tree overlay files, etc. It's been tested on frdm_k64f, 96b_carbon, and 96b_nitrogen. Signed-off-by: Marti Bolivar <marti.bolivar@linaro.org>
This commit is contained in:
parent
b6efee9deb
commit
eba58fa360
|
@ -0,0 +1,46 @@
|
|||
# Top-level Makefile for the skeleton application.
|
||||
#
|
||||
# This provides a basic application structure suitable for loading by
|
||||
# mcuboot, which is easy to customize on a per-board basis. It can be
|
||||
# used as a starting point for new applications.
|
||||
|
||||
# The default board is FRDM-K64F. This can be overridden at
|
||||
# the command line for other boards supported by Zephyr.
|
||||
BOARD ?= frdm_k64f
|
||||
# The top-level application configuration is prj.conf. This can also
|
||||
# be overridden at the command line if you add another one.
|
||||
CONF_FILE ?= prj.conf
|
||||
|
||||
# This will merge any board-specific extras from boards/$(BOARD).conf
|
||||
# into the configuration.
|
||||
CONF_FILE += $(wildcard boards/$(BOARD).conf)
|
||||
# These additional "local" files, if present, will be merged in as
|
||||
# well, but they are ignored by Git.
|
||||
CONF_FILE += $(wildcard local.conf) $(wildcard boards/$(BOARD)-local.conf)
|
||||
|
||||
# Zephyr uses Device Tree (DT) to describe some board hardware
|
||||
# configuration.
|
||||
#
|
||||
# For this simple example, all we need to tell DT is where on the chip
|
||||
# flash to link this application image so mcuboot can find it. We do
|
||||
# this with a device tree overlay file.
|
||||
#
|
||||
# See the Zephyr documentation for more information on DT:
|
||||
# https://www.zephyrproject.org/doc/dts/device_tree.html
|
||||
DTC_OVERLAY_FILE := $(CURDIR)/dts.overlay
|
||||
export DTC_OVERLAY_FILE
|
||||
# If you want to do your DT overlay on a per-board basis (say, if you
|
||||
# need to support multiple different boards, each of which needs
|
||||
# slightly different DT overlays), then comment the above lines and
|
||||
# uncomment the following ones. You can then add board-specific
|
||||
# overlay files named boards/$(BOARD).overlay.
|
||||
#
|
||||
# DTC_OVERLAY_DIR := $(CURDIR)/boards
|
||||
# export DTC_OVERLAY_DIR
|
||||
|
||||
# This string ends up getting printed in the device console
|
||||
FROM_WHO ?= "Zephyr"
|
||||
CFLAGS += -DMCUBOOT_HELLO_WORLD_FROM=\"$(FROM_WHO)\"
|
||||
|
||||
# The Zephyr Makefiles do the rest.
|
||||
include $(ZEPHYR_BASE)/Makefile.inc
|
|
@ -0,0 +1,6 @@
|
|||
This is a "Hello world" skeleton application which can be used as a
|
||||
starting point for Zephyr application development using mcuboot.
|
||||
|
||||
It includes the configuration "glue" needed to make the application
|
||||
loadable by mcuboot in addition to a basic Zephyr hello world
|
||||
application's code.
|
|
@ -0,0 +1 @@
|
|||
*-local.conf
|
|
@ -0,0 +1,2 @@
|
|||
You can place per-board configuration and device tree overlays
|
||||
here. See the comments in the Makefile for more information.
|
|
@ -0,0 +1,10 @@
|
|||
/*
|
||||
* Basic Device Tree overlay file for chain-loading by mcuboot.
|
||||
* See the Makefile for more information.
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zephyr,code-partition = &slot0_partition;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,11 @@
|
|||
# Print a banner on the UART on startup.
|
||||
CONFIG_BOOT_BANNER=y
|
||||
CONFIG_BUILD_TIMESTAMP=y
|
||||
|
||||
# TEXT_SECTION_OFFSET is used to leave space in the binary for the
|
||||
# mcuboot header.
|
||||
#
|
||||
# This is a conservative value which should work for most boards, at
|
||||
# the cost of unnecessarily reducing the amount of usable flash a bit
|
||||
# on some boards.
|
||||
CONFIG_TEXT_SECTION_OFFSET=0x200
|
|
@ -0,0 +1,9 @@
|
|||
sample:
|
||||
name: Application Skeleton
|
||||
description: Basic "hello world" application, but loadable by mcuboot
|
||||
platforms: all
|
||||
tests:
|
||||
- test:
|
||||
build_only: true
|
||||
tags: samples tests
|
||||
min_ram: 16
|
|
@ -0,0 +1 @@
|
|||
obj-y = main.o
|
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* Copyright (c) 2017 Linaro, Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr.h>
|
||||
#include <misc/printk.h>
|
||||
|
||||
void main(void)
|
||||
{
|
||||
printk("Hello World from %s on %s!\n",
|
||||
MCUBOOT_HELLO_WORLD_FROM, CONFIG_BOARD);
|
||||
}
|
Loading…
Reference in New Issue