Xenomai booted with the 2.6.33 kernel on BeagleBoard!
I built the below 2.6.33 kernels...

   * No Angstrom patches, no Adeos patch - - it booted, I noticed that
     /proc/interrupts showed no interrupts occurred on IRQs 7 or 378
     (SD card Detect). The 2.6.31 kernel showed 2 on each IRQ just
     after boot.
   * No Angstrom patches, Adeos patch, but Xenomai disabled - - it
     booted. Still no interrupts on IRQs 7 or 378.
   * No Angstrom patches, Adeos patch, and Xenomai enabled - - it
     booted! :-)   Still no interrupts on IRQs 7 or 378.

Something obviously changed in the kernel between 2.6.31 and 2.6.33 to suppress the IRQ 378 interrupts that occurred at boot time. This change *may* be the reason that Xenomai works on the Beagleboard at 2.6.33, but not at 2.6.31.

I suspect that the Adeos patch may have trouble handling Level 2 interrupts coming through a twl4030 device. I know that it is an OMAP design practice to route the SD/MMC Card Detect interrupt through this device. The device also controls several voltage regulators supplying power to the board and OMAP chip. Overvoltage/undervoltage/thermal alerts may also be originated by this device.

The easiest way to test the twl4030 interrupt handling may be to use the SD Card for a removable file system (not root). If the file system automounts when the SD Card is plugged in, that would indicate that the twl4030 interrupts are being handled correctly. From the available documentation, the micro-SD card slot on the IGEPv2 should be able to be used for this testing.

My current dilemma is to figure out how to move the pieces of Angstrom that I want from the 2.6.32 kernel system to the 2.6.33 kernel ahead of the Angstrom train. :-(

Many thanks for you help Gilles.

Now that I can see Xenomai running, is there any documentation that describes useful things I can poke to obtain Xenomai state, status and statistics? (for example the meanings of the data in the /proc/Xemomai directory)

Regards,
Bob Feretich

On 7/20/2010 2:24 PM, Gilles Chanteperdrix wrote:
Bob Feretich wrote:
   I have downloaded the 2.6.33 omap kernel and I 'm starting to work
with it. I'll write again when I have a clean boot of the vanilla kernel
and tried to boot again with the Adeos patch.

I think that I figured out how to tell OpenEmbedded to build it.

When you display /proc/interrupts on the IGEPv2, do you see interrupts
occuring at IRQs greater or equal to IRQ 384?
Do you see the same number reflected in IRQ 7?
I see this:
            CPU0
   7:     104068        INTC  TWL4030-PIH
  12:          4        INTC  DMA
  37:       1408        INTC  gp timer
  56:     313486        INTC  i2c_omap
  61:          0        INTC  i2c_omap
  74:         42        INTC  serial
  77:         93        INTC  ehci_hcd:usb2
  83:         66        INTC  mmc0
  86:         12        INTC  mmc1
  92:          1        INTC  musb_hdrc
336:        809        GPIO  eth0
378:          0     twl4030  twl4030_usb
384:          0     twl4030  mmc0

I believe the interrupts tagged "twl4030" are chained interrupts. Having
looked at the code, these interrupts are not chained the usual way
because they require i2c communication, which in turn requires a context
allowed to sleep, so they are dispatched by a kernel thread.


_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to