I did both, first I wrote my own makefile and directly accessed the registers for a simple LCD application. Once I got familiar with how the device worked I switched over to the HAL libraries. I found that eliminated a lot of the magic and hand waving in my understanding. While there is a small memory penalty for using the vendor libraries, I found that it was basically irrelevant. The ARM parts have so much memory and are so fast that (code-wise) you can do pretty much anything that you please without issue. The only downside is that a first sight vendor libraries tend to be somewhat "ugly" and cumbersome; this goes away once you get familiar with them and the part. I'm doing ethernet development currently, and I'm quite glad to have the libraries sitting between me and the silicon (which has a half mile long errata sheet) On Friday, July 14, 2017, Neil wrote: > So I've found that when I moved to 32-bit processors, thing's got > complex quickly. And not difficult complex, but there were just a lot > more things to setup and initialize. However, all of the big 32-bit > processors appear to have configurators to ease life for you, and with > that comes libraries to abstract a lot of the low-level bit-fiddling > that's required to do some of the simplest things. It makes life MUCH > easier, but then too, using the abstracted library routines feels > somewhat like using a new language. > > I did find such a configurator for the SAMD devices, but haven't used it > yet. So far I've only used Harmony for PIC32's and Cube for the STM32's. > > Cheers, > -Neil. > > > > On 7/14/2017 4:27 PM, James Cameron wrote: > > On a whim in spare time, looking at atsamd21g18 on the Adafruit > > Feather M0, and wondering how practical it is to build anything > > without using the extensive vendor header files. > > > > Have hand crafted a .c, .ld, and Makefile, and about ready to > > experiment my way through initialisation to get a pin blinking. > > > > But that reveals a complexity threshold of dependencies that I've no > > excuse for; why gcc-arm-none-eabi when my forth could emit ARM > > instructions in a .bin file? Why this urge to bare metal build? > > > > -- > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > --=20 Jason White --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .