06-26-2014 02:19 AM
I am using xilinx linux kernel version 3.8.0 on a MicroZed board.
I am getting exactly the same kernel Panic message as discussed here:
As shown there I have checked for the code in "gpio-xilinxps.c" and found that the suggested fix is where it should be.
The really odd thing is that I am getting the kernel oops in one case only: when I am trying to set the "edge" definition of the GPIO pin from within my application when I start the application from the command line.
Setting the edge definition works perfectly OK when:
- I manually set the edge from the same command line.
- I run the identical application (same binary) from the SDK: run => console => perfect execution, no oops whatsoever.
I guess it can't be the driver because if it were wrong it would fail in each and every case.
Anyone got any ideas as to what may be the cause?
06-26-2014 05:16 AM
Ok, I have done some more experimenting and I have found some extra info:
I tried to be clever and did the setup (include edge definition for gpio pin 54) via an init shell script.
That works and after running it gpio54 is properly configured.
However, as soon as I run my application I get the same Kernel Panic Message, again originating from the xgpio driver.
The really odd thing is that it gets generated when my application tries to write to a completely unrelated memory mapped peripheral. I know for sure that is the point when it is generated because usung the SDK debugger I can make my application run to just before the memory mapped write operation. As soon as I try to step over that instruction I get the Kernel Panic Message.
It is almost as if assigning interrupt capability to gpio pin 54 is messing up the whole system.
I am out of ideas now so any help would be very much appreciated.
06-26-2014 06:04 AM
Well, here is some more info:
If I use gpio pin 9 instead of gpio 54 all the odd behaviour is gone.
I am getting a report of there being an interrupt when I use the poll function when I do not expect one but that is a completely different animal.