Content originally posted in LPCWare by fjrg76 on Wed Mar 04 13:22:19 MST 2015
Talking to myself I was wondering whether it worths the effort to replicate the Arduino's API with this microntroller (or any other alike).
Arduino has million of users worlwide, beside zillions of money in infraestructre, but it's the worst tool ever to learn embedded systems. The platform teachs you the most aberrants ways of programming. Everything you've tought not to do so, you apply it in here:
-- Extensive use of global variables
-- Functions without arguments
-- A project of 5000 lines in a single file
-- Too slow
-- Debugging through pins or UART
-- and so on
This microcontroller in particular, LPC1227, cannot be compared with ATMega328 in any sense, starting off with the price, nor its capabilities. So the question arises again:
Does it worth the effort to replicate the Arduino's API?
I don't think so. Anyway the newbie is not aware of the core's power, so for him/her it's the same that the core is an ATMEGA328 or a LPC1227, or any other alike. However, for the intermediate and seasoned user, the core matters, and the related tools as well.
So, why not to have a clean and better (in every sense) API that reflects the purpose of that hypotetical platform?
-- 32 bits core
-- Step debugging (through GDB)
-- RTOS ready
-- Multifile projects
-- Truly C++ API and code's projects
-- Low power comsumption
-- LPCXpresso is free up to 256KB (enough for most projects)
-- LPC programmers are cheap
What do you guys think?