Skip to content

IR Reprogramming #22

@john-klingner

Description

@john-klingner

The ir_reprogramming branch is in a somewhat unfinished state. The revised python script and the new file reprogram.c need to be modified in tandem so as to correctly identify, format, and send; then receive, unformat, and use the relevant data. I was in the middle of doing this when I hit a deeper issue with our use of the linker script to separate user code in to its own section.
In its current state, just reprogramming everything with the Atmel Studio as normal, everything works fine. But the specification of the .usrdat, .usrbss, and .usrnoinit sections are currently commented out. If you move the comment marker down so that just the .usrdat section is included again and recompile, there is an error.
Specifically, printf is broken. More specifically, just printf's in user code. I'm pretty sure this has to do with a discrepancy between where printf thinks the address of the passed string is, and where it actually is. I suspect that this has to do with the code for printf being on the opposite side of the 2^16 address size boundary as our user code, but haven't tested that notion thoroughly. More to the point, I'm not sure what we can do about it. Unfortunately, I don't have more time in the short term to work on this.

Note: this is also separate from the next step, which is to add some smart handling for lost packets to the code to make sure all of the Droplets get the code before they reboot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions