NXP's DIP28 ARM chip isn't Vaporware anymore - Page 1
Forum section: electronics / general

author: bingo600
author_rank: Super Contributor
timestamp: September 10, 2012, 04:17:05 pm
content: Yummyhttp://hackaday.com/2012/09/09/the-easiest-way-to-dive-in-to-arm-programming/If they only were to get here in EU landI mean at a decent shipping cost./Bingo

author: HardBoot
author_rank: Regular Contributor
timestamp: September 11, 2012, 01:16:26 am
content: I sooo wish there were more DIP ARM chips... imagine ARMduino... would cost about the same and have the power to drive little DIY consoles/computers.

author: PeterG
author_rank: Frequent Contributor
timestamp: September 11, 2012, 05:32:59 am
content: These look like nice boards.http://dx.com/p/open103z-standard-stm32f103zet6-stm32-arm-cortex-m3-scm-development-board-w-pl2303-usb-uart-module-148517?item=194Regards

author: cwalex
author_rank: Frequent Contributor
timestamp: September 11, 2012, 12:48:14 pm
content: Quote from: HardBoot on September 11, 2012, 01:16:26 amDigilent make some 32bit arduino compatible boards. Not ARM but still pretty powerful, and cheap.http://www.digilentinc.com/Products/Catalog.cfm?NavPath=2,892&Cat=18

author: westfw
author_rank: Super Contributor
timestamp: September 11, 2012, 03:13:24 pm
content: the NXP ARM-in-a-DIP chip has "only" 32kB of flash space. Am I wrong to be worried about that? It's not so much that I expect 32bit RISC code to end up much larger than 8bit code for typical algorithms, but my observation is that there tend to be more complex peripherals associated with the ARM chips, and just initializing everything takes a significant amount of space. (Arduino's "BLINK" sample is about 1k on an AVR, and 5k on PIC32, for example.) Add a larger ISR and function prolog/epilog, and the fact that algorithms code up to similar sizes may be irrelevant to typical microcontroller applications ("Algorithms? What algorithms? I initialize X, Y, and Z and shovel bytes around...")

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 11, 2012, 04:26:24 pm
content: Quote from: westfw on September 11, 2012, 03:13:24 pmCode density on ARMs is fairly comparable to 8-bit, especially with the various Thumb variants. 32K is plenty. 1k/5k for blinking LEDs is just the result of a bad (or badly configured) compiler that includes unnecesary library functions in the final code. Although initialisation can take more space, more complex peripherals may well end up saving handler code, and you're rarely using a large proportion of the peripherals on any given design.

author: nctnico
author_rank: Super Contributor
timestamp: September 11, 2012, 05:01:17 pm
content: Quote from: westfw on September 11, 2012, 03:13:24 pmARM-Cortex uses the 16 bit Thumb2 instruction set which is very compact. Using the thumb1 instruction set I managed to put a TCP/IP stack, BSD socket layer, DNS resolver, DHCP client, telnet client, web server, web client and an application into 32k of flash. Its just a matter of keeping things compact. On a Cortex you don't have to worry about interrupt routines at all. Pushing & popping is completely handled by the hardware. Just feed the interrupt controller an address of a standard C routine and everything works fine. NXP is going to pull in a lot of Microchip's business with this chip.

author: gxti
author_rank: Frequent Contributor
timestamp: September 11, 2012, 05:14:48 pm
content: I'm using 10K out of 32K on a STM32 project right now, most of that is standard library stuff that never gets called that gcc does not trim out. And that's after omitting all the files for peripherals I'm not using. That said, incremental changes to my code don't increase the size much at all, so figuring out how to chop down the peripheral library should reclaim quite a lot of space. If someone knows how to do it with gcc, don't hold back :-)

author: nctnico
author_rank: Super Contributor
timestamp: September 11, 2012, 07:58:44 pm
content: I use the standard C library that comes with MSPGCC which I compiled for ARM. Dunno about the latest version but when I created my version it required editing the makefile. I'm quite sure an IDE (like Eclipse) can turn the seperate files into a single library as well. The key thing to know is that each C library function should reside in its own C file so the library becomes a collection of seperate objects. The linker will only link in the objects which are referenced from the project.In most cases printf causes the inclusion of about 2k of libraries. If you don't need fancy formatting than you can write your own printf function. Here is a starting point:http://www.xappsoftware.com/wordpress/2011/01/17/a-tiny-printf-for-embedded-systems/

author: andersm
author_rank: Super Contributor
timestamp: September 11, 2012, 10:00:02 pm
content: Quote from: gxti on September 11, 2012, 05:14:48 pmUse -ffunction-sections when compiling, and --gc-sections when linking.Using printf and friends can cause the floating-point math emulation libraries to be pulled in. Newlib has special integer-only versions (iprintf etc.) to avoid that issue.

author: gxti
author_rank: Frequent Contributor
timestamp: September 11, 2012, 10:46:28 pm
content: Magnificent! Went from 11254 bytes to 5334 bytes. Very handy because I fried the 32K flash part I was using, and snipped it off and replaced it with a 16K part because I only had one 32K part left and was afraid it might get blown up immediately, too. So now I have breathing room still.

