I am looking for a good microcontroller to learn electronics.
I want develop on linux, and I wish there is a good linux supported simulator.
I want use C language.
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
There is good Linux support for many microcontrollers:
The SDCC compiler supports 8051, Z80, HC08 and more.
TI's MSP430 microcontrollers are supported with GCC and mspdebug. See, http://hackaday.com/2010/08/11/how-to-launchpad-programming-with-linux/
I am a big fan of the ARM-based microcontrollers; regular old GCC works (I use CodeSourcery's free compiler), regular old gdb works (as do all the gcc/gdb frontends), and JTAG interfaces such as the Olimex are inexpensive and work beautifully.
I used to be a big fan of PICs but having the development system stuck on a Windows machine just wasn't cutting it anymore. I know about sdcc and other PIC compiler efforts but let's face it, why mess around? Get something that works, has a large support base and doesn't require you to goof around. An LPC2103 is inexpensive (2101/2102 being cheaper), has a decent amount of memory and resources and is offered in an LQFP footprint which is relatively easy to work with. There are dozens of ARM7 or Cortex M3 based microcontrollers on digikey in LQFP packages. (there are also hundreds more if you are willing to work with exposed pad or BGA packages.) What you want depends on how many IO you're after, which peripherals and so on. NXP, ST Micro and TI all offer parts though digikey that are in stock right now, and I'm sure there are many more if you want to check mouser, arrow, etc.
I really like the ARMs, but if they're not your bag CodeSourcery also offers gcc for MIPS (this should include PIC32), NIOS (for your CPU embedded in an FPGA), and SuperH based microcontrollers. I have no direct experience with any of these, as I'm more than happy with ARM. You don't need to use their gcc either; you're free to build your own compiler, but I've been really happy with them and plug them whenever I can. They put out a free version that technically has no support, but they are receptive to queries from hobbyists and their mailing lists are great.
I don't know of any quite good simulators - because the few free simulators I know of are not updated for new MCUs. For AVRs we have SimulAVR, and for PICs we have gpsim. A few manufacturers, like XMOS, make an effort to provide tools for multiple platforms. Most do not include simulators, but theirs should.