Commit Graph

125 Commits

Author SHA1 Message Date
Manuel Argüelles
87e40d8b6d samples: enable flash samples for mr_canhubk3 board
Various samples enabled to use the on-board QSPI memory.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2023-07-26 09:44:14 +02:00
Mykola Kvach
dd733493f5 samples: fs: littlefs: make sample workable for mmc disk driver
The LittleFS sample may be used for both SDMMC and MMC disk drivers,
so make it possible to work with different volume disk driver names.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2023-06-23 09:20:10 +02:00
Ryan Erickson
53843c6464 samples: fat_fs: Add support for MG100 board
Add overlay so the sample can be built for the MG100.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2023-06-19 08:51:27 +02:00
Dominik Ermel
e0e7f5888f fs/littlefs/sample: Increase stack size
Increase stack size to prevent sample crashes.

Fixes #57525

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-06-07 13:38:44 -04:00
Anas Nashif
04827ba71f tests/samples: use integration_platforms more where it makes sense
Use integration platforms to limit churn and build time in PR CI .

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-05-26 17:52:02 -04:00
Torsten Rasmussen
1120934874 doc: samples: update OVERLAY_CONFIG to EXTRA_CONF_FILE
Update rst files to use EXTRA_CONF_FILE instead of OVERLAY_CONFIG.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2023-05-23 16:40:21 +02:00
Mykola Kvach
a23b316e29 samples: littlefs: remove flash map configs when we use block device
We don't need anymore enabling of Flash map for building littlefs
sample with block disk device config.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2023-05-19 15:53:29 +02:00
Gerard Marull-Paretas
93b63df762 samples, tests: convert string-based twister lists to YAML lists
Twister now supports using YAML lists for all fields that were written
as space-separated lists. Used twister_to_list.py script. Some artifacts
on string length are due to how ruamel dumps content.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-10 09:52:37 +02:00
Stephan Linz
9f0bc06468 samples: mimxrt1010_evk: exclude various tests
Disable various samples because they require certain digital signals
from the Arduino header, which are not connected when the board is
shipped and therefore not defined via the connector gpio-map.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2023-05-08 09:58:30 +02:00
Keith Packard
4134858868 tests/samples: Replace minimal libc malloc configs with common ones
With the minimal C library malloc implementation moving to libc/common, all
of the related Kconfig variables have also changed. Update uses within the
tree.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-27 20:17:24 +09:00
Łukasz Hejnak (LeHack)
1929eb3af7 drivers: sdhc: add support for using CPOL/CPHA SPI clock modes
Make it possible to use CPOL/CPHA SPI clock modes with the SDHC driver.
Some cards require the clock to switch to low when not active.

Signed-off-by: Łukasz Hejnak (LeHack) <lehack-ghub@lehack.pl>
2023-04-26 20:07:53 +02:00
Keith Packard
0b90fd5adf samples, tests, boards: Switch main return type from void to int
As both C and C++ standards require applications running under an OS to
return 'int', adapt that for Zephyr to align with those standard. This also
eliminates errors when building with clang when not using -ffreestanding,
and reduces the need for compiler flags to silence warnings for both clang
and gcc.

Most of these changes were automated using coccinelle with the following
script:

@@
@@
- void
+ int
main(...) {
	...
-	return;
+	return 0;
	...
}

Approximately 40 files had to be edited by hand as coccinelle was unable to
fix them.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-14 07:49:41 +09:00
Dominik Ermel
5712fcb9fb samples/fs/fat_fs: Enable nrf52840dk_nrf52840 for twister
nrf52840dk_nrf52840 configurations have been added as build_only
configurations.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-04-07 13:26:18 +02:00
Dominik Ermel
bfd65f290d samples/fs/fat_fs: Readme update
The sample now support's setting up FAT FS on devices without
SD card access and this new ability requires update in documentation.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-04-07 13:26:18 +02:00
Dominik Ermel
e89ffb5a6f samples/fs/fat_fs: Allow creating entries for demonstartion
The commits adds Kconfig option CONFIG_SAMPLE_FATFS_CREATE_SOME_ENTRIES
which causes the sample to attempt to create one file and one
directory, in case if listing does not show anything, just
to demnonstrate how FAT FS operations work on internal flash.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-04-07 13:26:18 +02:00
Dominik Ermel
f079225637 samples/fs/fat_fs: Add support for nrf52840dk_nrf52840
The commits adds support for nrf52840dk_nrf52840 with two additional
configurations:
 - with FAT FS on internal SoC flash
 - with FAT FS on QSPI connected MX25

