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

Light cleanup prior to diving into full Arm-v6m compliance #3

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

Conversation

rbsexton
Copy link

@rbsexton rbsexton commented Jan 2, 2019

These are cosmetic and functional changes.

Cosmetic

  • Add an emum so that its clear which registers get pushed during stacking.
  • Switch to stdint.h declarations to eliminate questions about sizes.
  • Adjust the math on Disassembly output for branches so that addresses match those displayed in other compilation tools.

Functional

  • Make the address of SRAM selectable at compile time. The manifest constant address (0x4000_0000), is reserved for peripherals on Cortex-M devices, so thats not a good choice. The standard memory map defined for Arm-6m puts SRAM at 0x2000_0000.
  • Add support for the NOP instruction. Thats used for memory alignment by some compilers.
  • Initial support for SVC/SWI - host-side code is next.

rbsexton and others added 26 commits January 1, 2019 15:22
…sn’t look like an unknown opcode in the debug dissassembly.
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.

1 participant