From: Ken S. <ksa...@in...> - 2012-10-17 23:47:26
|
Hi Chrysn On 18/10/12 02:36, chrysn wrote: > for peripherials, there are three different topics as far as i am > concerned: > > * regular peripherials > > peripherial code will not be exchangable in general. for the efm32 > platform, i'll almost exclusively use common files and ifdef around > the subtleties -- but there is pretty much no difference between the > different families there at all afaict. Agreed - I'd be most surprised if there were *any* commonality in code between different platforms. There should though be at least some within a particular family. I've done a fair bit on the STM32 now. Between different subfamilies some peripherals have identical code while others share quite a bit. I've pulled out the common stuff to a separate directory and included it where appropriate. The result is quite satisfying. I avoided ifdef mainly because the amount of commonality is quite large and this would make the code rather hard to read. > > * common peripherials > > for more particular peripherials like usb, we should have a close look > whether we found common ancestry. arm producers might have bought ip > cores from third parties and not talk much about it. if we find > parallels, chances are it's really the same core and we can be done > with ifdef-ing again. > > * abstractions > > arduino has its digitalRead and digitalWrite -- whenever such an > abstraction gets added, we should agree on what functionality can be > provided in general and for what it's not feasible. That's where the unification would occur, but there again I wouldn't expect a great deal. Maybe just some basic set/reset/read/write. Haven't looked closely at USB yet but it seems focused on one STM32 subfamily as far as hardware drivers go. The rest is fairly generic. > > neither of that is what i'm aiming for with my generalizations, though > -- i try to focus on what's common *because it's a cortex*. in that > matter, i'm just overhauling my generalizations after i found out the > irqs are already defined for most platforms. > > best regards > chrysn > cheers, Ken |