Sunday, October 24, 2010

Renesas Devcon2010 was a blast!

For the last eight years or so I've used almost exclusively Atmel AVR chips, and their supporting DataFlash memories. Atmel decided they were not going to deliver DataFlash chips to anyone but "a preferred customer". Keep in mind they told Arrow this, not my company. Arrow has far more volume that I do. If Arrow is not a preferred customer then what am I, and what are you in Atmel's mind?

Mike Scott of Catalyst Sales the regional rep. for Renesas heard of our pain. So he graciously paid my expenses to spend four days at Renesas's four day long Devcon 2010 event near Disneyland in California.

Murray Slovick blogged live from Devcon, while "David L. Jones filmed the highlights:

From my involvement with the Open Source project gEDA and PCB, Dave's focus on those in Day #3 is of particularly interest to me. Pick up the software and do the "Open Hardware with Open Tools" class at home from here. Get the instructions for building the Open Source GCC based tool chain here. Also with the gEDA logo on my shirt, I was put to work manning the Open Source Booth for a couple of hours so that Brandt and DJ of Redhat could spend a bit of time checking out the reset of the exhibits on the show floor on Day #1.

On Day #0, after the nearly eight hour flight, I spent the evening with DJ Delorie, of the DOS port of GCC fame. DJ showed me the Rulz Boards that he designed, that every attendee at Devcon received when they registered, and explained some of the background. For example the LED Blink code was based on Bresenham's line algorithm. That link also shows off the photo-realistic rendering mode of PCB. Did you think those were real boards? They are not.

DJ does a lot of work on GCC as part of his Day Job, and we got into some interesting discussions on 'volatile'. We have discussed volatility of the C keyword volatile before here and here among others in the past.

We got in to the volatile discussion because I commented on a busy loop:


 while( counter-- )
 {
 }

that in AVR's implementation of GCC would have been optimized out of existences. In RX GCC the loop would remain, because you do want the 'counter' function to be optimized "and RX GCC is smart enough to know what is going on there".

For portability add an empty asm("") which is volatile. Note that asm("..." : ...) is not volatile, but asm volatile ("..." : ...) is volatile.

 while( counter-- )
 {
 asm("")
 }

DJ commented on the C standards idea of 'volatile' verses a test-and-set instruction. The standard tells us that there must be explicit read and write operations for such a instruction, which completely negates the purpose of the indivisible test-and-set instruction in the first place.

One thing AVR GCC has over RX GCC is better documentation. DJ referred me to the GCC source code (gcc/config/rx/rx.md and gcc/config/rx/rx.c) to find out how volatile worked, where AVR-LibC documents and FAQ tells us.

Anyone that has used the Atmel AVR for any length of time knows that AVR Freaks is the main community around the parts. Renesas has its own equivalent community called Renesas Rulzs. At Devcon Renesas launched the RX Microcontroller $110,000 Design Contest, which is now the hottest topic on Rulzs.

Something that I found of interest because of having to deal with world wide Paper Pushers (Regulators) is the Outstanding Electromagnetic Immunity of the RX600 Microcontroller Family.

I keep bringing up the RX Family because Renesas intends it to be their "ARM Killer".

Renesas Interactive has Dr. Micro. tips and introductions to the family of parts, and an extensive library of software.

I ran in to Jean Labrosse of Micrium, Inc. again. We bump into each other in person about every five years it seems. Back in 1999 I worked with Jean on his then new uC/OS-II system. If you come across the First Edition of the book, you find my name in the credits. Back then we discussed my idea for a different scheduler, one based on process aging to prevent task starvation, but Jean said things were to far along. Looks like ~ten years later some of those ideas are now in uC/OS-III. I got Jean to autograph my new uC/COS-III book that covers the RX62N board being given away to the attendees first to arrive. This is the same board the RX Contest is based upon.

Something that took me a bit by surprise are the comments I've seen, for example in Dave's eevblog, that people have never heard of Renesas. Renesas is the merger of the old Hitachi (Remember the H8300?) and Mitsubishi microcomputer divisions, several years ago. Also in April of 2010, NEC Electronics and Renesas Technology merge to form Renesas Electronics Corporation.

On the way out of the conference on the last day, I over heard two Renesas people walking by: "What do you think this all cost?" "It was in the seven-figures." Renesas intends to make their presence known in the American Market in a big way.

As Devcon wrapped up at 1PM on Thursday, and my flight back to Pittsburgh was not until 6:45AM Friday morning, I walked the short one mile distance to Disneyland, and spent the afternoon walking around Downtown Disney. Downtown Disney has free admission, unlike the rest of Disney in that area. My frugal nature would just not let me spend $72 to walk around the main park. I rode the free parking-tram to the parking lot, and rode it back, just so I could say I rode a ride at Disneyland. :-) Only money I did spend there was at Jamba Juice drinking a nice healthy Orange Juice Smoothy. I was so impressed that I'd start one of those myself if there was a good location for such a business around here.


In closing here are some Devcon events in the trade press:

Maybe I'll see you at the next Devcon in 2012?