problem : can driver not working tiva c 123gxl

 can char driver



tm4cbringup:


int tm4c_can_setup(void)
{
  int ret = ERROR;

   // struct can_dev_s *devst;


#  ifdef CONFIG_TIVA_CAN0
  tiva_can0_enableclk();

  ret = tiva_configgpio(GPIO_CAN0_RX);
  if (ret < 0)
    {
      goto configgpio_error;


    }

  ret = tiva_configgpio(GPIO_CAN0_TX);
  if (ret < 0)
    {
   //   snerr("error init gpio rx can \n");
      goto configgpio_error;
    }

  /* Call tiva_can_initialize() to get an instance of CAN interface 0
   * and register it.
   */

  ret = tiva_can_initialize("/dev/can0", 0);
  if (ret < 0)
    {
      canerr("ERROR:  Failed to get/register CAN interface 0\n");
      return ret;
    }


  return OK;

configgpio_error:
  canerr("ERROR: failed to configure CAN GPIO pin.\n");
  return ret;


    }



using  can example from apps


can -n 1

nmsgs: 1
min ID: can_open: ocount: 0
_assert: Current Version: NuttX  12.2.1 148c631a2d Feb 24 2024 14:08:01 arm
_assert: Assertion failed nxmutex_is_hold(mutex): at file:
misc/lib_mutex.c:339 task: 0xe655
up_dump_register: R0: 20000d20 R1: 00000153 R2: 00012073  R3: 20000830
up_dump_register: R4: 20000780 R5: 0001208a R6: 20005db8  FP: 20000d20
up_dump_register: R8: 00012073 SB: 00000153 SL: 00016005 R11: 0001605c
up_dump_register: IP: 00000020 SP: 20006738 LR: 000015e9  PC: 000015e9
up_dump_register: xPSR: 60000000 PRIMASK: 00000001 CONTROL: 00000000
up_dump_register: EXC_RETURN: ffffffff
1 max ID: 2047



if i comment this line


//
  nxmutex_unlock(&canmod->thd_iface_lock); from static int
tivacan_setup(struct can_dev_s *dev)




now the error changed




nsh> can -n 1

nmsgs: 1
min ID: can_open: ocount: 0
tivacan_setup: tiva_can co_steup
can_ioctl: cmd: 6914 arg: 536897800
1 max Ican_write: buflen: 4
can_xmit: xmit head: 0 queue: 0 tail: 1
can_txdone: xmit head: 0 queue: 1 tail: 1
can_xmit: xmit head: 1 queue: 1 tail: 1
can_receive: ID: 44 DLC: 8
can_receive: ID: 44 DLC: 8
can_receive: ID: 44 DLC: 8
can_receive: ID: 44 DLC: 8
Dcan_receive: ID: 44 DLC: 8
ccan_receive: ID: 44 DLC: 8
acan_receive: ID: 44 DLC: 8
ncan_receive: ID: 44 DLC: 8
can_receive: ID: 44 DLC: 8
_can_receive: ID: 44 DLC: 8
_assert: Current Version: NuttX  12.2.1 148c631a2d Feb 24 2024 14:08:01 arm
_assert: Assertion failed curr: at file: wdog/wd_cancel.c:95 task: 0xe655
up_dump_register: R0: 20000d20 R1: 0000005f R2: 0001165a  R3: 20000838
up_dump_register: R4: 20000780 R5: 0001165f R6: 20005db8  FP: 20000d20
up_dump_register: R8: 0001165a SB: 0000005f SL: 0000fc7d R11: 00000000
up_dump_register: IP: 00000008 SP: 20000298 LR: 000015e9  PC: 000015e9
up_dump_register: xPSR: 20000037 PRIMASK: 00000001 CONTROL: 00000000
up_dump_register: EXC_RETURN: ffffffff
dump_tasks:    PID GROUP PRI POLICY   TYPE    NPX STATE   EVENT
 SIGMASK          STACKBASE  STACKSIZE   COMMAND
dump_tasks:   ----   --- --- -------- ------- --- ------- ----------
-------- 0x200002d0       300   irq

Reply via email to