Update from nRF Connect SDK 1.7 to nRF Connect SDK 1.9.1

I am attempting to upgrade from nRF Connect SDK version 1.7 to version 1.9.1

My application is using the nrf52840 on a custom board.

I'm using Zephyr and created a board file based on the nrf52840-nrf52840-dk board (and an overlay file).

Everything seems to work using version 1.7 (Solution builds, etc.)

When I try to compile using version 1.9.1, I get two errors I haven't been able to resolve:

1.  I'm using LittleFS and the following error occurs when compiling littlefs_fs.c:

2> Compiling ‘littlefs_fs.c’
2> In file included from E:/N/S/v1.9.1/zephyr/include/sys/util_macro.h:34,
2>                  from E:/N/S/v1.9.1/zephyr/include/sys/atomic.h:16,
2>                  from E:/N/S/v1.9.1/zephyr/include/kernel_includes.h:21,
2>                  from E:/N/S/v1.9.1/zephyr/include/kernel.h:17,
2>                  from E:/N/S/v1.9.1/zephyr/subsys/fs/littlefs_fs.c:10:
2> E:/N/S/v1.9.1/zephyr/include/devicetree/fixed-partitions.h:53:9: error: 'DT_COMPAT_fixed_partitions_LABEL_storage_PARTITION_ID' undeclared here (not in a function); did you mean 'DT_COMPAT_fixed_partitions_LABEL_image_1_EXISTS'?

I'm using the same prj.conf and board files (and overlay files) as used with version 1.7 (and I didn't see any documentation identifying needed changes to move beyond version 1.7)

2.  I also use IRQ_CONNECT to capture interrupts from one of the TWIM devices.  The line of code is:

IRQ_CONNECT(SPIM1_SPIS1_TWIM1_TWIS1_SPI1_TWI1_IRQn,6,nrfx_isr,nrfx_twim_1_irq_handler,0);

and produces an error:

1> ../src/main.c:436:7: warning: unused variable 'err' [-Wunused-variable]
1> In file included from E:/N/S/v1.9.1/zephyr/include/toolchain.h:50,
1>                  from E:/N/S/v1.9.1/zephyr/lib/libc/minimal/include/string.h:13,
1>                  from ../src/include/Telemetry.h:7,
1>                  from ../src/main.c:9:
1> ../src/main.c: In function 'main':
1> E:/N/S/v1.9.1/zephyr/include/arch/arm/aarch32/irq.h:97:2: error: static assertion failed: "Invalid interrupt priority. Values must not exceed IRQ_PRIO_LOWEST"
1> E:/N/S/v1.9.1/zephyr/include/arch/arm/aarch32/irq.h:118:2: note: in expansion of macro '_CHECK_PRIO'
1> E:/N/S/v1.9.1/zephyr/include/irq.h:49:2: note: in expansion of macro 'ARCH_IRQ_CONNECT'
1> ../src/main.c:644:3: note: in expansion of macro 'IRQ_CONNECT'

Again, this works fine with version 1.7, but fails with version 1.9.1

Is there some new configuration setting needed?

Thanks!

P.S. Sorry for the weird formatting of the error messages from the copy/paste from the SES window...

Parents
  • Hi, Ed,

    Regarding the first error, could you please provide more information how you use DT_NODE_BY_FIXED_PARTITION_LABEL()?

    Regarding the second error, this is an interrupt priority issue. You could try changing the priority level from 6 to 5 in IRQ_CONNECT().

    Best regards,
    Dejan

  • Here is the full error message:

    2> Compiling ‘littlefs_fs.c’
    2> In file included from [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_macro.h:34[m[K,
    2> from [01m[KE:/N/S/v1.9.1/zephyr/include/sys/atomic.h:16[m[K,
    2> from [01m[KE:/N/S/v1.9.1/zephyr/include/kernel_includes.h:21[m[K,
    2> from [01m[KE:/N/S/v1.9.1/zephyr/include/kernel.h:17[m[K,
    2> from [01m[KE:/N/S/v1.9.1/zephyr/subsys/fs/littlefs_fs.c:10[m[K:
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/devicetree/fixed-partitions.h:53:9:[m[K [01;31m[Kerror: [m[K'[01m[KDT_COMPAT_fixed_partitions_LABEL_storage_PARTITION_ID[m[K' undeclared here (not in a function); did you mean '[01m[KDT_COMPAT_fixed_partitions_LABEL_image_1_EXISTS[m[K'?
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_internal.h:67:26:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[K__DEBRACKET[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_internal.h:59:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[K__GET_ARG2_DEBRACKET[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_internal.h:54:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[K__COND_CODE[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_macro.h:157:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KZ_COND_CODE_1[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/devicetree.h:2873:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KCOND_CODE_1[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_internal.h:64:53:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[K__DEBRACKET[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_internal.h:59:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[K__GET_ARG2_DEBRACKET[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_internal.h:54:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[K__COND_CODE[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_macro.h:157:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KZ_COND_CODE_1[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/subsys/fs/littlefs_fs.c:819:4:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KCOND_CODE_1[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/devicetree/fixed-partitions.h:69:40:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KDT_CAT[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/storage/flash_map.h:270:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KDT_FIXED_PARTITION_ID[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/devicetree/fixed-partitions.h:53:2:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KDT_CAT[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/storage/flash_map.h:270:24:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KDT_NODE_BY_FIXED_PARTITION_LABEL[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/subsys/fs/littlefs_fs.c:821:10:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KFLASH_AREA_ID[m[K'
    2> [01m[Kzephyr/include/generated/devicetree_unfixed.h:8231:56:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KDEFINE_FS[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/include/sys/util_internal.h:99:36:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KDT_FOREACH_OKAY_INST_zephyr_fstab_littlefs[m[K'
    2> [01m[KE:/N/S/v1.9.1/zephyr/subsys/fs/littlefs_fs.c:826:1:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KDT_INST_FOREACH_STATUS_OKAY[m[K'

  • Hi Ed,

    When using zero latency interrupt, 0-5 are available interrupt levels for the application.

    Regarding DT_NODE_BY_FIXED_PARTITION_LABEL, I have asked internally and I will get back to you with more information, possibly till the end of this week.

    Best regards,
    Dejan

  • Hi Ed,

    If you are using partition manager in your project, it is recommended to use macros from flash_map_pm.h instead of DT natives.

    Best regards,
    Dejan

Reply Children
Related