Bill Welliver wrote: >It's certainly true that AVR and friends aren't powerful enough to >run a pike interpreter, but they're also much simpler, smaller and >also use a fraction of the power that any ARM would use. I'm
Well, I admit you caught me off-guard with the powerusage. Checked it just now, comparing an ATtiny461A with the MKE05Z8VTG4: - Running without all peripherals active the ATtiny uses about 3.6mA at 5V and 8MHz, the ARM uses about 3.5mA at 5V and 12MHz. - Power down mode ATtiny uses 4uA at 3V, stop mode ARM 1.9uA at 3V. Doesn't look like ARM is at a disadvantage there. >surprised that you'd be able to get an ARM for less than an AVR... >you must have better sources than I. Well, the ARM ATtiny rival would be this one (8KB Flash, 1KB RAM): http://nl.farnell.com/freescale-semiconductor/mke04z8vtg4/mcu-32bit-cortex-m0-48mhz-tssop/dp/2409294 I can't come up with any convincing reasons to use an ATtiny instead. And if you want USB, try MKL26Z128VLH4 (128KB flash, 16KB RAM): http://nl.farnell.com/jsp/search/productdetail.jsp?sku=2360679 >The chip that they're targeting for this project runs about $12 in >quantities less than 100 and they're selling the board for about $25. >ST sells a discovery board using the same chip as the micropython >developer board, but without the card reader for $14. you can put an >RTOS like nuttx on it. If Pike ran under that, you might be in >business without having to resort to a "micro pike". Well, this time I actually looked for a 1MB flash ARM, and I find this MK22FN1M0VLL12 (1MB flash, 128KB RAM, EUR 6.50): http://nl.farnell.com/freescale-semiconductor/mk22fn1m0vll12/mcu-32bit-cortex-m4-120mhz-lqfp/dp/2340534 I'm actually amazed at the low price. It's about three times the price for the 128KB version. Which, admittedly, makes Pike on an embedded ARM a possibility again. I just checked out nuttx; looks nice, but judging from the functionality it probably does require a high enough clockrate to achieve anything meaningful (and that, sort of linearly increases power consumption). Glancing at Pike I notice that: - The i386 compiled 32 bit binary is roughly 2MB text size and 866KB BSS size. - program.o contains an unexpectedly large BSS segment of 306KB, why? - cpp.o is 153KB vs. language.o being 131KB. It is rather unexpected that the cpp module is larger than the actual language parser. Why don't we use yacc for the preprocessor too; or is it difficult to capture the rules in yacc for the preprocessor? - Which is not say that an embedded Pike could do without the preprocessor, and possibly even without the language parser (it would mean that everything would need to be precompiled). -- Stephen.
