CC9P9215 - System failure LED blink pattern documentation

I have some CC9P9215 which are not booting. The orange and green LED are blinking alternately. In the manuals the only part where the LEDs are mentioned is in the Hardware reference:
[…] During startup, LE1 will flash
a repeating blink pattern for a major syst
em failure; for example, a processor
exception or power on self test failure[…]

Is there a table where i can see what blink pattern means which failure?

There are different blink patterns for different portions of the code.
Below is a general table for Netos, but if it crashes in bootloader, then it’s probably simpli indicates that image is corrupt, which is most likely what the customer is seeing. Those patterns are only usefull if you know exactly what part of code is failing.
All this inof is in API reference guide. I’ve copied it below but it’s poorly formated when pasted here, so please look it up there instead.

Netos gives you a main code with red LED and subcode with green LED:
LED Error Blink Codes
Category: Error and Exception Handlers
Error code for customizeErrorHandler(). This error code is used for blinking pattern for red or error led in customizeErrorHandler().
Include file
#include
Library dependencies
libbsp(dbg).a
Platforms supported
All
Members
Name Description
ERROR_POST_FAILED Power On Self Test failed
ERROR_IRQ_TABLE Interrupt Handler Error
ERROR_SNMP_MIB SNMP Error
ERROR_SNMP_MIB1213 Error in MIB-II implementation
ERROR_RAM_FAILURE Memory error
ERROR_SERIAL_DRIVER Serial Driver Error
ERROR_ETHERNET_DRIVER Ethernet Driver Error
ERROR_PPP PPP driver Error
ERROR_FILEIO File System Error
ERROR_ROOSTER_THREADX TCP/IP Rooster Thread Error
ERROR_ROOSTER_CRITICAL TCP/IP Rooster Thread Critical Section Error
ERROR_CHECKSUM Checksum Error
ERROR_MAMAPI Management API error
ERROR_OUT_OF_MEMORY Out of Memory
ERROR_ASSERT_FAILED NA_ASSERT() failed. This was probably caused by passing a bad parameter to a function.
ERROR_LCD_DRIVER LCD Driver Error
ERROR_POWERSAVE Error reported by power save API.
ERROR_MMU Error reported by MMU set up routines.
ERROR_TIMER Error reported by timer API.
ERROR_PARALLEL Error reported by parallel driver.
ERROR_MII Error reported by MII driver.
ERROR_USB_DEVICE Error reported by USB device driver
ERROR_GPIO_MUX Error reported by GPIO MUX code.
ERROR_SNMP_AGENT Error reported by SNMP agent.
ERROR_PANIC panic() called
ERROR_SDIO Error reported by SDIO driver.
ERROR_CAN Error reported by CAN driver.
ERROR_BOOTLOADER Error reported by the bootloader
ERROR_J1708 Error reported by J1708 driver.
See also
customizeErrorHandler()
Version information
Available since version 6.0


Source file information
Path: netos/h/errhndlr.h
Line: 87