author: Psi
author_rank: Super Contributor
timestamp: September 12, 2012, 12:13:35 am
content: Quote from: nctnico on September 11, 2012, 05:01:17 pmwow, that's pretty awesome.

author: nctnico
author_rank: Super Contributor
timestamp: September 12, 2012, 06:43:42 am
content: Even more awesome is that you don't need any assembly code to start the processor. You can do the entire initialisation in C code. In the beginning of the flash there is an array which has the reset vector (pointer to main), address of the stack and the interrupt vectors. You can use an array of pointers to fill it:Code://Interrupt table. First entry is the stack pointer the 2nd points to mainconst TCortexIrq CortexIrq __attribute__((section("vectors"))) ={.__initial_sp=(uint32_t) _data + 4092,//SP at the end of the memory.Reset_Handler=(uint32_t) main,.HardFault_Handler=(uint32_t) hardfault_handler,.TIMER32_0_IRQHandler=(uint32_t) timer_handler,//.I2C_IRQHandler=(uint32_t) i2c_irq_handler,.UART_IRQHandler=(uint32_t) UART0_IRQHandler,};

author: firewalker
author_rank: Super Contributor
timestamp: September 12, 2012, 07:50:38 am
content: Is ARM PITA using free software (gcc toolchain)? I had a quick look and I thing it PITA to set it up for a particular ARM micro. In GNU/Linux (and for Win32 with WinAVR) for example the AVR family set up is really trivial. I am not comparing of course.An IDE like Keil, CrossWork, IAR is the way to go starting with ARM micros?(I should start a new thread probably)Alexander.

author: ElektroQuark
author_rank: Unknown
timestamp: September 12, 2012, 07:58:41 am
content: Yes, firewalker, please, start a new thread. I'm interested too in the subject.

author: poorchava
author_rank: Super Contributor
timestamp: September 12, 2012, 09:08:14 am
content: Too bad that it's AVNET generally sells bulk quantities. For some stuff they offer lower quantities, but the shipping cost is outrageous ($60 for shipping from EU warehouse to another country in EU?!?!)

author: T4P
author_rank: Super Contributor
timestamp: September 12, 2012, 06:36:04 pm
content: Quote from: poorchava on September 12, 2012, 09:08:14 amWe'll wait for digikey and farnell then

author: westfw
author_rank: Super Contributor
timestamp: September 13, 2012, 01:53:28 am
content: QuoteWell, for half the registers. If the compiler ABI handles the other half, that's swell.I have to admit that AVR is particularly annoying in the amount of code used for ISR prologue/epilogue. A whole lot of vectors, and a whole lot of registers to save for each one...

author: Trigger
author_rank: Regular Contributor
timestamp: September 19, 2012, 06:58:43 pm
content: Arrow has them in stock for US$1.51http://components.arrow.com/part/detail/52563173S13441N7788

author: rolycat
author_rank: Super Contributor
timestamp: September 21, 2012, 02:46:20 pm
content: Quote from: Trigger on September 19, 2012, 06:58:43 pmDoes anyone know why those 'in stock' components have a 12-week lead time?AvailabilityIn Stock:(Ready to Ship) 556Lead Time: 12 Weeks

author: enz
author_rank: Regular Contributor
timestamp: September 21, 2012, 03:15:55 pm
content: Quote from: rolycat on September 21, 2012, 02:46:20 pmIf you would order for example 1000pcs you would only get the 556pcs from stock and have to wait 12 weeks for the remaining 444pcs.Martin

author: mrflibble
author_rank: Super Contributor
timestamp: September 21, 2012, 05:03:21 pm
content: Quote from: PeterG on September 11, 2012, 05:32:59 amTook a look at it just now, but it does seem to be a tad pricey... Certainly compared to some of the boards being pushed by ST, TI et al.

author: Trigger
author_rank: Regular Contributor
timestamp: September 21, 2012, 08:43:32 pm
content: Quote from: rolycat on September 21, 2012, 02:46:20 pmThe Lead Time is how long it takes them to get more. I've already ordered and received 20 chips from them. They shipped hours after I'd made the order.

author: westfw
author_rank: Super Contributor
timestamp: September 23, 2012, 06:25:09 am
content: QuoteOh my. I don't recall seeing the MSRP before. at $1.50, this thing is suddenly more interesting, even if the package is a bit surprising in its wide-ness.

author: saigai
author_rank: Contributor
timestamp: October 03, 2012, 10:10:47 am
content: Quote from: bingo600 on September 10, 2012, 04:17:05 pmThis is the reason I probably won't get to play with a dip arm for a long time.. will have to wait until the Chinese start selling it on ebay with free shipping. Samples from NXP are also out of question.Meanwhile.. thumbs up to TI for sending me free samples of their stuff, free shipping!

author: poorchava
author_rank: Super Contributor
timestamp: October 04, 2012, 06:59:15 am
content: Does Arrow sell stuff in small quantities? What were the shipping costs for you and to what location? Do they deal with private people or do you have to run you own business?

author: poptones
author_rank: Frequent Contributor
timestamp: October 04, 2012, 07:56:21 am
content: I just looked at shipping charges, it seems I could ship up to about 50 of these via priority mail (about a week for delivery once I get them) to aus for about $20. If someone wanted to make a group buy I'd be happy to help out