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

Build and execute ROM and Runtime as flat binaries #21

Merged
merged 5 commits into from
Nov 18, 2024
Merged

Conversation

swenson
Copy link
Collaborator

@swenson swenson commented Nov 15, 2024

Rather than from the ELF files.

We also build the apps and prepend the correct TBF header, and pack that into the binary as well.

This meant we had to copy in the TBF header file from elf2tab.

We now build the runtime binary twice: once to get the initial size, and then we re-compile / re-link it with the correct offsets so that the apps are loaded as close to the kernel as possible. This helps minimize the RAM requirements.

This fixes a bunch of small bugs related to setting the stacks and capsules correctly in the board file so that the example app will actually execute.

There are some bugs related in the app related to either formatted printing or the timer interface with the capsules that I haven't 100% debugged yet.

Misc fixes to stack size to get app running

There seems to be a bug in the alarm or timers that causes it to hang if
we ask for the frequency or if we sleep too long.
@swenson
Copy link
Collaborator Author

swenson commented Nov 18, 2024

Thanks!

@swenson swenson merged commit 3d3fe40 into main Nov 18, 2024
1 check passed
@swenson swenson deleted the flat-runtime branch November 18, 2024 16:56
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.

2 participants