Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable interrupts for jump to bootloader when using EIND #12

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

hadleyrich
Copy link

I was having trouble with the API using an x128a4u and discovered that interrupts were affecting the jump into the bootloader.

@alexforencich
Copy link
Owner

Interesting. I'm not certain why this would be necessary, though. Do you know if EIND is getting clobbered by the ISR or if xboot changing EIND is causing a problem in the ISR? It should be possible to tell by looking at the assembly in the ISR to see if it is either modifying EIND and not restoring it or if it is using EIJMP or ECALL without properly initializing EIND. The jump into the ISR itself should not be a problem as JMP supplies the complete address. You can also try setting EIND to a nonsensical value in your code somewhere to see if that breaks the ISR.

@hadleyrich
Copy link
Author

Hi!

Thanks very much for sharing xboot!

Hopefully I can be helpful, though I'm a little over my head so I'm not sure of the answers to your questions at this point, I'll try and figure it out.

I think it was jumping into the bootloader but failing to jump back again, at least that's what my debugging showed at one point.. I'll try and get some time to have another look at it when I've got my project out the door.

Cheers.

@alexforencich
Copy link
Owner

Could you possibly email be the assembly listing for your program? I can take a quick look at it to see if I can figure out what might be going on. For gcc, I think it is an lss file.

@hadleyrich
Copy link
Author

I can but I'll try and produce a test case which shows it and give you some more info once I've met the deadline that is looming for me currently.

@rknoll
Copy link

rknoll commented Sep 17, 2014

hey, we just had the same issue and solved it exactly like you.. didn't investigate further though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants