This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Bug in UART_soc.c Interrupt Numbers in AM335x Processor Software Development Kit (PDK) 3.0

Other Parts Discussed in Thread: AM3358

Hello!

What I'm working with:  Win7-64-bit,

Dev Env:  CCS 6.1.2

Platform:  Custom board with MYIR brand MCC-AM335X-Y board with AM3358, 250MB RAM and other electronics that seem to be working perfectly.

Packages:  SYS/BIOS 6.45.1.29, UIA 2.0.5.50, AM335x PDK 3.0 (installs C:\ti\pdk_am335x_1_0_3\)


What I encountered is that when I try to open UART5, UART_open() (UART_open_v1) function executes this line to create a new HWI for the UART5 interrupt.

      object->hwi = UART_osalRegisterInterrupt(hwAttrs->intNum, UART_v1_hwiIntFxn, &hwiInputParams);

The problem is that the structure it uses to house various hardware attributes about the UARTS (called  'uartInitCfg'  in   C:\ti\pdk_am335x_1_0_3\packages\ti\drv\uart\soc\am335x\UART_soc.c)  (and which feeds the first argument in the above call) passes 138 for the interrupt number for UART5.  This causes the call to generate an exception.  Looking closer, 138 for UART5 is apparently for a different processor because the AM335x only has interrupt numbers from 0-127.  The correct (and tested) interrupt number for UART5 (according to the TRM, and verified working) is 46.

Looking closer, all but UART0 and UART3 have incorrect interrupt numbers on them.  In the source code:

UART1 has int number 105 (reserved), should be 73.

UART2 has int number 106 (reserved), should be 74.

UART4 has int number 137 (out of range), should be 45, and finally

UART5 has int number 138 (out of range), should be 46.

These are according to the AM335x TRM, and the only one I have personally verified with testing is for UART5.

Kind regards,
Vic