chipKIT® Development Platform

Inspired by Arduino™

advanced programming

Created Sat, 07 Dec 2013 18:36:44 +0000 by laputa


laputa

Sat, 07 Dec 2013 18:36:44 +0000

Given the power of the CPU, I have two questions related to MPIDE.

1 Is it possible to do in line assembler instructions with the MPIDE tool? (An example snippit with correct syntax would be great)

  1. Is there a way to set up an interrupt service routine to use the shadow registers as opposed to pushing and popping the stack?

majenko

Sun, 08 Dec 2013 00:10:26 +0000

  1. yes, it's just GCC, so the standard GCC syntax works fine: [url]http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html[/url]

  2. All things are possible, some more easily than others ;) Getting the shadow registers may mean some tweaks to the bootloader to enable them in the config registers. I personally haven't had a go at them yet, but it should be possible, yes.


caroper

Sun, 08 Dec 2013 06:44:57 +0000

I was under the impression that allocating an interrupt Priority 7 automatically used the shadow registers, I may be mistaken but, I don't recall them having to be enabled in Config.

That said, I have only ever used them on custom hardware coded via the ICD3, never with chipKIT or any other bootloader.

Cheers Chris


majenko

Sun, 08 Dec 2013 11:04:27 +0000

The bits FSRSSEL<2:0> of DEVCFG3 define which interrupt levels ("X and above")are assigned to shadow sets. I don't know how that is set up in the standard bootloader, so you may need to change it to suit your own uses.