You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This first milestone will be to reproduce at least the same subset of functionality as CMSIS.
While the functionality will be the same, this will not be a translation of CMSIS but rather a fresh rewrite in Zig with a (hopefully) improved and expressive API.
Every function or register definition must be documented with the document number combined with the section and/or table where the information was found for cross-referencing purposes.
The document number including the version is there.
The resulting function and/or register definition should match the architecture reference manual from which it was pulled. CMSIS changed some register names and this rewrite should follow the reference manuals exactly. If there is a deviation from this convention, it must be documented and justified in a comment.
A list of functionality that must be matched will be checked off here:
Register Addresses
Interrupts: enable/disable, priority masks
Get special registers/ status registers
Core instructions that require assembly (NOP, WFE, etc)
Config file to select architecture
Data and instruction cache control
Memory Protection Unit
"SysTick" aka Periodic Interval Timer
Clock frequency?
Tightly Coupled Memory
Further functionality will be filed as separate issues.
The text was updated successfully, but these errors were encountered:
justinbalexander
changed the title
Match basic CMSIS functionality
Match basic CMSIS functionality for v7m
Jun 28, 2020
This first milestone will be to reproduce at least the same subset of functionality as CMSIS.
While the functionality will be the same, this will not be a translation of CMSIS but rather a fresh rewrite in Zig with a (hopefully) improved and expressive API.
Every function or register definition must be documented with the document number combined with the section and/or table where the information was found for cross-referencing purposes.
For example:
The document number including the version is there.
The resulting function and/or register definition should match the architecture reference manual from which it was pulled. CMSIS changed some register names and this rewrite should follow the reference manuals exactly. If there is a deviation from this convention, it must be documented and justified in a comment.
A list of functionality that must be matched will be checked off here:
Further functionality will be filed as separate issues.
The text was updated successfully, but these errors were encountered: