as long as the feature creep is kept in check
Quoteas long as the feature creep is kept in checkYes that is the trick. There is so much of "this is easy to do so let's do it" mentality. There is not enough of stepping back and thinking how useful is this and does it complicate matters.Having said that I don't see why an ARM based arduino has to look very different at the C level than we have at the moment. Sure if you want to stray away from the basics it is a whole different ball game but it doesn't have to be.
a typical ARM chip needs quite a bit of initialization code to configure it's I/O, internal buses, and other peripherals.
/* Configure SPI pins */#ifdef CONF_BOARD_SPI gpio_configure_pin(SPI_MISO_GPIO, SPI_MISO_GPIO_FLAGS); gpio_configure_pin(SPI_MOSI_GPIO, SPI_MOSI_GPIO_FLAGS); gpio_configure_pin(SPI_SPCK_GPIO, SPI_SPCK_GPIO_FLAGS); #ifdef CONF_BOARD_SPI_NPCS0 gpio_configure_pin(BOARD_SPI_NPCS0_GPIO, BOARD_SPI_NPCS0_GPIO_FLAGS); #endif #ifdef CONF_BOARD_SPI_NPCS1 gpio_configure_pin(BOARD_SPI_NPCS1_GPIO, BOARD_SPI_NPCS1_GPIO_FLAGS); #endif #ifdef CONF_BOARD_SPI_NPCS2 gpio_configure_pin(BOARD_SPI_NPCS2_GPIO, BOARD_SPI_NPCS2_GPIO_FLAGS); #endif #ifdef CONF_BOARD_SPI_NPCS3 gpio_configure_pin(BOARD_SPI_NPCS3_GPIO, BOARD_SPI_NPCS3_GPIO_FLAGS); #endif#endif
the reason for the overDue's lateness is all software/firmware/support library/IDE issues rather then hardware problems.
accept the board designers default or learn.
So presumably the Arduino IDE will hide all this as well and the average punter will just do the normal 2-3 pinMode()s in setup() and carry on.
Does the designer add a chip and screw those that really need the IO or just make the addition of an XRAM board easy?
Yes that is my point, the hardware abstraction can take place under the hood like it is done now and most users will be non the wiser.
Even today, lots of sketches work on Uno but not Mega.
QuoteEven today, lots of sketches work on Uno but not Mega. Yes that is my point. You can't expect to see someone convert all the libraries ever been written, that is never going to happen. Look how many have not survived the move to IDE 1.0 and correction for that is simple enough.All they need do is to write equivalent ones to the ones that ship, at the moment, with the basic IDE.