Martin,Thank you for your response. I will first describe the problem:I have a demo board with MR3003 that is branded NXP but comes from a Swiss company that designed the RF part. It came with code compiled with GHS (Green Hills) and it does work though at times does not startup reliably. I am trying to port the code to S32DS. It is a good exercise as I have picked up a few of the startup problems.The problem I have at the moment when I go through the debugger and check the buffer descriptors things don't happen as they should. I have data in the tx buffer and the length and status are correct but the message is not sent out or I know message are sent on the network and they are not received. Ocassionally I get an ARP with a response and response to two pings out of 4. This tells me that the hardware pins are configured correctly.
I suspect the problem is caching the rx and tx buffs and buffer descriptors and don't know how to disable that. Declared them as "volatile" but not sure the compiler is doing anything.
I have not seen any non cacheble section in the flash.ld file nor any sequence that configures a non cacheble section of the memory so that I can put the buffers (or the compiler can do it automatically) in that section.
1. I was hoping that if you can give me the whole project of your ENET driver and that works under S32DS I can do most of the work myself.2. can you give me any support/examples on how to create a non cacheble section under S32DS.3. I have attached the code I am using which is a fnet 3.8.3dev version I am working on and Andrey is helping me. if just initializes the stack and needs to respond to pings.The board I have does not have an XOSC and relies on the 40 MHz clock to come from MR3003. If your's has the XOSC then you can get rid of the MR3003 init code.You may also have to remap the I/O pins to match your hardware.
I have disabled the interrupts so it is all working in pool mode. You can put the interrupts back by:mpc/fnet_mps_isr_inst.c comment out the line that returns in case the vector is 218,in the Interrupt vector file comment out the "dummy" line and put the fnet_isr_handler in vector no 218in the fnet_poll_service comment out the fec_poll function.in the fnet_fec_init function enable the interrups.
I can give you the interrupt driven version but this way is simpler to debug.The timer interrupt is still running.I put the break point in the tx function. Gets called in the beggining to send an ARP message and sometimes the ARP message gets through.One break point in the receive function. An initial response to ARP or an ARP message from the peer arrives but it is not being processed.
From: b55689 <[email protected]>
To: adrian onea <[email protected]>
Sent: Tuesday, 13 June 2017, 23:19
Subject: Re: - Re: FEC not working with S32DS
#yiv6213487212 * #yiv6213487212 a #yiv6213487212 body {font-family:Helvetica, Arial, sans-serif;}#yiv6213487212 #yiv6213487212 h1, #yiv6213487212 h2, #yiv6213487212 h3, #yiv6213487212 h4, #yiv6213487212 h5, #yiv6213487212 h6, #yiv6213487212 p, #yiv6213487212 hr {}#yiv6213487212 .yiv6213487212button td {}
|
|
Re: FEC not working with S32DS
reply from Martin Kovar in MPC5xxx - View the full discussionHello Adrian, could you please more clarify the issue you have? What does it mean that FEC does not work properly? Only known issue we found is described in thread below (read my last post):enet function cause censored on s32r You can also try to check this thread:ENET_UDP_Tx problem in on S32R274 Regards,Martin
Reply to this message by replying to this email, or go to the message on NXP Community |
Start a new discussion in MPC5xxx by email or at NXP Community |
Following Re: FEC not working with S32DS in these streams: Inbox |
This email was sent by NXP Community because you are a registered user.
You may unsubscribe instantly from NXP Community, or adjust email frequency in your email preferences |
|