You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mynewt.apache.org by Александр Макаров <se...@gmail.com> on 2018/08/21 05:34:13 UTC

newt build: error parsing setting SHELL_OS_SERIAL_BOOT_NVREG

I am using a tutorial for building Lora app as a reference:
https://mynewt.apache.org/v1_3_0/os/tutorials/lora/lorawanapp/
All newt targets has been configured per instructions from that tutorial.

When trying to build 'lora_app_shell_telee02' target I get following error:

$ newt build targets/lora_app_shell_telee02/
Building target targets/lora_app_shell_telee02
Error: Config for package sys/shell: error parsing setting
BOOT_SERIAL_NVREG_MAGIC; invalid restriction: (BOOT_SERIAL_NVREG_MAGIC != 0)

The target configuration is:
$ newt target show targets/lora_app_shell_telee02/
targets/lora_app_shell_telee02
    app=@apache-mynewt-core/apps/lora_app_shell
    bsp=@apache-mynewt-core/hw/bsp/telee02
    build_profile=optimized
    syscfg=LORA_MAC_TIMER_NUM=4:SHELL_CMD_ARGC_MAX=20:TIMER_4=1

The apache-mynewt-core/sys/shell/syscfg.yml is:

syscfg.defs:
    SHELL_TASK:
        description: 'Controls whether shell is enabled or not.'
        value: 0

    SHELL_CMD_ARGC_MAX:
        description: 'Max number of command line arguments'
        value: 12
    SHELL_CMD_HELP:
        description: 'Include help information for shell commands'
        value: 1
    SHELL_PROMPT_SUFFIX:
        description: 'Prompt suffix'
        value: '"> "'
    SHELL_MAX_MODULES:
        description: 'Max number of modules'
        value: 3
    SHELL_MAX_CMD_QUEUED:
        description: >
            Max number of command lines queued.  A value >= 2 is required if
            the shell is acting as a newtmgr transport.
        value: 2
    SHELL_COMPAT:
        description: 'Enable compatibility module'
        value: 1
    SHELL_MAX_COMPAT_COMMANDS:
        description: 'Max number of compatibility commands'
        value: 20
    SHELL_COMPLETION:
        description: 'Include completion functionality'
        value: 1
    SHELL_NEWTMGR:
        description: 'Enable newtmgr over shell'
        value: 1

    SHELL_OS_MODULE:
        description: 'Include shell os module'
        value: 1
    SHELL_OS_SERIAL_BOOT_NVREG:
        description: 'Include "reset serial_boot" option'
        value: 0
        restrictions:
            - (BOOT_SERIAL_NVREG_INDEX != -1)
    SHELL_PROMPT_MODULE:
        description: 'Include shell prompt module'
        value: 0

## duplicated from boot/boot_serial
    BOOT_SERIAL_NVREG_MAGIC:
        description: >
            Magic number, to be saved in a retained (reset-surviving)
register.
            If the value in the register matches, the serial bootloader will
            load. Value must not be 0.
        value: 0xB7
        restrictions:
            - (BOOT_SERIAL_NVREG_MAGIC != 0)

    BOOT_SERIAL_NVREG_INDEX:
        description: >
            Index of retained register to use (using hal_nvreg_read) for
reading
            magic value.
        value: -1

Newt newt version is:

$ newt version
Apache Newt version: 1.3.0

Please advice.

Re: newt build: error parsing setting SHELL_OS_SERIAL_BOOT_NVREG

Posted by Christopher Collins <ch...@runtime.io>.
Hi Александр,

It looks like your `newt` tool is out of date.  There were some
backwards-compatibility breaking changes made in 1.4.  I suggest
downloading newt 1.4.1, as described here:
http://mynewt.apache.org/latest/newt/install/index.html

Chris

On Tue, Aug 21, 2018 at 08:34:13AM +0300, Александр Макаров wrote:
> I am using a tutorial for building Lora app as a reference:
> https://mynewt.apache.org/v1_3_0/os/tutorials/lora/lorawanapp/
> All newt targets has been configured per instructions from that tutorial.
> 
> When trying to build 'lora_app_shell_telee02' target I get following error:
> 
> $ newt build targets/lora_app_shell_telee02/
> Building target targets/lora_app_shell_telee02
> Error: Config for package sys/shell: error parsing setting
> BOOT_SERIAL_NVREG_MAGIC; invalid restriction: (BOOT_SERIAL_NVREG_MAGIC != 0)
> 
> The target configuration is:
> $ newt target show targets/lora_app_shell_telee02/
> targets/lora_app_shell_telee02
>     app=@apache-mynewt-core/apps/lora_app_shell
>     bsp=@apache-mynewt-core/hw/bsp/telee02
>     build_profile=optimized
>     syscfg=LORA_MAC_TIMER_NUM=4:SHELL_CMD_ARGC_MAX=20:TIMER_4=1
> 
> The apache-mynewt-core/sys/shell/syscfg.yml is:
> 
> syscfg.defs:
>     SHELL_TASK:
>         description: 'Controls whether shell is enabled or not.'
>         value: 0
> 
>     SHELL_CMD_ARGC_MAX:
>         description: 'Max number of command line arguments'
>         value: 12
>     SHELL_CMD_HELP:
>         description: 'Include help information for shell commands'
>         value: 1
>     SHELL_PROMPT_SUFFIX:
>         description: 'Prompt suffix'
>         value: '"> "'
>     SHELL_MAX_MODULES:
>         description: 'Max number of modules'
>         value: 3
>     SHELL_MAX_CMD_QUEUED:
>         description: >
>             Max number of command lines queued.  A value >= 2 is required if
>             the shell is acting as a newtmgr transport.
>         value: 2
>     SHELL_COMPAT:
>         description: 'Enable compatibility module'
>         value: 1
>     SHELL_MAX_COMPAT_COMMANDS:
>         description: 'Max number of compatibility commands'
>         value: 20
>     SHELL_COMPLETION:
>         description: 'Include completion functionality'
>         value: 1
>     SHELL_NEWTMGR:
>         description: 'Enable newtmgr over shell'
>         value: 1
> 
>     SHELL_OS_MODULE:
>         description: 'Include shell os module'
>         value: 1
>     SHELL_OS_SERIAL_BOOT_NVREG:
>         description: 'Include "reset serial_boot" option'
>         value: 0
>         restrictions:
>             - (BOOT_SERIAL_NVREG_INDEX != -1)
>     SHELL_PROMPT_MODULE:
>         description: 'Include shell prompt module'
>         value: 0
> 
> ## duplicated from boot/boot_serial
>     BOOT_SERIAL_NVREG_MAGIC:
>         description: >
>             Magic number, to be saved in a retained (reset-surviving)
> register.
>             If the value in the register matches, the serial bootloader will
>             load. Value must not be 0.
>         value: 0xB7
>         restrictions:
>             - (BOOT_SERIAL_NVREG_MAGIC != 0)
> 
>     BOOT_SERIAL_NVREG_INDEX:
>         description: >
>             Index of retained register to use (using hal_nvreg_read) for
> reading
>             magic value.
>         value: -1
> 
> Newt newt version is:
> 
> $ newt version
> Apache Newt version: 1.3.0
> 
> Please advice.