Beaglebone Black GPIO Interrupt, and minor JTAG/gdb issue

Steve B sbattazzo at gmail.com
Tue Jun 23 14:09:38 UTC 2015


Thanks, Chris!

On Mon, Jun 22, 2015 at 1:36 PM, Chris Johns <chrisj at rtems.org> wrote:

>
>
> On 22/06/2015 3:13 pm, Steve B wrote:
> > Hello all,
> >
> > I'm playing around with getting an interrupt service routine going on
> > Beaglebone Black.
> >
> > I am aware that Ketul with GSoC is working on the GPIO code but for now
> > I have just decided to manually peek and poke the registers from my
> > application code, as I didn't see anything IRQ related yet in the patch
> > on the github site for that effort.
> >
> > Here's what I have done:
> > 1. Set GPIO1_13 as an output, physically jumped GPIO1_13 (P8, 11) to
> > GPIO1_12 (P8, 12).
> > 2. Set bit (1 << 12) to the GPIO_IRQENABLE_SET_1 and
> > GPIO_IRQENABLE_SET_0 registers for GPIO1, per AM338x technical reference
> > manual.
> > 3. Set bit (1 << 12) to the GPIO_RISINGDETECT register for GPIO1.
> > 4. Installed an ISR to GPIO number 98 or 99 which is the IRQ for GPIO1.
> >
> > I hacked this into the "ticker" demo from examples-v2 and added a line
> > of code to toggle GPIO1_13 in the periodic task to stimulate the
> interrupt.
> >
> > I may be close but something is not quite right here.
> > Whenever the interrupt happens, the CPU resets and runs the uboot that
> > is stored on its eMMC instead of going to my ISR. Any thoughts on why
> > that might be?
> > Attaching my code here also. Sorry it's kind of an ugly hack for now, I
> > just punched a few lines of code into the ticker example.
> >
> > And an unrelated note, anytime I do a "load" and run my application
> > through GDB, if I try to halt and load again, the CPU always starts from
> > uboot on the eMMC and I have to halt and load one extra time. This is
> > with flyswatter2 and OpenOCD. Anyone experienced this?
>
> I typically reset and reload each debug cycle.
>
> With the Beagle Board XM I used when Ben and I played with this stuff a
> while ago I loaded the MIO code from uboot with OpenOCD via GDB. The
> details can be found here:
>
>
> https://git.rtems.org/rtems-tools/tree/tester/rtems/testing/bsps/beagleboardxm.mc
>
> The GDB fragment of interest is:
>
>   target remote kaka:3333
>   mon beagleboard_xm_mlo /path/bb/uboot/u-boot/MLO
>   load
>   b _Terminate_CPU_Fatal_halt
>   continue
>
> And the OpenOCD TCL for beagleboard_xm_mlo can be found here:
>
>
> https://git.rtems.org/rtems/tree/c/src/lib/libbsp/arm/beagle/simscripts/bbxm.cfg
>
> Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20150623/fb2b367b/attachment-0002.html>


More information about the users mailing list