devicetree_regions: Fix fallback on token
Fix the wrong fallback on token and add a new test to catch this kind of errors early. Signed-off-by: Carlo Caione <ccaione@baylibre.com>
This commit is contained in:
parent
4ff4991e16
commit
cd51657ed1
7 changed files with 173 additions and 16 deletions
|
@ -17,10 +17,8 @@
|
|||
|
||||
static void test_linker_regions(void)
|
||||
{
|
||||
zassert_true(!strcmp(STRINGIFY(LINKER_DT_NODE_REGION_NAME(TEST_SRAM1)),
|
||||
"SRAM_REGION"), "");
|
||||
zassert_true(!strcmp(STRINGIFY(LINKER_DT_NODE_REGION_NAME(TEST_SRAM2)),
|
||||
"SRAM_REGION_2"), "");
|
||||
zassert_true(!strcmp(LINKER_DT_NODE_REGION_NAME(TEST_SRAM1), "SRAM_REGION"), "");
|
||||
zassert_true(!strcmp(LINKER_DT_NODE_REGION_NAME(TEST_SRAM2), "SRAM_REGION_2"), "");
|
||||
}
|
||||
|
||||
void test_main(void)
|
||||
|
|
9
tests/lib/devicetree/memory_region/CMakeLists.txt
Normal file
9
tests/lib/devicetree/memory_region/CMakeLists.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||
project(memory_region)
|
||||
|
||||
FILE(GLOB app_sources src/*.c)
|
||||
target_sources(app PRIVATE ${app_sources})
|
16
tests/lib/devicetree/memory_region/app.overlay
Normal file
16
tests/lib/devicetree/memory_region/app.overlay
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Carlo Caione <ccaione@baylibre.com>
|
||||
*/
|
||||
|
||||
/ {
|
||||
test {
|
||||
#address-cells = < 0x1 >;
|
||||
#size-cells = < 0x1 >;
|
||||
|
||||
test_sram: sram@20010000 {
|
||||
compatible = "zephyr,memory-region", "mmio-sram";
|
||||
reg = < 0x20010000 0x1000 >;
|
||||
zephyr,memory-region = "SRAM_REGION";
|
||||
};
|
||||
};
|
||||
};
|
1
tests/lib/devicetree/memory_region/prj.conf
Normal file
1
tests/lib/devicetree/memory_region/prj.conf
Normal file
|
@ -0,0 +1 @@
|
|||
CONFIG_ZTEST=y
|
44
tests/lib/devicetree/memory_region/src/main.c
Normal file
44
tests/lib/devicetree/memory_region/src/main.c
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* Copyright (c) 2022, Carlo Caione <ccaione@baylibre.com>
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <ztest.h>
|
||||
#include <devicetree.h>
|
||||
#include <device.h>
|
||||
|
||||
#include <linker/devicetree_regions.h>
|
||||
|
||||
#define TEST_SRAM_NODE DT_NODELABEL(test_sram)
|
||||
#define TEST_SRAM_SECT LINKER_DT_NODE_REGION_NAME(TEST_SRAM_NODE)
|
||||
#define TEST_SRAM_ADDR DT_REG_ADDR(TEST_SRAM_NODE)
|
||||
#define TEST_SRAM_SIZE DT_REG_SIZE(TEST_SRAM_NODE)
|
||||
|
||||
uint8_t var_in_test_sram[TEST_SRAM_SIZE] Z_GENERIC_SECTION(TEST_SRAM_SECT);
|
||||
|
||||
extern char __SRAM_REGION_start[];
|
||||
extern char __SRAM_REGION_end[];
|
||||
extern char __SRAM_REGION_size[];
|
||||
extern char __SRAM_REGION_load_start[];
|
||||
|
||||
static void test_memory_region(void)
|
||||
{
|
||||
zassert_true(!strcmp(LINKER_DT_NODE_REGION_NAME(TEST_SRAM_NODE), "SRAM_REGION"), "");
|
||||
|
||||
zassert_equal_ptr(var_in_test_sram, TEST_SRAM_ADDR, "");
|
||||
|
||||
zassert_equal_ptr(__SRAM_REGION_start, TEST_SRAM_ADDR, "");
|
||||
zassert_equal_ptr(__SRAM_REGION_end, TEST_SRAM_ADDR + TEST_SRAM_SIZE, "");
|
||||
zassert_equal_ptr(__SRAM_REGION_load_start, TEST_SRAM_ADDR, "");
|
||||
|
||||
zassert_equal((unsigned long) __SRAM_REGION_size, TEST_SRAM_SIZE, "");
|
||||
}
|
||||
|
||||
void test_main(void)
|
||||
{
|
||||
ztest_test_suite(devicetree_memory_region,
|
||||
ztest_unit_test(test_memory_region)
|
||||
);
|
||||
ztest_run_test_suite(devicetree_memory_region);
|
||||
}
|
11
tests/lib/devicetree/memory_region/testcase.yaml
Normal file
11
tests/lib/devicetree/memory_region/testcase.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
tests:
|
||||
|
||||
libraries.devicetree.memory_region:
|
||||
platform_allow: qemu_cortex_m3
|
||||
tags: devicetree
|
||||
|
||||
libraries.devicetree.memory_region.linker_generator:
|
||||
platform_allow: qemu_cortex_m3
|
||||
tags: devicetree
|
||||
extra_configs:
|
||||
- CONFIG_CMAKE_LINKER_GENERATOR=y
|
Loading…
Add table
Add a link
Reference in a new issue