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

Make App output log via Serial Console (UART) - instead of RTT ...

Hi,

In gps sample, the prj.conf file is:

CONFIG_BSD_LIBRARY=y
CONFIG_STDOUT_CONSOLE=y
CONFIG_NETWORKING=y
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_NET_SOCKETS=y
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=4
CONFIG_HEAP_MEM_POOL_SIZE=2048
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y

CONFIG_BOARD_NRF9160_PCA10090NS=y

# Disable native network stack to save some memory
CONFIG_NET_IPV4=n
CONFIG_NET_IPV6=n
CONFIG_NET_UDP=n
CONFIG_NET_TCP=n


 And I can use Putty or Serial.app (on my Mac) to view the output Thumbsup tone1

In our application the prj.conf file is the following:

# General config
CONFIG_NEWLIB_LIBC=y
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_ASSERT=n
CONFIG_REBOOT=y
CONFIG_SENSOR=y
CONFIG_DEBUG=n
CONFIG_USE_SEGGER_RTT=n
CONFIG_SEGGER_SYSTEMVIEW=n

# Trusted execution
CONFIG_TRUSTED_EXECUTION_NONSECURE=y

# BSD library
CONFIG_BSD_LIBRARY=y
CONFIG_BSD_LIBRARY_TRACE_ENABLED=n

# Library for buttons and LEDs
CONFIG_DK_LIBRARY=y
CONFIG_DK_LIBRARY_INVERT_LEDS=y

# Console
CONFIG_CONSOLE_SUBSYS=n
CONFIG_CONSOLE_HANDLER=n
CONFIG_CONSOLE_GETCHAR=n

CONFIG_CONSOLE=n
CONFIG_STDOUT_CONSOLE=n
CONFIG_UART_CONSOLE=n
CONFIG_PRINTK=y
CONFIG_SERIAL=n

# Main thread
CONFIG_MAIN_THREAD_PRIORITY=7

# Enable Bluetooth stack and libraries
CONFIG_BT=y
CONFIG_BT_H4=n
CONFIG_BT_CENTRAL=y
CONFIG_BT_GATT_CLIENT=y
CONFIG_BT_GATT_DM=y
CONFIG_BT_SCAN=y
CONFIG_BT_SCAN_FILTER_ENABLE=y
CONFIG_BT_SCAN_UUID_CNT=1
CONFIG_BT_SMP=y
CONFIG_BT_MAX_PAIRED=5

##Mcumgr/
# Enable the Bluetooth and shell mcumgr transports.
CONFIG_MCUMGR_SMP_BT=n
# Allow for large Bluetooth data packets.
CONFIG_BT_L2CAP_TX_MTU=260
CONFIG_BT_RX_BUF_LEN=260
# Bluetooth support requires a net_buf user_data size > 7.
CONFIG_NET_BUF_USER_DATA_SIZE=8
##/Mcumgr

#CONFIG_UART_0=n
CONFIG_UART_2=n
CONFIG_UART_2_NRF_UARTE=n
CONFIG_UART_2_NRF_FLOW_CONTROL=n

# Logging
CONFIG_LOG=y
CONFIG_BT_GATT_DM_LOG_LEVEL_INF=y
CONFIG_AT_CMD_LOG_LEVEL_DBG=y
CONFIG_COAP_LOG_LEVEL_DBG=y
CONFIG_LOG_PRINTK=y
CONFIG_LOG_BACKEND_SHOW_COLOR=n
CONFIG_LOG_STRDUP_MAX_STRING=2048
CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=2048

# Heap and stacks
CONFIG_HEAP_MEM_POOL_SIZE=16384
CONFIG_MAIN_STACK_SIZE=8192

##Mcumgr/
# Enable mcumgr.
CONFIG_MCUMGR=n

# Some command handlers require a large stack.
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
# Enable all core commands.
CONFIG_MCUMGR_CMD_FS_MGMT=n
CONFIG_MCUMGR_CMD_IMG_MGMT=n
CONFIG_MCUMGR_CMD_OS_MGMT=n
CONFIG_MCUMGR_CMD_STAT_MGMT=n
##/Mcumgr

# i2c to communicate with accelerometer on thingy
CONFIG_I2C=y
CONFIG_I2C_NRFX=y
CONFIG_I2C_2=n
CONFIG_I2C_3=y
CONFIG_I2C_3_NRF_TWIM=y

CONFIG_JSON_LIBRARY=y
CONFIG_FLASH_LOAD_SIZE=0

# Network
CONFIG_NETWORKING=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y

# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_DBG=y
CONFIG_LTE_NETWORK_MODE_NBIOT=y
CONFIG_LTE_LOCK_BANDS=y
CONFIG_LTE_LEGACY_PCO_MODE=y
CONFIG_LTE_EDRX_REQ=n
CONFIG_LTE_PDP_CMD=y


# AT Host
CONFIG_AT_HOST_LIBRARY=n
CONFIG_UART_INTERRUPT_DRIVEN=n

CONFIG_SPM=y
CONFIG_SRAM_SIZE=128

# COAP configuration
CONFIG_COAP=y

# Disable native network stack to save some memory
CONFIG_NET_IPV4=n
CONFIG_NET_IPV6=n
CONFIG_NET_UDP=n
CONFIG_NET_TCP=n

CONFIG_ZTEST=n

# Enable flash operations.
CONFIG_FLASH=y
CONFIG_FS_FLASH_STORAGE_PARTITION=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y

# Enable the NFFS file system.
CONFIG_FILE_SYSTEM=y
CONFIG_FILE_SYSTEM_NFFS=y
CONFIG_FS_NFFS_FLASH_DEV_NAME="NRF_FLASH_DRV_NAME"

# Flash circular buffer
CONFIG_FCB=y

CONFIG_BOOTLOADER_MCUBOOT=y

NOTE: I haven't written the original code, just took over and continuing developing on it. 

I have tred to set all the settings from the GPS Sample code in our prj.conf-file ... cleaned the solution, closed & re-opened the solution ... to make sure the prj.conf is "applied" in SEGGER ... and freshly re-built the code ... 

But It doesn't seem to work. 

I'm guessing there's a one / few settings that maybe are overriding each other? (if you enable option-x, then option-s won't work ... etc etc) 

Does someone have a clue to what's going on?

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

PS - Yes, if I enable RTT in our prj.conf it works Thumbsup tone1... but I'd like to use serial-console-logging.

Parents Reply Children
Related