LED Error Blink Subcodes
Category: Error and Exception Handlers
Subcode for customizeErrorHandler(). This subcode is used for blinking pattern for green or normal led in customizeErrorHandler().
Include file
#include
Library dependencies
libbsp(dbg).a
Platforms supported
All
Members
Name Description
ERROR_NO_SUBCODE Error subcode was not specified
ERROR_CANT_CREATE_EVENT_FLAG Unable to create event flag
ERROR_ETHERNET_SEMAPHORE Error with semaphore
ERROR_PPP_UNABLE_TO_ADD_DEVICE Unable to add PPP device
ERROR_FILEIO_SEMAPHORE Error with file system semaphore
ERROR_SUBCODE_INVALID_INTERRUPT Unexpected interrupt occurred
ERROR_SUBCODE_TCPIP_HEAP Unable to allocate network heap
ERROR_SUBCODE_DUPLICATE_IRQ_ENTRY Duplicate entry in IRQ table
ERROR_SUBCODE_AT_TABLE Error processing request in AT table
ERROR_SUBCODE_EGP_TABLE Error processing request in EGP table
ERROR_SUBCODE_IF_TABLE Error processing request in IF table
ERROR_SUBCODE_IPADDR_TABLE Error processing request in IPADDR table
ERROR_SUBCODE_IPROUTE_TABLE Error processing request in IPROUTE table
ERROR_SUBCODE_IPMEDIA_TABLE Error processing request in IPMEDIA table
ERROR_SUBCODE_SYSOR_TABLE Error processing request in SYSOR table
ERROR_SUBCODE_TCPCONN_TABLE Error processing request in TCPCONN table
ERROR_SUBCODE_UPD_TABLE Error processing request in UPD table
ERROR_SUBCODE_NO_RAM No RAM detected
ERROR_SUBCODE_FAILED_RAM_TEST Failed RAM test
ERROR_SUBCODE_INSUFFICIENT_RAM Insufficient RAM for application
ERROR_SUBCODE_COUNTER Bad counter
ERROR_SUBCODE_FREE_VARIABLE Error freeing variable
ERROR_SUBCODE_FREE_ROW Error freeing row
ERROR_SUBCODE_ALLOC_ROW Unable to allocate row
ERROR_SUBCODE_COPY_ROW Unable to copy row
ERROR_SUBCODE_ASSERT_FAILED NA_ASSERT() or NA_INSIST() failed
ERROR_POWERSAVE_SEMAPHORE Error accessing power save semaphore
ERROR_MMU_MISALIGNED_REGION Region in mmuTable is not aligned on a page boundary
ERROR_MMU_INVALID_PAGE_SIZE Region in mmuTable has an invalid page size
ERROR_MMU_REGIONS_OVERLAP A region in mmuTable overlaps at least one other address range
ERROR_MMU_OUT_OF_RESOURCES Unable to construct MMU table because malloc() failed
ERROR_MMU_TABLE_OVERFLOW The .ttb region specified in the linker script is too small
ERROR_MMU_MISALIGNED_TABLE The .ttb region specified in the linker script is not aligned on a 16K boundary
ERROR_TIMER_BAD_SEMAPHORE Unable to get or set the timer driver semaphore.
ERROR_TIMER_CANT_CREATE_SEMAPHORE Unable to create the timer driver semaphore.
ERROR_TIMER_NAWAIT_TIMER_UNAVAIL NAWAIT_TIMER was not available.
ERROR_TIMER_NAWAIT_TIMER_CONFIG Unable to configure NAWAIT_TIMER.
ERROR_TIMER_INTERNAL_DRIVER_ERROR Size field of configuration was set to an invalid value.
ERROR_PARALLEL_ILLEGAL_MODE Attempt to set port into an unsupported mode.
ERROR_MII_INTERRUPT_NOT_SUPPORTED Attempt to enable interrupts on a PHY that does not support them.
ERROR_PHY_TYPE_NOT_SUPPORTED Could not Identify PHY.
ERROR_IRQ_NESTED_IRQ_OVERFLOW Too many nested IRQ interrupts have occurred.
ERROR_GPIO_ERROR_CONFIGURING Invalid GPIO MUX configuration setting.
ERROR_GPIO_NOT_SUPPORTED This function is not supported on this pin.
ERROR_CANT_CREATE_SEMAPHORE Can’t create the semaphore.
ERROR_GETTING_SEMAPHORE Can’t get the semaphore.
ERROR_RELEASING_SEMAPHORE Error releasing the semaphore.
ERROR_SDIO_INITIALIZATION Error initializing SDIO driver.
ERROR_SDIO_SEMAPHORE Error accessing semaphore.
ERROR_CAN_INITIALIZATION Error initializing CAN driver.
ERROR_CAN_SEMAPHORE Error accessing CAN semaphore.
ERROR_BOOTLOADER_UNKNOWN_NAME Unknown platform name
ERROR_BOOTLOADER_BAD_RAM_VALUE RAM value in naPlatformCodeTable doesn’t match value in linker script
ERROR_J1708_INITIALIZATION Error initializing J1708 driver.
See also
customizeErrorHandler()
Version information
Available since version 6.0


Source file information
Path: netos/h/errhndlr.h
Line: 196

Category: Bootloader
These are the error codes that the bootloader uses.
Include file
#include “blerror.h”
Library dependencies
libbsp(dbg).a
Platforms supported
All
Members
Name Description
DHCP_FAILED Indicates that no DHCP or BOOTP servers responded to the discovery packets.
DOWNLOAD_FAILED Indicates that the TFTP download of the application image failed.
INVALID_IMAGE Indicates that the application image downloaded from the TFTP server is invalid.
FLASH_ERROR Indicates that an error occurred writing the image to flash.
BOOTLOADER_IMAGE_CORRUPT Indicates that the bootloader image is corrupt.
OUT_OF_MEMORY Indicates that the bootloader was unable to allocate memory for application image buffer.
DOWNLOAD_BUFFER_TOO_SMALL Indicates that the value of DOWNLOAD_BUFFER_SIZE in blram.c is smaller than APP_MAX_SIZE_IN_FLASH in linker customization file. You must adjust one or the other so that DOWNLOAD_BUFFER_SIZE > APP_MAX_SIZE_IN_FLASH.
SIMPLE_SPI_EEPROM_READ_FAIL Indicates that the simple spi driver fails on read.
SIMPLE_SPI_EEPROM_WRITE_FAIL Indicates that the simple spi driver fails on write.
RECURSIVE_ETH_TX_INTERRUPT Ethernet transmit TX interrupt called recursively.
ETH_TX_RING_CORRUPTED Ethernet DMA transmit ring is corrupted.
Version information

#define ERROR_POST_FAILED 1
#define ERROR_IRQ_TABLE 3
#define ERROR_SNMP_MIB 4
#define ERROR_SNMP_MIB1213 5
#define ERROR_RAM_FAILURE 6
#define ERROR_SERIAL_DRIVER 8
#define ERROR_ETHERNET_DRIVER 9
#define ERROR_PPP 10
#define ERROR_FILEIO 11
#define ERROR_ROOSTER_THREADX 12
#define ERROR_ROOSTER_CRITICAL 13
#define ERROR_CHECKSUM 14
#define ERROR_MAMAPI 15
#define ERROR_OUT_OF_MEMORY 16
#define ERROR_ASSERT_FAILED 17
#define ERROR_LCD_DRIVER 18
#define ERROR_POWERSAVE 19
#define ERROR_MMU 20
#define ERROR_TIMER 21
#define ERROR_PARALLEL 22
#define ERROR_MII 23
#define ERROR_USB_DEVICE 24
#define ERROR_GPIO_MUX 25
#define ERROR_SNMP_AGENT 26
#define ERROR_PANIC 27
#define ERROR_SDIO 28
#define ERROR_CAN 29
#define ERROR_BOOTLOADER 30
#define ERROR_J1708 31

Regards,
Leonid

#define ERROR_POST_FAILED 1
#define ERROR_IRQ_TABLE 3
#define ERROR_SNMP_MIB 4
#define ERROR_SNMP_MIB1213 5
#define ERROR_RAM_FAILURE 6
#define ERROR_SERIAL_DRIVER 8
#define ERROR_ETHERNET_DRIVER 9
#define ERROR_PPP 10
#define ERROR_FILEIO 11
#define ERROR_ROOSTER_THREADX 12
#define ERROR_ROOSTER_CRITICAL 13
#define ERROR_CHECKSUM 14
#define ERROR_MAMAPI 15
#define ERROR_OUT_OF_MEMORY 16
#define ERROR_ASSERT_FAILED 17
#define ERROR_LCD_DRIVER 18
#define ERROR_POWERSAVE 19
#define ERROR_MMU 20
#define ERROR_TIMER 21
#define ERROR_PARALLEL 22
#define ERROR_MII 23
#define ERROR_USB_DEVICE 24
#define ERROR_GPIO_MUX 25
#define ERROR_SNMP_AGENT 26
#define ERROR_PANIC 27
#define ERROR_SDIO 28
#define ERROR_CAN 29
#define ERROR_BOOTLOADER 30
#define ERROR_J1708 31

#define DHCP_FAILED 1
#define DOWNLOAD_FAILED 2
#define INVALID_IMAGE 3
#define FLASH_ERROR 4
#define BOOTLOADER_IMAGE_CORRUPT 5
#define OUT_OF_MEMORY 6
#define DOWNLOAD_BUFFER_TOO_SMALL 7
#define SIMPLE_SPI_EEPROM_READ_FAIL 8
#define SIMPLE_SPI_EEPROM_WRITE_FAIL 9
#define RECURSIVE_ETH_TX_INTERRUPT 10
#define ETH_TX_RING_CORRUPTED 11

/* Ethernet related errors */
#define BL_RECURSIVE_TX_INTERRUPT LED_001_RECURSIVE_TX_INTERRUPT
#define BL_TX_RING_CORRUPTED LED_002_TX_RING_CORRUPTED

/* errors related to flash */
#define BL_FLASH_INIT_FAILED LED_001_FLASH_INIT_FAILED
#define BL_FLASH_SECTORS_FAILED LED_002_FLASH_SECTORS_FAILED
#define BL_FLASH_SECTOR_SIZES_FAILED LED_003_FLASH_SECTOR_SIZES_FAILED
#define BL_FLASH_INVALID_START_OFFSET LED_004_FLASH_INVALID_START_OFFSET
#define BL_FLASH_WRITE_FAILED LED_005_FLASH_WRITE_FAILED