In case of SoC configuration there is re-configuration of internal
partitions done, doe to need for at least of 64kiB for FAT FS.
The QSPI configuration only defines additional partition on
external device.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-04-07 13:26:18 +02:00
Simon Hein
72f2b01e5a samples: Update fs format sample README
Update the README.md to README.rst format and
rephrased parts of the description.

Signed-off-by: Simon Hein <Shein@baumer.com>
2023-04-05 19:32:52 +02:00
Dominik Ermel
bfdaa9ad61 samples: fs: littlefs: Fix typo in overlay selection
Corrected DTS_OVERLAY_FILE to DTC_OVERLAY_FILE.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-03-31 09:19:33 +02:00
Daniel DeGrasse
842c14ceda samples: fs: enable littlefs sample for LPC55S69
LPC55S69 flash requires all writes be in multiples of 512 byte blocks.
Configure littleFS sample for these requirements when building targeting
the LPCXpresso55s69 EVK.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-03-02 10:57:31 +01:00
Dominik Ermel
447e2c1859 samples/fs/littlefs: Separate SPI, QSPI and SoC nrf52840dk configs
Add support to run the sample on nrf52840dk_nrf52840 using
internal SoC flash, and external mx25 device over QSPI or SPI.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2023-02-23 09:03:58 +01:00
Gerson Fernando Budke
204758b5d9 samples: fs: littlefs: Add stm32l562_dk and b_u585i_iot02a
Add configs and overlays to run boards stm32l562_dk and b_u585i_iot02a.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2023-01-10 09:23:59 +01:00
Fabio Baltieri
792469aae9 yamllint: indentation: fix files in samples/
Fix the YAML files indentation for files in samples/.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 14:23:53 +01:00
Franciszek Zdobylak
9b4aa2d553 samples: fs: Add sample using fs_mkfs function
Provide a demo which uses newly added fs_mkfs function.

Signed-off-by: Franciszek Zdobylak <fzdobylak@internships.antmicro.com>
2022-12-05 15:36:00 +01:00
Anas Nashif
ba7d730e9b tests/samples: use integration_plaforms in more tests/samples
integration_platforms help us control what get built/executed in CI and
for each PR submitted. They do not filter out platforms, instead they
just minimize the amount of builds/testing for a particular
tests/sample.
Tests still run on all supported platforms when not in integration mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-29 16:03:23 +01:00
Francois Ramu
15cc076126 samples: subsys: littlefs on nucleo_h743zi
This commit fixes the overlay file for running the
samples/subsys/fs/littlefs on the nucleo_h743zi platform.
The storage_partition is moved to the qspi_nor flash
instead of the internal flash.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-05 19:57:40 +01:00
Daniel DeGrasse
2169183ae1 samples: fat_fs: update overlays for nrf52840 and esp_wrover_kit
Update nrf52840 and esp_wrover overlays to use new sdmmc bindings.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-10-14 09:56:10 +02:00
Marek Materzok
33b851f71e boards: frdm_k64f: add SD/MMC support
The FRDM-K64F board has a SD/MMC slot. This patch modifies the DTS
files so that this feature works out of the box. This includes
configuring the SPI peripheral connected to the slot on the board.
This change follows the SD/MMC support for other boards, e.g.
Olimexino-STM32. It was tested on a FRDM-K64F board with the
fat_fs sample.

