Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems

Debug during boot

K606
New Contributor III
1,374 Views

I am working with the Agilex 5 EMAC - but during linux kernel boot there is a hang - I would like to debug this somehow. Signal-tap was my first thought.

 

However, the etherlink app is not able to be activated unless linux has been spun-up prior, so it's a bit of a catch-22.

 

Is there any other way to debug this?

 

Many thanks!

K

0 Kudos
4 Replies
RolandoS_Altera
Employee
1,335 Views

Hello K606

 

This is Rolando and will help you with this issue. Can you provide more details of the Ethernet setup that you have? Are you using an HPS emac? Are you working on a custom board or a dev kit? Signal Tap is used mainly when your have a component in the fabric design (maybe a MAC in the fabric), but if you are using the HPS emac, then it may not be very useful.

 

I think you can increase the verbosity of your kernel to see if there is any idea about what is going on?. You can doit from the kernel command line by adding the loglevel=7 parameter.

 

When using HPS emac, the issue that are observed normally are addressed by configs in .config or device tree parameters.

You need to identify which emac is the one that you are using and then identify the node in the device tree that corresponds to this emac.

Then, ensure that the node is enabled and that the correct interrupts are associated with this emac. 

The emac that you are using, need to be connected to a PHY. Check that a sub-node in the device tree also exist for the PHY. This needs node must be referenced in the emac node. In the emac node you need to indicate the interface that will be used with the PHY (rgmii, sgmii). The PHY is controlled by the HPS through a mdio interface (kind of i2c interface) which has an address, this address needs to be indicated in the PHY node.

For the emac and the PHY, the build of the corresponding drivers need to be enabled through the corresponding CONFIG in the .config.

 

Thanks

Rolando

MattG_Altera
Employee
1,277 Views

Are you saying that Linux is hanging during boot? If so what are all the messages that linux does print out before hanging? That could give some indication of the nature of the hang ( e.g. what part of the EMAC initialization is hanging )?

 

If you have access to the ARM DS Debugger, you could step through the driver probe function to locate what software is getting stuck. If you don't have access to the debugger, you could add dev_info() calls in the driver to get more insight to the location of the hang.

From a software point of view, hangs usually indicate no response to a read or write transaction. Has reset to the EMAC been deasserted?

K606
New Contributor III
1,173 Views

Hi @MattG_Altera @RolandoS_Altera 

 

Yes so in this situation, Linux is hanging @ boot.

 

I am not really trying to debug this specific issue - more just wanting to know about what methods to go about using to debug this class of problem.

 

I will look into ARM-DS.

 

Thanks,

K

0 Kudos
Jeet14
Employee
921 Views

Please login to ‘https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


0 Kudos
Reply