/* errors related to DHCP */
#define BL_PACKET_ALLOCATE_ERROR LED_001_PACKET_ALLOCATE_ERROR
#define BL_DHCP_RETRANSMIT_ERROR LED_002_DHCP_RETRANSMIT_ERROR

/* IP/UDP related errors */
#define BL_TIMER_INITIALIZE_FAILED LED_001_TIMER_INITIALIZE_FAILED
#define BL_PACKET_INITIALIZE_FAILED LED_002_PACKET_INITIALIZE_FAILED
#define BL_ARP_INITIALIZE_FAILED LED_003_ARP_INITIALIZE_FAILED
#define BL_ICMP_INITIALIZE_FAILED LED_004_ICMP_INITIALIZE_FAILED
#define BL_UDP_INITIALIZE_FAILED LED_005_UDP_INITIALIZE_FAILED
#define BL_ARMETH_INITIALIZE_FAILED LED_006_ARMETH_INITIALIZE_FAILED
#define BL_IP_INITIALIZE_FAILED LED_007_IP_INITIALIZE_FAILED

/* TFTP related errors */
#define BL_TFTPC_INITIALIZE_ERROR LED_001_TFTPC_INITIALIZE_ERROR
#define BL_TFTPC_GET_ERROR LED_002_TFTPC_GET_ERROR
#define BL_TFTPC_RETRANSMIT_ERROR LED_003_TFTPC_RETRANSMIT_ERROR
#define BL_TFTPC_BUFFER_TOO_SMALL LED_004_TFTPC_BUFFER_TOO_SMALL

/* Image related errors */
#define BL_INVALID_IMAGE LED_001_BL_INVALID_IMAGE
#define BL_DOWNLOAD_IMAGE_ERROR LED_002_DOWNLOAD_IMAGE_ERROR
#define BL_WRONG_PLATFORM LED_003_WRONG_PLATFORM

/* SPI related errors */
#define BL_SPI_REGISTER_DEVICE_ERROR LED_001_SPI_REGISTER_DEVICE_ERROR
#define BL_SFLASH_INIT_ERROR LED_002_SFLASH_INIT_ERROR
#define BL_SFLASH_SECTORS_FAILED LED_003_SFLASH_SECTORS_FAILED
#define BL_SFLASH_SECTOR_SIZES_FAILED LED_004_SFLASH_SECTOR_SIZES_FAILED
#define BL_SFLASH_INVALID_START_OFFSET LED_005_SFLASH_INVALID_START_OFFSET
#define BL_SFLASH_WRITE_FAILED LED_006_SFLASH_WRITE_FAILED
#define BL_SFLASH_READ_FAILED LED_007_SFLASH_READ_FAILED

/* Serial download errors */
#define BL_SERIAL_TIMEOUT_ERROR LED_001_SERIAL_TIMEOUT_ERROR
#define BL_SERIAL_CANCELED_BY_PEER LED_002_SERIAL_CANCELED_BY_PEER
#define BL_SERIAL_TOO_MANY_RETRY LED_003_SERIAL_TOO_MANY_RETRY

/* number of times the errorcode pattern blinks before trying the
next recovery mode */
#define NA_BOOTLOADER_BLINK_COUNT 0x0002

void NABlReportError(int errorCode); /* kept as is for backward compatibility */
void NaBootloaderReportError(const unsigned int minorcode, const unsigned int subcode);

#define NaBootloaderFlashError(errorCode) NaBootloaderReportError(LED_02_BL_FLASH_FAILURE, errorCode)
#define NaBootloaderEthError(errorCode) NaBootloaderReportError(LED_03_BL_ETH_FAILURE, errorCode)
#define NaBootloaderDhcpError(errorCode) NaBootloaderReportError(LED_04_BL_DHCP_FAILURE, errorCode)
#define NaBootloaderIpudpError(errorCode) NaBootloaderReportError(LED_05_BL_IPUDP_FAILURE, errorCode)
#define NaBootloaderTftpError(errorCode) NaBootloaderReportError(LED_06_BL_TFTP_FAILURE, errorCode)
#define NaBootloaderImageError(errorCode) NaBootloaderReportError(LED_07_BL_IMAGE_FALIURE, errorCode)
#define NaBootloaderSpiError(errorCode) NaBootloaderReportError(LED_08_BL_SPI_FAILURE, errorCode)
#define NaBootloaderSerialError(errorCode) NaBootloaderReportError(LED_09_BL_SERIAL_FAILURE, errorCode)