Signed-off-by: Marek Materzok <tilk@tilk.eu>
2022-09-07 16:37:36 -05:00
Dominik Ermel
60e0c698f6 tests/settings: Switch from FLASH_AREA_ to FIXED_PARTITION_ macros
The commit switches flash area access from FLASH_AREA_ macros
to FIXED_PARTITION_ macros and to usage of DTS node labels,
to identify partitions, instead of label property.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-09-06 09:56:37 +02:00
Dominik Ermel
cf62fa28f8 fs: littlefs: sample: Switch to FIXED_PARTITION_ macros
The commit switches flash area access from FLASH_AREA_ macros
to FIXED_PARTITION_ macros and to usage of DTS node labels,
to identify partitions, instead of label property.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-09-06 09:56:37 +02:00
Gerard Marull-Paretas
79e6b0e0f6 includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h>
As of today <zephyr/zephyr.h> is 100% equivalent to <zephyr/kernel.h>.
This patch proposes to then include <zephyr/kernel.h> instead of
<zephyr/zephyr.h> since it is more clear that you are including the
Kernel APIs and (probably) nothing else. <zephyr/zephyr.h> sounds like a
catch-all header that may be confusing. Most applications need to
include a bunch of other things to compile, e.g. driver headers or
subsystem headers like BT, logging, etc.

The idea of a catch-all header in Zephyr is probably not feasible
anyway. Reason is that Zephyr is not a library, like it could be for
example `libpython`. Zephyr provides many utilities nowadays: a kernel,
drivers, subsystems, etc and things will likely grow. A catch-all header
would be massive, difficult to keep up-to-date. It is also likely that
an application will only build a small subset. Note that subsystem-level
headers may use a catch-all approach to make things easier, though.

NOTE: This patch is **NOT** removing the header, just removing its usage
in-tree. I'd advocate for its deprecation (add a #warning on it), but I
understand many people will have concerns.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-09-05 16:31:47 +02:00
Kumar Gala
28143b1cdc samples: subsys: Remove label property from devicetree overlays
"label" properties are not required.  Remove them from samples.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-19 10:30:20 +02:00
TOKITA Hiroshi
3b4e6c76f6 samples: fat_fs: Add arduino_mkrzero to supported board list
Update README.rst for adding arduino_mkrzero to
supported board list in README.rst.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2022-07-04 16:00:56 +02:00
Jordan Yates
75680f7ae0 treewide: update flash_area name retrieval
Update usage of `flash_area->fa_dev_name` to `flash_area->fa_dev->name`.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2022-07-02 16:04:16 +02:00
Glauber Maroto Ferreira
dfad263fc2 boards: xtensa: esp_wrover_kit: dts: use pin grouping
- update device tree pin states definitions and node
descriptions to group pins sharing common properties.
- update fat_fs sample code overlay.
- remove unused ledc pin states

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Steffen Jahnke
612b9247e4 boards: Exclude boards from shield samples
Some of the Panasonic's evaluation boards have limited amount of pins.
So not all arduino pins can be occupied and not all shields are
compatible.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2022-06-28 15:51:55 +02:00
Krzysztof Chruscinski
041f0e5379 all: logging: Remove log_strdup function
Logging v1 has been removed and log_strdup wrapper function is no
longer needed. Removing the function and its use in the tree.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-06-23 13:42:23 +02:00
Lukasz Majewski
c5faa3df14 arm: Enable NOCACHE_MEMORY on nucleo_h743zi when littlefs sample is run
It has been validated that the nucleo_h743zi board works correctly,
with '__nocache' buffers and data caches enabled, so this patch enables
support for the former.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-05-24 08:47:20 -07:00
Christoph Heller
12532ee13d samples: littlefs: Add support for nucleo_h7a3zi_q board
Add specific configuration and DTS overlay files for NUCLEO-H7A3ZI-Q
board to the littlefs example project. The second half of the SOC flash
is used as flash partition for littlefs.

Signed-off-by: Christoph Heller <chris@metanetics.de>
2022-05-18 10:54:36 +02:00
TLIG Dhaou
4de1d01956 boards: stm32: use size helpers to describe size of storage partition
The goal of this commit is to update existing STM32 boards descriptions
to use these size "DT_SIZE" macros to enhance readability. To realize this
i used a python script, which will detect the STM32 Boards
/zephyr/board/arm, and then will update in the dts files the partition
description using "DT_SIZE_K" and "DT_SIZE_M" macros.
Check manually and modify in .overlay files in samples and tests.

Signed-off-by: TLIG Dhaou <dhaou.tlig-ext@st.com>
2022-05-10 09:22:43 -05:00
Gerard Marull-Paretas
c7b5b3c419 samples: migrate includes to contain <zephyr/...> prefix
In order to bring consistency in-tree, migrate all samples to the use
the new prefix <zephyr/...>. Note that the conversion has been scripted:

```python
from pathlib import Path
import re

EXTENSIONS = ("c", "h", "cpp", "rst")

for p in Path(".").glob("samples/**/*"):
    if not p.is_file() or p.suffix and p.suffix[1:] not in EXTENSIONS:
        continue

    content = ""
    with open(p) as f:
        for line in f:
            m = re.match(r"^(.*)#include <(.*)>(.*)$", line)
            if (m and
                not m.group(2).startswith("zephyr/") and
                (Path(".") / "include" / "zephyr" / m.group(2)).exists()):
                content += (
                    m.group(1) +
                    "#include <zephyr/" + m.group(2) +">" +
                    m.group(3) + "\n"
                )
            else:
                content += line

    with open(p, "w") as f:
        f.write(content)
```

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-06 11:29:59 +02:00
Glauber Maroto Ferreira
a58193a333 esp32: samples: overlays: use pin states
Updates samples' overlays to use pin states.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Anas Nashif
2d97bdd85d samples: add module requirement into samples
Do not build those samples if the needed modules are not available in
the workspace.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-04-19 09:38:55 -04:00
Lukasz Majewski
d7cd42699b fs: littlefs: sample: Generate fname[12] strings after mount
The littlefs_mount() function sets the mount point for block devices,
so fname[12] shall be generated after calling it.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00
Lukasz Majewski
2c8a7e7757 fs: littlefs: Extend sample program to test block devices
Up till now, the littlefs sample program was only supporting the flash
medium. However, it would be also welcome to be able to test reading and
writing data from littlefs stored on block devices - like SD card.

In this case we do use the block API, to read and write data to it.
To achieve this goal - the CONFIG_APP_LITTLEFS_STORAGE_BLK_SDMMC define
has been introduced.

One can change the disk mount point by defining board specific
CONFIG_SDMMC_VOLUME_NAME.

The test for nucleo board equipped with SD card shall be built with:
west build -p always -b nucleo_h743zi ./zephyr/samples/subsys/fs/littlefs \
 -DCONF_FILE=prj_blk.conf

Moreover, the README.rst has been extended to describe running this
test on block devices.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00
Lukasz Majewski
7710f5ef61 fs: littlefs: sample: Move littlefs_flash_erase() to flash mount
The littlefs_flash_erase() function shall be called from flash specific
littlefs_mount function. This allows removal of the stub function
when block device support is added.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00
Lukasz Majewski
447ebe34d9 fs: littlefs: Introduce CONFIG_APP_LITTLEFS_STORAGE_FLASH define
This KConfig define (by default defined) is necessary to extend the
littlefs test functionality to support other test scenarios - for
example running it on device with block device (i.e. SD card) backend.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00
Lukasz Majewski
663a4bbcb8 fs: littlefs: sample: Add test with binary pattern file modification
This commit extends the littlefs test to use binary pattern file.

This file has the 0x55 and 0xAA patterns (to avoid fast wear leveling)
written alternately with special "marks" bytes on each eight position.
Those values are incremented each time the board boots. One can adjust
the size of this file with the TEST_FILE_SIZE define.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00
Lukasz Majewski
dd25b6405c fs: littlefs: sample: Move flash initialization code to its own function
The code for potential erasing the flash area has been moved to the
separate function.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00
Lukasz Majewski
982a739bb1 fs: littlefs: sample: Move value increment test to separate function
The code responsible for incrementing the in-file value has been moved
to the separate function for better readability and reusage.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00
Lukasz Majewski
f6204e607c fs: littlefs: sample: Move listing directory code to its own function
The code for presenting content of the directory, has been moved to the
separate function to be easily reusable.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2022-03-15 10:01:54 +01:00