Let’s play with numbers
The study covered 88 CPU projects.
16 (18%) CPU have no license text and no license header in the files. To my opinion that makes them unusable, anyway most of them are also not active. In any case it show that the developer didn’t really care about how other could use his work.
At least 47 (53%) appear to be inactive. Most looks like design dropped here and forgotten. Well that’s life, but if you start a project with such core, you will end-up being your own support… not a comfortable place.
On the other hand, 24 (27%) looked really active with 13 (14%) being marked as ‘stable’ (whatever that means).
Let’s look at the category, I must admit that I didn’t fill the category for some inactive project as I didn’t look into enough detail to choose one. Also few projects are clones of legacy architecture, well this could be a category on its own…
So we have:
- 20 (22%) embedded CPU
- 1 (1%) high end CPU
- 3 (3%) portable CPU
- 41 (46%) tiny micro-controller
- the rest being unclassified for various reason stated above.
Well I guess my limit between embedded CPU and portable CPU is kind of subjective, I would say that embedded CPU don’t need and MMU nor 64bit data path.
Anyway That’s more embedded CPU than I though, I mean I had the impression to fill only tiny micro-controller, as many small project driven by one developer are just that anyway.
29 (32%) uses GCC or provide patch to GCC. (Some CPU are clone so they kind of have it for free). And most of the embedded CPU have gcc support, and all portable and high end CPU have too.
And most tiny micro-controller don’t use GCC, except mainly AVR clones. But that’s normal, most are programmed in assembly anyway, others are so simple that writing a compiler would be longer than writing the CPU !