04-20-2018 03:05 PM
Hi, i´m currently workng on a project for vehicle data adquisition and control , im using a zybo board for development, im using bare-metal programs on each arm core and i implemented 3 microblaze procesors. Im on the last stage of the project implementing a Can Bus input for one of the microblaze througth a spi communication to a mcp2515. All the system is really complex with more communications and data storage . Now i have a problem with the microblaze that control the can module , works perfect for a few minutes and then the procesor resets and halt. I dont know whats is the issue or how to find the problem, the fpga is almost full and there is a fail on the timming constrains but i dont thing this is the real problem. Anyone have had the same problem or know where to find a solution. thanks and sorry for my poor english.
04-23-2018 03:31 AM
"works for a few minutes then resets" is as ambiguous as going to the doctor with "fever, cough and headache".
Things that come to my mind are:
- pointers out of boundaries
- heap/ stack overflows
- interrupts not properly addressed
the obvious suggestion is to debug it to get more information. Also, or if you are not able to, as your thing is running happily for some time, log or send out through a serial port things to check your system sanity.
04-23-2018 05:52 AM
What are the exact issue here. Is the Microblaze resetting itself? How are you verifying this?Is the code looping, then hanging?
Does it fail at the same location in code all the time? If so, what is the processor trying to access. The processor could be trying (and failing to access a register/memory access.
Also, You said, " the fpga is almost full and there is a fail on the timming constrains but i dont thing this is the real problem"
A design not meeting timing, and seeing unexpected behaviour, is a real problem.