This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF5340 SDK: QS1:nrfx_gpiote_out_toggle() report assert error QS2: I2S irq can't work when CONFIG_BOARD_ENABLE_CPUNET=y

Hi,

I am using nRF5340DK for development. Currently, I have two problems:

QS1:When I use fun nrfx_gpiote_out_toggle(), it reports Assert error on NRFX_ASSERT(!pin_in_use_by_te(pin)).  I have asked your agents, but they know nothing about it.  So far, the way I've dealt with it is  ://NRFX_ASSERT(!pin_in_use_by_te(pin));(it's in nrfx_gpiote.c)

QS2:when CONFIG_BOARD_ENABLE_CPUNET=y in prj.conf

The data received by I2S via serial port printing (the nrfx_I2S driver is called) works fine, but when try to run a network core(add CONFIG_BOARD_ENABLE_CPNET = Y  in prj.conf ), both the network core and the application core will run, but the I2S IRQ of the application core can't interrupt .  I simulated with SES and found that only one interrupt was entered after I2S initialization (nrfx_i2s_start had not been executed at this time), and no more interrupts were entered after that  .

Looking forward to your answers.

Code information:

1、APP CORE:

prj.conf

  

#GPIO
CONFIG_GPIO=n
CONFIG_NRFX_GPIOTE=y

#I2S
CONFIG_NRFX_I2S=y
CONFIG_SPM_NRF_I2S0_NS=y

#LOG
CONFIG_LOG=y
CONFIG_LOG_PRINTK=y
CONFIG_LOG_BACKEND_SHOW_COLOR=n

#use RTT logging
CONFIG_ASSERT=y
CONFIG_ASSERT_LEVEL=2

CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=4
CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=100

CONFIG_BOARD_ENABLE_CPUNET=y

CMakeLists

cmake_minimum_required(VERSION 3.8.2)

include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
project(loopone)

# NORDIC SDK APP START
target_sources(app PRIVATE src/main.c)

# NORDIC SDK APP END

2、NET CORE:

CMakeLists:

#
# Copyright (c) 2018 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
#
cmake_minimum_required(VERSION 3.13.1)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(NONE)


target_sources(app PRIVATE src/main.c)
target_sources(app PRIVATE ../lib/esb.c)
target_sources(app PRIVATE ../lib/radio.c)

zephyr_include_directories(../lib)

kconfig:

#
# Copyright (c) 2020 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
#

source "Kconfig.zephyr"

rsource "../lib/Kconfig"

menu "Enhanced ShockBurst: Transmitter"

config APP_LOG_LEVEL
	int "Log level for the ESB sample"
	default 4

endmenu

menu "Radio Ramp up"

config RADIO_FAST_RAMP
	bool "Radio fast ramp up"
	default y
	
endmenu

prj:

#
# Copyright (c) 2019 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
#
CONFIG_NCS_SAMPLES_DEFAULTS=y

Related