I think that taking the F1 and then doing update to make it compatible with the F401 is the best option.Īlthough I thought that perhaps it would be possible to eventually merge the F1 and F4 folders, I now think in that structure that Libraries would be a big problem. I am not sure where platforms.txt is inheriting the includes paths from.
I think the paths are defined in platforms.txt and it looks like in the F1 tree these have been moved into system/, which is where the compiler as run is looking for includes. The only question I would ask at this time is what is the path difference in behavior between library quotes like #include “libmaple/libmaple.h” compared to #include To get the headers to compile I had to add ‘libmaple/’ to a lot of the library includes. This notice is just done as a courtesy FYI by one of the sheep in the flock. I am also not in the position to take push requests. I am pretty rusty with git so I would not recommend others pulling from this branch, other than to read it. There is a lot more I could post here, but this is turning into a wall of text, and I probably put most readers asleep, so to cut to the chase … That one can replace the F103RB on an existing layout with a F401RE. I think this is what the Nucleo is trying to catch up with. I have boards I laid out to use AVR 15 or so years back, that I can pop a mega328 on and use without changing hardware. At the moment it looks like the F2 and F4 stuff is assuming large footprints and pincounts. Nucleos always will have a 64 pin footprint. I have some abstract thoughts on this that are more modeled on the AVR workflow. While there are similarities, I also want to separate out the F2 stuff. At the moment I want to keep them in separate trees.
This may make it easier in the future to whomever wants to merge the F1 and F4. I chose to base the Nucleo port on the F1 directory tree, because that is a stable and working tree for me. I started to change the includes in core, but it looks like restructuring core to the same paths that are in F1 is a better approach, that way I can diff and search the whole directory. This branch will not compile due to differences in the compiler includes. This only has some of the initial monkey script copies based on the Information I gleaned from STMCubeMx and reading the existing Nucleo code. Since I need to access it on a remote computer, I pushed the current state of the work I am doing to a branch sheepdoll on github.