-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Microchip vendor files migration process #20457
Comments
After some thoughts, here is my proposal regarding this migration:
|
Regarding step 2 & 3:
This is the same AFAICT on new vendor files. This is why I propose to introduce a new header, which will be generated though a script. |
About the wrapper, I was thinking about something like
On new header, Microchip slightly change the new of every registers inside a peripheral. I think such macro will allow us to avoid some pain. |
Microchip is right in their decision to drop bitfields that is to much comfort. The only positive thing about bitfield removal is that this might make more people aware that changing a bit often is a register read modify write ( and since they a usually marked volatile each bit modification has their own). But for that they would not need to also drop the structures just the mapping to addresses. |
Hopefully, all those macros will be there for a given time. This way, users will have time to adapt their out of the tree code. |
maybe they just want to kill of c development by droping the wins of 15 year and go back to 1990s C |
I think, this is related to their recent migration to MPLABX and their will to unify SAM0 to PIC32. |
sounds little like they dislike their customers |
It is time again to upgrade our Microchip vendor files for our supported SAM0 devices. Unfortunately this time, things will be a little bit more trickier than before as Microchip decided to rework their vendor files:
So why should we do it ?
Because bug fixes, new silicon version added, but above all, to be able to add support for new families of microcontrollers from Microchip.
Migration plan:
Create a dedicated branch on RIOT-OS/RIOT repo, push all changes there kindly, and create a gigantic PR that will be
painfulfunny to review.Obviously, this is something I'd like to avoid.
Proceed by smaller steps across several releases even if it will increase the overall amount of work.
To do so, I propose the following steps:
cpu/sam0_common/include/vendor_ng
(these will NOT be included in compilation yet).I am well aware, this will add significant amount of work but IMO, this is the price to pay to keep PR size reasonable. This will also prevent issue for people maintaining boards outside of the tree through
EXTERNAL_BOARD_DIRS
For those curious about the changes, you will find all Microchip atpack here
Download the archive of any supported family, and compare the content of the
include/
folder againstcpu/sam0_common/include/vendor/XXXX
Obviously, all of this is debatable, and I'll take all ideas to reduce this burden.
The text was updated successfully, but these errors were encountered: