Date   

help building using the latest zephyr version (nRF52840, pca10056)

Abderrezak Mekkaoui <ab.mekka@...>
 

Hi All,

My app does not build under the new version (1.12.99). I have been successfully building this app using versions <= 1.12.rc2
The issues were very likely described and debated by the group, but I would appreciate a quick
pointer (links to documents or posts) to what needs to be adjusted. I use BLE, NVS, I2C, UART  among other things.
Error messages are pasted below.
Thank you

Abderrezak

===========================================================================================

[0/1] Re-running CMake...
../zephyr/scripts/check_host_is_ok.py:5: DeprecationWarning: 'U' mode is deprecated
  f = open('{}/Kconfig'.format(os.environ["ZEPHYR_BASE"]), 'U')
-- Selected BOARD nrf52840_pca10056
Zephyr version: 1.12.99
warning: HAS_DTS_I2C (defined at dts\Kconfig:28) was assigned the value 'y' but got the value 'n'.
This symbol has no prompt, meaning assignments in configuration files have no effect on it. It can
only be set indirectly, via Kconfig defaults (e.g. in a Kconfig.defconfig file) or through being
'select'ed or 'imply'd (note: try to avoid Kconfig 'select's except for trivial promptless "helper"
symbols without dependencies, as it ignores dependencies and forces symbols on). You can check
symbol information (including dependencies) in the 'menuconfig' interface (see the Application
Development Primer section of the manual), or in the Kconfig reference at
http://docs.zephyrproject.org/reference/kconfig/CONFIG_HAS_DTS_I2C.html (which is updated regularly
from the master branch). See the 'Setting configuration values' section of the Board Porting Guide
as well. It covers Kconfig.defconfig files.
warning: SERIAL_HAS_DRIVER (defined at drivers\serial\Kconfig:18) was assigned the value 'y' but got
the value 'n'.  This symbol has no prompt, meaning assignments in configuration files have no effect
on it. It can only be set indirectly, via Kconfig defaults (e.g. in a Kconfig.defconfig file) or
through being 'select'ed or 'imply'd (note: try to avoid Kconfig 'select's except for trivial
promptless "helper" symbols without dependencies, as it ignores dependencies and forces symbols on).
You can check symbol information (including dependencies) in the 'menuconfig' interface (see the
Application Development Primer section of the manual), or in the Kconfig reference at
http://docs.zephyrproject.org/reference/kconfig/CONFIG_SERIAL_HAS_DRIVER.html (which is updated
regularly from the master branch). See the 'Setting configuration values' section of the Board
Porting Guide as well. It covers Kconfig.defconfig files.
warning: SERIAL_SUPPORT_INTERRUPT (defined at drivers\serial\Kconfig:25) was assigned the value 'y'
but got the value 'n'.  This symbol has no prompt, meaning assignments in configuration files have
no effect on it. It can only be set indirectly, via Kconfig defaults (e.g. in a Kconfig.defconfig
file) or through being 'select'ed or 'imply'd (note: try to avoid Kconfig 'select's except for
trivial promptless "helper" symbols without dependencies, as it ignores dependencies and forces
symbols on). You can check symbol information (including dependencies) in the 'menuconfig' interface
(see the Application Development Primer section of the manual), or in the Kconfig reference at
http://docs.zephyrproject.org/reference/kconfig/CONFIG_SERIAL_SUPPORT_INTERRUPT.html (which is
updated regularly from the master branch). See the 'Setting configuration values' section of the
Board Porting Guide as well. It covers Kconfig.defconfig files.
warning: BT_CTLR_EXT_SCAN_FP (defined at subsys\bluetooth\controller\Kconfig:237) was assigned the
value 'y' but got the value 'n'. You can check symbol information (including dependencies) in the
'menuconfig' interface (see the Application Development Primer section of tParsing Kconfig tree in ../apps/ble_esp/ble_esp_src/Kconfig
Using ../apps/ble_esp/ble_esp_build/zephyr/.config as base
he manual), or in the
Kconfig reference at http://docs.zephyrproject.org/reference/kconfig/CONFIG_BT_CTLR_EXT_SCAN_FP.html
(which is updated regularly from the master branch). See the 'Setting configuration values' section
of the Board Porting Guide as well.
../apps/ble_esp/ble_esp_build/zephyr/.config:149: warning: attempt to assign the value "n" to the undefined symbol WAITQ_FAST
../apps/ble_esp/ble_esp_build/zephyr/.config:268: warning: attempt to assign the value "y" to the undefined symbol UART_NRF5
../apps/ble_esp/ble_esp_build/zephyr/.config:269: warning: attempt to assign the value "16000000" to the undefined symbol UART_NRF5_CLK_FREQ
../apps/ble_esp/ble_esp_build/zephyr/.config:270: warning: attempt to assign the value "n" to the undefined symbol UART_NRF5_FLOW_CONTROL
../apps/ble_esp/ble_esp_build/zephyr/.config:271: warning: attempt to assign the value "6" to the undefined symbol UART_NRF5_GPIO_TX_PIN
../apps/ble_esp/ble_esp_build/zephyr/.config:272: warning: attempt to assign the value "8" to the undefined symbol UART_NRF5_GPIO_RX_PIN
../apps/ble_esp/ble_esp_build/zephyr/.config:273: warning: attempt to assign the value "5" to the undefined symbol UART_NRF5_GPIO_RTS_PIN
../apps/ble_esp/ble_esp_build/zephyr/.config:274: warning: attempt to assign the value "7" to the undefined symbol UART_NRF5_GPIO_CTS_PIN
../apps/ble_esp/ble_esp_build/zephyr/.config:306: warning: attempt to assign the value "y" to the undefined symbol GPIO_NRF5
../apps/ble_esp/ble_esp_build/zephyr/.config:307: warning: attempt to assign the value "40" to the undefined symbol GPIO_NRF5_INIT_PRIORITY
../apps/ble_esp/ble_esp_build/zephyr/.config:308: warning: attempt to assign the value "y" to the undefined symbol GPIO_NRF5_P0
../apps/ble_esp/ble_esp_build/zephyr/.config:309: warning: attempt to assign the value ""GPIO_0"" to the undefined symbol GPIO_NRF5_P0_DEV_NAME
../apps/ble_esp/ble_esp_build/zephyr/.config:310: warning: attempt to assign the value "n" to the undefined symbol GPIO_NRF5_P1
../apps/ble_esp/ble_esp_build/zephyr/.config:311: warning: attempt to assign the value "5" to the undefined symbol GPIOTE_NRF5_PRI
../apps/ble_esp/ble_esp_build/zephyr/.config:329: warning: attempt to assign the value "y" to the undefined symbol I2C_NRF5
../apps/ble_esp/ble_esp_build/zephyr/.config:330: warning: attempt to assign the value "38" to the undefined symbol I2C_NRF5_0_GPIO_SDA_PIN
../apps/ble_esp/ble_esp_build/zephyr/.config:331: warning: attempt to assign the value "36" to the undefined symbol I2C_NRF5_0_GPIO_SCL_PIN
../apps/ble_esp/ble_esp_build/zephyr/.config:612: warning: attempt to assign the value "n" to the undefined symbol CONSOLE_PULL
../apps/ble_esp/ble_esp_build/zephyr/.config:675: warning: attempt to assign the value """" to the undefined symbol NET_APP_IEEE802154_DEV_NAME
Error: Aborting due to non-whitelisted Kconfig warning '../apps/ble_esp/ble_esp_build/zephyr/.config:149: warning: attempt to assign the value "n" to the undef
ined symbol WAITQ_FAST'.
Note: If this warning doesn't point to an actual problem, you can add it to the whitelist at the top of ../zephyr/scripts/kconfig/kconfig.py.
CMake Error at ../zephyr/cmake/kconfig.cmake:149 (message):
  command failed with return code: 1
Call Stack (most recent call first):
  ../zephyr/cmake/app/boilerplate.cmake:251 (include)
  CMakeLists.txt:3 (include)


-- Configuring incomplete, errors occurred!
See also "../apps/ble_esp/ble_esp_build/CMakeFiles/CMakeOutput.log".
See also "../apps/ble_esp/ble_esp_build/CMakeFiles/CMakeError.log".
FAILED: build.ninja
"C:\Program Files\CMake\bin\cmake.exe" -H..\apps\ble_esp\ble_esp_src -B..\apps\ble_esp\ble_esp
_build
ninja: error: rebuilding 'build.ninja': subcommand failed


Re: Flash configuration in dts file

David Leach
 

I’m not deeply familiar with FLASH configurations but it looks like CONFIG_FLASH_LOAD_SIZE is only really used in the cortex_m/scripts/linker.ld where it sets the ROM_SIZE to CONFIG_LOAD_SIZE if the LOAD_SIZE is >0 otherwise it sets ROM_SIZE to CONFIG_FLASH_SIZE*1K – CONFIG_FLASH_LOAD_OFFSET. So it seems like what is important is that CONFIG_FLASH_SIZE gets the right value.

 

I’ll note that the generated value on the KW41 builds has this set to 0 before I did the change below (and still has it set to zero now) so I suspect a zero value is generally okay as long as the ROM_SIZE has the right value.

 

David

 

From: Laurence Pasteau <laurence.pasteau@...>
Sent: Monday, August 20, 2018 10:33 AM
To: David Leach <david.leach@...>; zephyr-devel@...
Subject: RE: [Zephyr-devel] Flash configuration in dts file

 

Thank you for your answer.

 

However when I did like you (see below first case) the configuration is not good.

Indeed the application starts correctly but CONFIG_FLASH_LOAD_SIZE is set to 0 :

 

First case

 

Same flash_map_default.c as you)

dts file :

 

&flash0 {
    /*
     * For more information, see:
     * http://docs.zephyrproject.org/devices/dts/flash_partitions.html
     */
    partitions {
        compatible = "fixed-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

#if defined(CONFIG_BOOTLOADER_MCUBOOT)

/* .... */
 #else
        slot0_partition: partition@4 {
            label = "code-partition";
            reg = <0x00000004 0x40000>;
        };
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
        storage_partition: partition@40004 {
            label = "storage";
            reg = <0x00040004 0x0003FFFC>;
        };
#endif
#endif
    };
};

file build/zephyr/include/generated/generated_dts_board.h :

/* flash@0 */
#define CONFIG_FLASH_BASE_ADDRESS        0x0
#define CONFIG_FLASH_LOAD_OFFSET        0
#define CONFIG_FLASH_LOAD_SIZE            0
#define CONFIG_FLASH_SIZE            512
#define FLASH_LABEL                "NRF_FLASH"
#define FLASH_NRF_FLASH_LABEL            "NRF_FLASH"
#define FLASH_NRF_FLASH_WRITE_BLOCK_SIZE    4
#define FLASH_WRITE_BLOCK_SIZE            4

Second case :

 

I add in dts file :

 

chosen {
#if !defined(CONFIG_BOOTLOADER_MCUBOOT)
        zephyr,code-partition = &slot0_partition;
#endif
    };

 

the application does NOT start but the configuration is good :

 

file build/zephyr/include/generated/generated_dts_board.h :

 

/* flash@0 */
#define CONFIG_FLASH_BASE_ADDRESS        0x0
#define CONFIG_FLASH_LOAD_OFFSET        0x4
#define CONFIG_FLASH_LOAD_SIZE            262144
#define CONFIG_FLASH_SIZE            512
#define FLASH_LABEL                "NRF_FLASH"
#define FLASH_NRF_FLASH_LABEL            "NRF_FLASH"
#define FLASH_NRF_FLASH_WRITE_BLOCK_SIZE    4
#define FLASH_WRITE_BLOCK_SIZE            4

 

My need is to have CONFIG_FLASH_LOAD_SIZE set to the max firmware size in order to know if the size of the firmware is small enough during compilation time :

 

First case :

Memory region         Used Size  Region Size  %age Used
           FLASH:      205416 B       512 KB     39.18%
            SRAM:       46888 B        64 KB     71.55%
        IDT_LIST:         180 B         2 KB      8.79%

 

Second case :

Memory region         Used Size  Region Size  %age Used
           FLASH:      205476 B       256 KB     78.38%
            SRAM:       46888 B        64 KB     71.55%
        IDT_LIST:         180 B         2 KB      8.79%

 

Thanks in advance for any help.

Regards,

Laurence

 


De : David Leach <david.leach@...>
Envoyé : vendredi 17 août 2018 18:04
À : Laurence Pasteau; zephyr-devel@...
Objet : RE: [Zephyr-devel] Flash configuration in dts file

 

In some work that I’m doing I had to do the same thing. I haven’t posted a PR for this work so I’m not sure how the community will react but here is what I did to add the file system partition with a single slot partition:

 

 

In my DTS file I have the following:

 

&flash0 {

                /*

                * For more information, see:

                * http://docs.zephyrproject.org/devices/dts/flash_partitions.html

                */

                partitions {

                                compatible = "fixed-partitions";

                                #address-cells = <1>;

                                #size-cells = <1>;

                               

#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)

                                slot0_partition: partition@c000 {

                                                label = "image-0";

                                                reg = <0x00000000 0x7d000>;

                                };

 

                                storage_partition: partition@7a000 {

                                                label = "storage";

                                                reg = <0x0007d000 0x00003000>;

                                };

#else

                                slot0_partition: partition@c000 {

                                                label = "image-0";

                                                reg = <0x00000000 0x80000>;

                                };

#endif

                };

};

 

Then I needed to change subsys/storage/flash_map/flash_map_default.c to conditionally include partitions based on whether that partition’s SIZE define is defined:

 

 

const struct flash_area default_flash_map[] = {

#ifdef FLASH_AREA_MCUBOOT_SIZE

                /* FLASH_AREA_BOOTLOADER */

                {

                                .fa_id = 0,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_MCUBOOT_OFFSET,

                                .fa_size = FLASH_AREA_MCUBOOT_SIZE,

                },

#endif

                /* FLASH_AREA_IMAGE_0 */

                {

                                .fa_id = 1,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_0_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_0_SIZE,

                },

#ifdef FLASH_AREA_IMAGE_1_SIZE

                /* FLASH_AREA_IMAGE_1 */

                {

                                .fa_id = 2,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_1_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_1_SIZE,

                },

#endif

#ifdef FLASH_AREA_IMAGE_SCRATCH_SIZE

                /* FLASH_AREA_IMAGE_SCRATCH */

                {

                                .fa_id = 3,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_SCRATCH_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_SCRATCH_SIZE,

                },

#endif

#ifdef CONFIG_FS_FLASH_STORAGE_PARTITION

                /* FLASH_AREA_STORAGE */

                {

                                .fa_id = 4,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_STORAGE_OFFSET,

                                .fa_size = FLASH_AREA_STORAGE_SIZE,

                },

#endif

};

 

 

From: devel@... <devel@...> On Behalf Of Laurence Pasteau
Sent: Friday, August 17, 2018 10:35 AM
To: zephyr-devel@...
Subject: Re: [Zephyr-devel] Flash configuration in dts file

 

The solution below is not available since I need to start the fimrware at 0x0 without bootloader.

 

So I would really appreciate if someone could help me.

I compile with a nrf52_pca10040 board.

 

Regards,

Laurence

 


De : devel@... <devel@...> de la part de Laurence Pasteau <laurence.pasteau@...>
Envoyé : vendredi 17 août 2018 16:51
À : zephyr-devel@...
Objet : [Zephyr-devel] Flash configuration in dts file

 

Hi everybody,

 

I have a question regarding dts file, and more specifically the flash partition.

I would like to have a project without bootloader, but with a partition for the code and another for the file system.

 

At compilation time I would like to be warned if the code partition is overlapping the flash partition.

 

First I tried to set CONFIG_FLASH_LOAD_SIZE. As I have no bootloader, I still need CONFIG_FLASH_LOAD_OFFSET to 0.

Unfortunately as CONFIG_HAS_DTS is set in this project, these values are not taken into account.

 

However in the script that generates the generated_dts_board files from dts, it seems that :

if CONFIG_FLASH_LOAD_OFFSET is set to 0

then

CONFIG_FLASH_LOAD_SIZE is set to 0.

 

The only successfull but not pretty solution I found was this one :

 

        boot_partition: partition@0 {
            label = "noboot";
            reg = <0x00000000 0x4>;
        };
        code_partition: partition@4 {
            label = "code-partition";
            reg = <0x00000004 0x40000>;
        };
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
        storage_partition: partition@40004 {
            label = "storage";
            reg = <0x00040004 0x0003FFFC>;
        };
#endif

 

Is there a better way to solve this issue ?

 

Thanks in advance,

Regards,

Laurence

 


Re: Flash configuration in dts file

Laurence Pasteau
 

Thank you for your answer.


However when I did like you (see below first case) the configuration is not good.

Indeed the application starts correctly but CONFIG_FLASH_LOAD_SIZE is set to 0 :


First case


Same flash_map_default.c as you)

dts file :


&flash0 {
    /*
     * For more information, see:
     * http://docs.zephyrproject.org/devices/dts/flash_partitions.html
     */
    partitions {
        compatible = "fixed-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

#if defined(CONFIG_BOOTLOADER_MCUBOOT)
/* .... */
 #else
        slot0_partition: partition@4 {
            label = "code-partition";
            reg = <0x00000004 0x40000>;
        };
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
        storage_partition: partition@40004 {
            label = "storage";
            reg = <0x00040004 0x0003FFFC>;
        };
#endif
#endif
    };
};


file build/zephyr/include/generated/generated_dts_board.h :

/* flash@0 */
#define CONFIG_FLASH_BASE_ADDRESS        0x0
#define CONFIG_FLASH_LOAD_OFFSET        0
#define CONFIG_FLASH_LOAD_SIZE            0
#define CONFIG_FLASH_SIZE            512
#define FLASH_LABEL                "NRF_FLASH"
#define FLASH_NRF_FLASH_LABEL            "NRF_FLASH"
#define FLASH_NRF_FLASH_WRITE_BLOCK_SIZE    4
#define FLASH_WRITE_BLOCK_SIZE            4


Second case :


I add in dts file :

 
chosen {
#if !defined(CONFIG_BOOTLOADER_MCUBOOT)
        zephyr,code-partition = &slot0_partition;
#endif
    };

the application does NOT start but the configuration is good :


file build/zephyr/include/generated/generated_dts_board.h :

/* flash@0 */
#define CONFIG_FLASH_BASE_ADDRESS        0x0
#define CONFIG_FLASH_LOAD_OFFSET        0x4
#define CONFIG_FLASH_LOAD_SIZE            262144
#define CONFIG_FLASH_SIZE            512
#define FLASH_LABEL                "NRF_FLASH"
#define FLASH_NRF_FLASH_LABEL            "NRF_FLASH"
#define FLASH_NRF_FLASH_WRITE_BLOCK_SIZE    4
#define FLASH_WRITE_BLOCK_SIZE            4


My need is to have CONFIG_FLASH_LOAD_SIZE set to the max firmware size in order to know if the size of the firmware is small enough during compilation time :

First case :
Memory region         Used Size  Region Size  %age Used
           FLASH:      205416 B       512 KB     39.18%
            SRAM:       46888 B        64 KB     71.55%
        IDT_LIST:         180 B         2 KB      8.79%


Second case :
Memory region         Used Size  Region Size  %age Used
           FLASH:      205476 B       256 KB     78.38%
            SRAM:       46888 B        64 KB     71.55%
        IDT_LIST:         180 B         2 KB      8.79%

Thanks in advance for any help.
Regards,
Laurence


De : David Leach <david.leach@...>
Envoyé : vendredi 17 août 2018 18:04
À : Laurence Pasteau; zephyr-devel@...
Objet : RE: [Zephyr-devel] Flash configuration in dts file
 

In some work that I’m doing I had to do the same thing. I haven’t posted a PR for this work so I’m not sure how the community will react but here is what I did to add the file system partition with a single slot partition:

 

 

In my DTS file I have the following:

 

&flash0 {

                /*

                * For more information, see:

                * http://docs.zephyrproject.org/devices/dts/flash_partitions.html

                */

                partitions {

                                compatible = "fixed-partitions";

                                #address-cells = <1>;

                                #size-cells = <1>;

                               

#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)

                                slot0_partition: partition@c000 {

                                                label = "image-0";

                                                reg = <0x00000000 0x7d000>;

                                };

 

                                storage_partition: partition@7a000 {

                                                label = "storage";

                                                reg = <0x0007d000 0x00003000>;

                                };

#else

                                slot0_partition: partition@c000 {

                                                label = "image-0";

                                                reg = <0x00000000 0x80000>;

                                };

#endif

                };

};

 

Then I needed to change subsys/storage/flash_map/flash_map_default.c to conditionally include partitions based on whether that partition’s SIZE define is defined:

 

 

const struct flash_area default_flash_map[] = {

#ifdef FLASH_AREA_MCUBOOT_SIZE

                /* FLASH_AREA_BOOTLOADER */

                {

                                .fa_id = 0,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_MCUBOOT_OFFSET,

                                .fa_size = FLASH_AREA_MCUBOOT_SIZE,

                },

#endif

                /* FLASH_AREA_IMAGE_0 */

                {

                                .fa_id = 1,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_0_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_0_SIZE,

                },

#ifdef FLASH_AREA_IMAGE_1_SIZE

                /* FLASH_AREA_IMAGE_1 */

                {

                                .fa_id = 2,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_1_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_1_SIZE,

                },

#endif

#ifdef FLASH_AREA_IMAGE_SCRATCH_SIZE

                /* FLASH_AREA_IMAGE_SCRATCH */

                {

                                .fa_id = 3,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_SCRATCH_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_SCRATCH_SIZE,

                },

#endif

#ifdef CONFIG_FS_FLASH_STORAGE_PARTITION

                /* FLASH_AREA_STORAGE */

                {

                                .fa_id = 4,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_STORAGE_OFFSET,

                                .fa_size = FLASH_AREA_STORAGE_SIZE,

                },

#endif

};

 

 

From: devel@... <devel@...> On Behalf Of Laurence Pasteau
Sent: Friday, August 17, 2018 10:35 AM
To: zephyr-devel@...
Subject: Re: [Zephyr-devel] Flash configuration in dts file

 

The solution below is not available since I need to start the fimrware at 0x0 without bootloader.

 

So I would really appreciate if someone could help me.

I compile with a nrf52_pca10040 board.

 

Regards,

Laurence

 


De : devel@... <devel@...> de la part de Laurence Pasteau <laurence.pasteau@...>
Envoyé : vendredi 17 août 2018 16:51
À : zephyr-devel@...
Objet : [Zephyr-devel] Flash configuration in dts file

 

Hi everybody,

 

I have a question regarding dts file, and more specifically the flash partition.

I would like to have a project without bootloader, but with a partition for the code and another for the file system.

 

At compilation time I would like to be warned if the code partition is overlapping the flash partition.

 

First I tried to set CONFIG_FLASH_LOAD_SIZE. As I have no bootloader, I still need CONFIG_FLASH_LOAD_OFFSET to 0.

Unfortunately as CONFIG_HAS_DTS is set in this project, these values are not taken into account.

 

However in the script that generates the generated_dts_board files from dts, it seems that :

if CONFIG_FLASH_LOAD_OFFSET is set to 0

then

CONFIG_FLASH_LOAD_SIZE is set to 0.

 

The only successfull but not pretty solution I found was this one :

 

        boot_partition: partition@0 {
            label = "noboot";
            reg = <0x00000000 0x4>;
        };
        code_partition: partition@4 {
            label = "code-partition";
            reg = <0x00000004 0x40000>;
        };
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
        storage_partition: partition@40004 {
            label = "storage";
            reg = <0x00040004 0x0003FFFC>;
        };
#endif

 

Is there a better way to solve this issue ?

 

Thanks in advance,

Regards,

Laurence

 


Re: Cpp support on Zephyr #gettingstartedguide

Andrei
 

Hi,

On Fri, Aug 17, 2018 at 02:17:59AM -0700, miem@oticon.com wrote:
Hi,

Does anyone tried to compile a project written in C++ or knows how
powerful is Zephyr in supporting C++ applications? 
You can check project: tests/application_development/cpp

AFAIK it is possible to build openthread written in C++ for Zephyr if
you want more complex example.

Best regards
Andrei Emeltchenko


C++ compile error

miem@...
 

Hi,

I am getting the following error while I want to compile my c++ project.

The CMAKE_CXX_COMPILER:
 
    c:/gccarmemb/bin/arm-none-eabi-g++
 
  is not a full path to an existing compiler tool.
 
  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

Does anyone knows how to solve it?

Regards,
Mina


Re: Zephyr IPv6 default router / prefix networking options

Jukka Rissanen
 

Hi Michael,

On Fri, 2018-08-17 at 12:15 -0700, Michael Scott wrote:
Hello Devs,

I'd like to discuss some different approaches to a simple setup for
BLE
and iwpan 802.15.4 nodes connected to a gateway via 6lowpan (in a
star
pattern). No mesh involved.

On the gateway side, I'm running a NAT64 container which picks up
traffic destined for the 64:ff9b::/96 network and translates it to
IPv4
before sending it out. On the return path it gets re-translated
back
from IPv4 to the 64:ff9b::/96 IP and sent back to the original node
that
sent the data. Paired with that I'm also running a DNS64 container
on
the gateway which accepts DNS queries from the connected nodes (BLE
and
802.15.4 6lowpan) and if an IPv4 address would normally be returned
it
translates it to the 64:ff9b::/96 prefix (DNS64).

Using this setup, each node *should* have basic access to the
internet
even on home networks where there is no IPv6 available.

On each Zephyr node, we currently only have a link-local address
configured.

Enter the complications:

If I ask Zephyr to send a packet to a 64:ff9b::/96-based address
(via
the gateway IP) it gets denied because link-local addresses are not
"proper" according to RFCs and the function here:
https://github.com/zephyrproject-rtos/zephyr/blob/master/subsys/net/i
p/net_if.c#L1689

Here are some of my proposed changes to solve this:

1. First solution was to setup RADVD on the gateway to present a
"proper" IPv6 network to the connected nodes. Here we encounter
initial
connection failures due to the RA packets not being received prior
to
the application choosing to communicate via the network. Looks like
@jukkar's L4 notifications would come in handy here if we can craft
the
right requirements for the "UP" and "DOWN" notifications. Also, I
think
that RADVD is overkill in this scenario. We are talking about a
hand
full of nodes on 1 subnet w/ 1 statically configured router IP. It
will
never change and if the gateway goes down, the nodes would never be
connected in the first place.
This would be most standard configuration but as you said, if the
network is very tiny it is kind of overkill to use radvd. But if you
are moving the device around, then this is definitely the best option
as then the prefix is set properly in different subnets automatically.



2. Second solution was to add a Kconfig option to
subsys/net/ip/net_if.c
which would change the behavior of is_proper_ipv6_address(). In
effect
saying "go ahead and use the link-local address" we know what we're
doing. I'm not sure how the networking maintainers feel about that
as
it does contradict RFC. Seems like a one-off fix.
This is a bit too hackish imho.



3. A third solution was to add Kconfig options to
subsys/net/lib/config
for NET_APP_MY_IPV6_ROUTER, NET_APP_MY_IPV6_PREFIX and
NET_APP_MY_IPV6_PREFIX_LEN. These would effectively configure the
nodes
at boot-time as if the related RA packets had been received (no
lifetime
expiration). These changes might allow us to modify all of our IPv6
samples so that multiple nodes can be running at the same time.
We have a lot of static configuration already so probably it would not
harm too much to add these too. IPv6 is suppose to be auto configured
so setting these at compile time would contradict this idea. Currently
the static IPv6 address configuration in Zephyr is meant for testing
purposes and setting also prefix and router statically would help
testing effort in this front. IMHO it does not make much sense to use
statically set IPv6 addresses in real networks.

In real life scenarios and devices, I would definitely prefer the
option 1. as then everything would work just fine in every network
setup and there would be no need re-compile if you want to use
different IPv6 configuration and subnet. This is how IPv6 is suppose to
work anyway.


So a summary of these imho would be:
* Option 1. is the best bet for real life devices
* Option 2. is no-go
* Option 3. we could add the static prefix and router info. This should
only be used for testing purposes with a big disclaimer about loosing
dynamic configuration of the device if done this way.



Question to @jukkar or other network maintainers: What's the
preferred
setup? I know there is movement on this front but I'm not sure of
the
specifics.

- Mike

Cheers,
Jukka


Re: Enable SPI driver on nrf52840

Chettimada, Vinayak Kariappa
 

Hi,

 

The drivers are not experimental, you can use both I2C and SPI. Have you tried different instances of the peripherals?

i.e. I2C_0 and SPI_1 ?

 

If you are facing an issue, do provide details of your configuration, we will be glad to address defects, if any.

 

Regards,

Vinayak

 

From: devel@... [mailto:devel@...] On Behalf Of cpmcparland@...
Sent: Sunday, August 19, 2018 2:14 AM
To: devel@...
Subject: [Zephyr-devel] Enable SPI driver on nrf52840

 

Has anyone successfully enabled spi driver on the nordic nrf52840_pca10056?  I2c seems
to work great, but I need both for an upcoming project.  I see the drivers are
in place, but its not enabled in the board dts file.  I'm guessing its still a bit experimental; but
would like to give it a try.  Any hints would be helpful.

Cheers,
RTISYS


Breaking changes to network config settings

Paul Sokolovsky
 

Hello,

For the 1.13 release, networking configuration library ("net_conf") was
split from net_app library, because it always was independent from the
rest of net_app, and is useful even for apps which don't use net_app
(e.g. for apps using native low-level API, or BSD Sockets API). To
finish this refactor cleanly, one last step was to move related
Kconfig options from CONFIG_NET_APP_* namespace into separate
CONFIG_NET_CONFIG_* namespace.

All in-tree samples and tests were updated, but out of tree
networking applications will need to be updated separately by their
maintainers. Thanks to recent Kconfig improvements and behavior
tightening, there will be a clear-cut error message hinting about a
need to upgrade (instead of warning and incorrectly functioning
application like it could happen before).

For a reference on which Kconfig options need updates please see
commit
https://github.com/zephyrproject-rtos/zephyr/commit/028aae1ec9d5234a65ed4d4e99471fee3832ea7b

Alternatively, a shorter example of updating MicroPython Zephyr port:
https://github.com/pfalcon/micropython/commit/f27f79da52eae4e4ca2a89c70c711ef24249b3a5


--
Best Regards,
Paul

Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro
http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog


Enable SPI driver on nrf52840

cpmcparland@...
 

Has anyone successfully enabled spi driver on the nordic nrf52840_pca10056?  I2c seems
to work great, but I need both for an upcoming project.  I see the drivers are
in place, but its not enabled in the board dts file.  I'm guessing its still a bit experimental; but
would like to give it a try.  Any hints would be helpful.

Cheers,
RTISYS


Zephyr IPv6 default router / prefix networking options

Michael Scott
 

Hello Devs,

I'd like to discuss some different approaches to a simple setup for BLE and iwpan 802.15.4 nodes connected to a gateway via 6lowpan (in a star pattern).  No mesh involved.

On the gateway side, I'm running a NAT64 container which picks up traffic destined for the 64:ff9b::/96 network and translates it to IPv4 before sending it out.  On the return path it gets re-translated back from IPv4 to the 64:ff9b::/96 IP and sent back to the original node that sent the data.   Paired with that I'm also running a DNS64 container on the gateway which accepts DNS queries from the connected nodes (BLE and 802.15.4 6lowpan) and if an IPv4 address would normally be returned it translates it to the 64:ff9b::/96 prefix (DNS64).

Using this setup, each node *should* have basic access to the internet even on home networks where there is no IPv6 available.

On each Zephyr node,  we currently only have a link-local address configured.

Enter the complications:

If I ask Zephyr to send a packet to a 64:ff9b::/96-based address (via the gateway IP) it gets denied because link-local addresses are not "proper" according to RFCs and the function here:
https://github.com/zephyrproject-rtos/zephyr/blob/master/subsys/net/ip/net_if.c#L1689

Here are some of my proposed changes to solve this:

1. First solution was to setup RADVD on the gateway to present a "proper" IPv6 network to the connected nodes.  Here we encounter initial connection failures due to the RA packets not being received prior to the application choosing to communicate via the network.  Looks like @jukkar's L4 notifications would come in handy here if we can craft the right requirements for the "UP" and "DOWN" notifications.  Also, I think that RADVD is overkill in this scenario.  We are talking about a hand full of nodes on 1 subnet w/ 1 statically configured router IP.  It will never change and if the gateway goes down, the nodes would never be connected in the first place.

2. Second solution was to add a Kconfig option to subsys/net/ip/net_if.c which would change the behavior of is_proper_ipv6_address().  In effect saying "go ahead and use the link-local address" we know what we're doing.  I'm not sure how the networking maintainers feel about that as it does contradict RFC.  Seems like a one-off fix.

3. A third solution was to add Kconfig options to subsys/net/lib/config for NET_APP_MY_IPV6_ROUTER, NET_APP_MY_IPV6_PREFIX and NET_APP_MY_IPV6_PREFIX_LEN.  These would effectively configure the nodes at boot-time as if the related RA packets had been received (no lifetime expiration). These changes might allow us to modify all of our IPv6 samples so that multiple nodes can be running at the same time.

Question to @jukkar or other network maintainers: What's the preferred setup?  I know there is movement on this front but I'm not sure of the specifics.

- Mike


Re: Flash configuration in dts file

David Leach
 

In some work that I’m doing I had to do the same thing. I haven’t posted a PR for this work so I’m not sure how the community will react but here is what I did to add the file system partition with a single slot partition:

 

 

In my DTS file I have the following:

 

&flash0 {

                /*

                * For more information, see:

                * http://docs.zephyrproject.org/devices/dts/flash_partitions.html

                */

                partitions {

                                compatible = "fixed-partitions";

                                #address-cells = <1>;

                                #size-cells = <1>;

                               

#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)

                                slot0_partition: partition@c000 {

                                                label = "image-0";

                                                reg = <0x00000000 0x7d000>;

                                };

 

                                storage_partition: partition@7a000 {

                                                label = "storage";

                                                reg = <0x0007d000 0x00003000>;

                                };

#else

                                slot0_partition: partition@c000 {

                                                label = "image-0";

                                                reg = <0x00000000 0x80000>;

                                };

#endif

                };

};

 

Then I needed to change subsys/storage/flash_map/flash_map_default.c to conditionally include partitions based on whether that partition’s SIZE define is defined:

 

 

const struct flash_area default_flash_map[] = {

#ifdef FLASH_AREA_MCUBOOT_SIZE

                /* FLASH_AREA_BOOTLOADER */

                {

                                .fa_id = 0,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_MCUBOOT_OFFSET,

                                .fa_size = FLASH_AREA_MCUBOOT_SIZE,

                },

#endif

                /* FLASH_AREA_IMAGE_0 */

                {

                                .fa_id = 1,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_0_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_0_SIZE,

                },

#ifdef FLASH_AREA_IMAGE_1_SIZE

                /* FLASH_AREA_IMAGE_1 */

                {

                                .fa_id = 2,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_1_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_1_SIZE,

                },

#endif

#ifdef FLASH_AREA_IMAGE_SCRATCH_SIZE

                /* FLASH_AREA_IMAGE_SCRATCH */

                {

                                .fa_id = 3,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_IMAGE_SCRATCH_OFFSET,

                                .fa_size = FLASH_AREA_IMAGE_SCRATCH_SIZE,

                },

#endif

#ifdef CONFIG_FS_FLASH_STORAGE_PARTITION

                /* FLASH_AREA_STORAGE */

                {

                                .fa_id = 4,

                                .fa_device_id = SOC_FLASH_0_ID,

                                .fa_off = FLASH_AREA_STORAGE_OFFSET,

                                .fa_size = FLASH_AREA_STORAGE_SIZE,

                },

#endif

};

 

 

From: devel@... <devel@...> On Behalf Of Laurence Pasteau
Sent: Friday, August 17, 2018 10:35 AM
To: zephyr-devel@...
Subject: Re: [Zephyr-devel] Flash configuration in dts file

 

The solution below is not available since I need to start the fimrware at 0x0 without bootloader.

 

So I would really appreciate if someone could help me.

I compile with a nrf52_pca10040 board.

 

Regards,

Laurence

 


De : devel@... <devel@...> de la part de Laurence Pasteau <laurence.pasteau@...>
Envoyé : vendredi 17 août 2018 16:51
À : zephyr-devel@...
Objet : [Zephyr-devel] Flash configuration in dts file

 

Hi everybody,

 

I have a question regarding dts file, and more specifically the flash partition.

I would like to have a project without bootloader, but with a partition for the code and another for the file system.

 

At compilation time I would like to be warned if the code partition is overlapping the flash partition.

 

First I tried to set CONFIG_FLASH_LOAD_SIZE. As I have no bootloader, I still need CONFIG_FLASH_LOAD_OFFSET to 0.

Unfortunately as CONFIG_HAS_DTS is set in this project, these values are not taken into account.

 

However in the script that generates the generated_dts_board files from dts, it seems that :

if CONFIG_FLASH_LOAD_OFFSET is set to 0

then

CONFIG_FLASH_LOAD_SIZE is set to 0.

 

The only successfull but not pretty solution I found was this one :

 

        boot_partition: partition@0 {
            label = "noboot";
            reg = <0x00000000 0x4>;
        };
        code_partition: partition@4 {
            label = "code-partition";
            reg = <0x00000004 0x40000>;
        };
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
        storage_partition: partition@40004 {
            label = "storage";
            reg = <0x00040004 0x0003FFFC>;
        };
#endif

 

Is there a better way to solve this issue ?

 

Thanks in advance,

Regards,

Laurence

 


Re: Flash configuration in dts file

Laurence Pasteau
 

The solution below is not available since I need to start the fimrware at 0x0 without bootloader.


So I would really appreciate if someone could help me.

I compile with a nrf52_pca10040 board.


Regards,

Laurence



De : devel@... <devel@...> de la part de Laurence Pasteau <laurence.pasteau@...>
Envoyé : vendredi 17 août 2018 16:51
À : zephyr-devel@...
Objet : [Zephyr-devel] Flash configuration in dts file
 

Hi everybody,


I have a question regarding dts file, and more specifically the flash partition.

I would like to have a project without bootloader, but with a partition for the code and another for the file system.


At compilation time I would like to be warned if the code partition is overlapping the flash partition.


First I tried to set CONFIG_FLASH_LOAD_SIZE. As I have no bootloader, I still need CONFIG_FLASH_LOAD_OFFSET to 0.

Unfortunately as CONFIG_HAS_DTS is set in this project, these values are not taken into account.


However in the script that generates the generated_dts_board files from dts, it seems that :

if CONFIG_FLASH_LOAD_OFFSET is set to 0

then

CONFIG_FLASH_LOAD_SIZE is set to 0.


The only successfull but not pretty solution I found was this one :


        boot_partition: partition@0 {
            label = "noboot";
            reg = <0x00000000 0x4>;
        };
        code_partition: partition@4 {
            label = "code-partition";
            reg = <0x00000004 0x40000>;
        };
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
        storage_partition: partition@40004 {
            label = "storage";
            reg = <0x00040004 0x0003FFFC>;
        };
#endif

Is there a better way to solve this issue ?

Thanks in advance,
Regards,
Laurence


Flash configuration in dts file

Laurence Pasteau
 

Hi everybody,


I have a question regarding dts file, and more specifically the flash partition.

I would like to have a project without bootloader, but with a partition for the code and another for the file system.


At compilation time I would like to be warned if the code partition is overlapping the flash partition.


First I tried to set CONFIG_FLASH_LOAD_SIZE. As I have no bootloader, I still need CONFIG_FLASH_LOAD_OFFSET to 0.

Unfortunately as CONFIG_HAS_DTS is set in this project, these values are not taken into account.


However in the script that generates the generated_dts_board files from dts, it seems that :

if CONFIG_FLASH_LOAD_OFFSET is set to 0

then

CONFIG_FLASH_LOAD_SIZE is set to 0.


The only successfull but not pretty solution I found was this one :


        boot_partition: partition@0 {
            label = "noboot";
            reg = <0x00000000 0x4>;
        };
        code_partition: partition@4 {
            label = "code-partition";
            reg = <0x00000004 0x40000>;
        };
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
        storage_partition: partition@40004 {
            label = "storage";
            reg = <0x00040004 0x0003FFFC>;
        };
#endif

Is there a better way to solve this issue ?

Thanks in advance,
Regards,
Laurence


Cpp support on Zephyr #gettingstartedguide

miem@...
 

Hi,

Does anyone tried to compile a project written in C++ or knows how powerful is Zephyr in supporting C++ applications? 

Regards,
Mina


Re: about synchronization of remote forked master, local master & local branches

vikrant8051 <vikrant8051@...>
 

Hi Li,

I tried your trick. But it was not fulfill my requirements.

Following is my way ....... It is lengthy but works !!

(PART-A)

// This is to sync forked local master (repo on PC/Laptop) with Zephyr Master

cd /home/user_name/

git clone https://github.com/developer_user_name/zephyr.git

cd zephyr

git remote add upstream https://github.com/zephyrproject-rtos/zephyr.git

git fetch upstream

git pull upstream master

// This is to sync GitHub forked master with Zephyr master

git push -f origin master

---------------------------------------------------------------------------------------------------------------------------------

(PART-B)

// This is to sync local branch with master

1)

cd /home/user_name/Desktop

git clone -b fix_branch https://github.com/developer_user_name/zephyr.git

cd zephyr

git pull --all

git checkout master

git pull

git checkout -

git rebase master

---------------------------------------------------------------------------------------------------------------------------------

OR

2)
(After following PART-A instructions)

cd /home/user_name/zephyr

git pull --all

git checkout fix_branch

git rebase master


I'm looking for even better sequence of instructions than this.

Thank You !!

On Thu, Aug 16, 2018 at 10:09 PM, Li, Jun R <jun.r.li@...> wrote:

Let’s say the PR’s number is $PR, run the follow commands:

 

  1. git pull origin master
  2. git fetch origin +refs/pull/$PR/merge
  3. git checkout FETCH_HEAD -b my_branch_with_fix

 

 

 

From: <devel@...> on behalf of vikrant8051 <vikrant8051@...>
Date: Thursday, August 16, 2018 at 05:43
To: "devel@..." <devel@...>, "users@..." <users@...>
Subject: [Zephyr-devel] about synchronization of remote forked master, local master & local branches

 

Hi,

 

Assume a person create one PR (to solve already present issues) & it take some time to get approval from reviewers.

 

Meanwhile Zephyr master get upgrad as usual.

 

Then how to properly sync

 

1) forked Zephyr master branch on GitHub

2) local master branch

3) local branch (which is actually responsible to fix issues)

 

periodically without disturbing own commits architecture?

 

Thank You !!

 



Re: about synchronization of remote forked master, local master & local branches

Yasushi SHOJI
 

Hi,

# I don't think it's a good idea to multi-post.
# make sure not to do so next time.

On Thu, Aug 16, 2018 at 9:43 PM, vikrant8051 <vikrant8051@gmail.com> wrote:
Then how to properly sync

1) forked Zephyr master branch on GitHub
$ git fetch --all
$ git pull $YOUR_REMOTE origin/master:master

2) local master branch
$ git fetch --all
$ git checkout master
$ git merge origin/master

or, if you haven't fetched.

$ git checkout master
$ git pull

or, if you are sure you don't have anything on your local master,
there are other ways:

https://stackoverflow.com/q/5471174/640650

3) local branch (which is actually responsible to fix issues)
$ git checkout $YOUR_FIX_BRANCH
$ git rebase master

and make sure to test your branch again.

periodically without disturbing own commits architecture?
If you have some modification which is not commited yet. Do

$ git stash

then

$ git checkout $WHATEVER

There is "auto stash" config if you prefer.
--
yashi


Re: about synchronization of remote forked master, local master & local branches

Li, Jun R
 

Let’s say the PR’s number is $PR, run the follow commands:

 

  1. git pull origin master
  2. git fetch origin +refs/pull/$PR/merge
  3. git checkout FETCH_HEAD -b my_branch_with_fix

 

 

 

From: <devel@...> on behalf of vikrant8051 <vikrant8051@...>
Date: Thursday, August 16, 2018 at 05:43
To: "devel@..." <devel@...>, "users@..." <users@...>
Subject: [Zephyr-devel] about synchronization of remote forked master, local master & local branches

 

Hi,

 

Assume a person create one PR (to solve already present issues) & it take some time to get approval from reviewers.

 

Meanwhile Zephyr master get upgrad as usual.

 

Then how to properly sync

 

1) forked Zephyr master branch on GitHub

2) local master branch

3) local branch (which is actually responsible to fix issues)

 

periodically without disturbing own commits architecture?

 

Thank You !!

 


about synchronization of remote forked master, local master & local branches

vikrant8051 <vikrant8051@...>
 

Hi,

Assume a person create one PR (to solve already present issues) & it take some time to get approval from reviewers.

Meanwhile Zephyr master get upgrad as usual.

Then how to properly sync

1) forked Zephyr master branch on GitHub
2) local master branch
3) local branch (which is actually responsible to fix issues)

periodically without disturbing own commits architecture?

Thank You !!


Re: Renaming the RISC-V FE310 SoC in Zephyr

Nashif, Anas
 

I do not think the FRDM in Freedom board is something Zephyr specific, this is part of the branding/product naming AFAIK. So I would not abbreviate it, SiFive Freedom is just fine.

Anas

-----Original Message-----
From: devel@lists.zephyrproject.org [mailto:devel@lists.zephyrproject.org] On Behalf Of Cufi, Carles
Sent: Wednesday, August 15, 2018 5:19 PM
To: Nathaniel Graff <nathaniel.graff@sifive.com>; zephyr-devel@lists.zephyrproject.org
Subject: Re: [Zephyr-devel] Renaming the RISC-V FE310 SoC in Zephyr

Hi Nate,

No objections, I only want to point out that we already abbreviate "Freedom" as "frdm" in the NXP Freedom board series, for example:

https://github.com/zephyrproject-rtos/zephyr/tree/master/boards/arm/frdm_k64f

So I wonder if we should consider "sifive_frdm" as the folder name.

Regards,

Carles

On 15/08/2018, 22:47, "devel@lists.zephyrproject.org on behalf of Nathaniel Graff" <devel@lists.zephyrproject.org on behalf of nathaniel.graff@sifive.com> wrote:

Hi Zephyr Developers,

At the moment, Zephyr support for SiFive’s Freedom line of SoCs is named FE310. Since the FE310 is just one of our products which is compatible with this port, we’d like to change the name of the SoC in Zephyr.

We’re proposing renaming the “FE310” SoC to "SiFive Freedom”.

If there are any concerns about this particular choice, let me know, otherwise I’ll submit a PR and we can hash out the minutiae there.

Thanks,
Nate Graff


Re: Renaming the RISC-V FE310 SoC in Zephyr

Carles Cufi
 

Hi Nate,

No objections, I only want to point out that we already abbreviate "Freedom" as "frdm" in the NXP Freedom board series, for example:

https://github.com/zephyrproject-rtos/zephyr/tree/master/boards/arm/frdm_k64f

So I wonder if we should consider "sifive_frdm" as the folder name.

Regards,

Carles

On 15/08/2018, 22:47, "devel@lists.zephyrproject.org on behalf of Nathaniel Graff" <devel@lists.zephyrproject.org on behalf of nathaniel.graff@sifive.com> wrote:

Hi Zephyr Developers,

At the moment, Zephyr support for SiFive’s Freedom line of SoCs is named FE310. Since the FE310 is just one of our products which is compatible with this port, we’d like to change the name of the SoC in Zephyr.

We’re proposing renaming the “FE310” SoC to "SiFive Freedom”.

If there are any concerns about this particular choice, let me know, otherwise I’ll submit a PR and we can hash out the minutiae there.

Thanks,
Nate Graff

3361 - 3380 of 8323