Forums

WAS:anybody know a good C compiler....

Started by Andre August 16, 2012
first let me thanks everybody for the interresting answers.
This call for another question:
Do you know a good and CHEAP programmer for the ATMEL series of MCU ??
one that support the whole series but more certainly the mid-range 
including the AT89C55WD ??
Many thanks again
Andr�
Le 16/08/2012 13:57, Andre a �crit :
> first let me thanks everybody for the interresting answers. > This call for another question: > Do you know a good and CHEAP programmer for the ATMEL series of MCU ?? > one that support the whole series but more certainly the mid-range > including the AT89C55WD ?? > Many thanks again > Andr�
and BTW wath do you think about the ATAVRISP2 ?? and atmel-studio ?? Andr�
On 16/08/2012 14:04, Andre wrote:
> Le 16/08/2012 13:57, Andre a �crit : >> first let me thanks everybody for the interresting answers. >> This call for another question: >> Do you know a good and CHEAP programmer for the ATMEL series of MCU ?? >> one that support the whole series but more certainly the mid-range >> including the AT89C55WD ?? >> Many thanks again >> Andr�
No sane person would move from one brain-dead cpu, the PIC, to another brain-dead cpu, the 8051. The only possible reason why anyone would want to buy an AT89xxx or any other 8051-based CPU is because they are stuck with two decades of legacy 8051 code, and already have invested in Keil tools (which are vastly expensive, but much better than anything else for the 8051). Atmel's AVRs are a different family, and a far better choice in every way.
> and BTW wath do you think about the ATAVRISP2 ?? > and atmel-studio ?? > Andr�
Atmel's AVRISP programmers are simple and reliable, and fairly cheap, but they are only for programming the chips - they don't do debugging. The AVR JTAG debuggers cost a bit more, but are also fine. I don't know the current prices of these things. Olimex used to make cheaper clones of the JTAG debuggers, but I don't think they do so now. I have mixed opinions on Atmel Studio. Up to version 4, it used Atmel's own IDE, which okay as an editor, but not as powerful as Eclipse, Notepad2, or any good programmers' editor. The debugger worked well enough, as did the simulator and programmer. Versions 5 and 6, however, are based on MS Visual Studio. In my opinion, MSVS is pure bloatware - it is /huge/, even compared to Eclipse, and installs all sorts of bits and pieces that can mess up your system (MS software always does). It is inconsistent with the current trend from most tool vendors (which is to move to Eclipse), stuck in a old-fashioned windows-only world, and generally a bad idea. Having said that, people do seem to be able to use AS6 as an IDE for development. I have even heard of people who think MSVS is a good IDE. I guess there is no accounting for taste. Atmel Studio comes with a full gcc toolchain. You can also download command-line versions for the toolchain for Windows or Linux - which is great for people like me with a mixed development environment.
Le 16/08/2012 14:20, David Brown a �crit :
> On 16/08/2012 14:04, Andre wrote: >> Le 16/08/2012 13:57, Andre a �crit : >>> first let me thanks everybody for the interresting answers. >>> This call for another question: >>> Do you know a good and CHEAP programmer for the ATMEL series of MCU ?? >>> one that support the whole series but more certainly the mid-range >>> including the AT89C55WD ?? >>> Many thanks again >>> Andr� > > No sane person would move from one brain-dead cpu, the PIC, to another > brain-dead cpu, the 8051. The only possible reason why anyone would want > to buy an AT89xxx or any other 8051-based CPU is because they are stuck > with two decades of legacy 8051 code, and already have invested in Keil > tools (which are vastly expensive, but much better than anything else > for the 8051). > > Atmel's AVRs are a different family, and a far better choice in every way. > >> and BTW wath do you think about the ATAVRISP2 ?? >> and atmel-studio ?? >> Andr� > > Atmel's AVRISP programmers are simple and reliable, and fairly cheap, > but they are only for programming the chips - they don't do debugging. > The AVR JTAG debuggers cost a bit more, but are also fine. I don't know > the current prices of these things. Olimex used to make cheaper clones > of the JTAG debuggers, but I don't think they do so now. > > I have mixed opinions on Atmel Studio. Up to version 4, it used Atmel's > own IDE, which okay as an editor, but not as powerful as Eclipse, > Notepad2, or any good programmers' editor. The debugger worked well > enough, as did the simulator and programmer. Versions 5 and 6, however, > are based on MS Visual Studio. In my opinion, MSVS is pure bloatware - > it is /huge/, even compared to Eclipse, and installs all sorts of bits > and pieces that can mess up your system (MS software always does). It is > inconsistent with the current trend from most tool vendors (which is to > move to Eclipse), stuck in a old-fashioned windows-only world, and > generally a bad idea. > > Having said that, people do seem to be able to use AS6 as an IDE for > development. I have even heard of people who think MSVS is a good IDE. I > guess there is no accounting for taste. > > Atmel Studio comes with a full gcc toolchain. You can also download > command-line versions for the toolchain for Windows or Linux - which is > great for people like me with a mixed development environment. >
I have no experiences regarding the 8051 architeture in fact I learned electronics about 40 years ago, worked on computer all the rest of my actve live, repairing them at begining, programing communication ( X25, SNA, ..) after, and finaly adminitsrating Unix servers. And BTW electronic changes a lot since last I touch it. But now as retaired.. Andr�
On Thursday, August 16, 2012 6:06:40 AM UTC-7, Andre wrote:
> Le 16/08/2012 14:20, David Brown a �crit : > > > On 16/08/2012 14:04, Andre wrote: > > >> Le 16/08/2012 13:57, Andre a �crit : > > >>> first let me thanks everybody for the interresting answers. > > >>> This call for another question: > > >>> Do you know a good and CHEAP programmer for the ATMEL series of MCU ?? > > >>> one that support the whole series but more certainly the mid-range > > >>> including the AT89C55WD ?? > > >>> Many thanks again > > >>> Andr� > > > > > > No sane person would move from one brain-dead cpu, the PIC, to another > > > brain-dead cpu, the 8051. The only possible reason why anyone would want > > > to buy an AT89xxx or any other 8051-based CPU is because they are stuck > > > with two decades of legacy 8051 code, and already have invested in Keil > > > tools (which are vastly expensive, but much better than anything else > > > for the 8051). > > > > > > Atmel's AVRs are a different family, and a far better choice in every way. > > > > > >> and BTW wath do you think about the ATAVRISP2 ?? > > >> and atmel-studio ?? > > >> Andr� > > > > > > Atmel's AVRISP programmers are simple and reliable, and fairly cheap, > > > but they are only for programming the chips - they don't do debugging. > > > The AVR JTAG debuggers cost a bit more, but are also fine. I don't know > > > the current prices of these things. Olimex used to make cheaper clones > > > of the JTAG debuggers, but I don't think they do so now. > > > > > > I have mixed opinions on Atmel Studio. Up to version 4, it used Atmel's > > > own IDE, which okay as an editor, but not as powerful as Eclipse, > > > Notepad2, or any good programmers' editor. The debugger worked well > > > enough, as did the simulator and programmer. Versions 5 and 6, however, > > > are based on MS Visual Studio. In my opinion, MSVS is pure bloatware - > > > it is /huge/, even compared to Eclipse, and installs all sorts of bits > > > and pieces that can mess up your system (MS software always does). It is > > > inconsistent with the current trend from most tool vendors (which is to > > > move to Eclipse), stuck in a old-fashioned windows-only world, and > > > generally a bad idea. > > > > > > Having said that, people do seem to be able to use AS6 as an IDE for > > > development. I have even heard of people who think MSVS is a good IDE. I > > > guess there is no accounting for taste. > > > > > > Atmel Studio comes with a full gcc toolchain. You can also download > > > command-line versions for the toolchain for Windows or Linux - which is > > > great for people like me with a mixed development environment. > > > > > I have no experiences regarding the 8051 architeture in fact I learned > > electronics about 40 years ago, worked on computer all the rest of my > > actve live, repairing them at begining, programing communication ( X25, > > SNA, ..) after, and finaly adminitsrating Unix servers. > > And BTW electronic changes a lot since last I touch it. > > But now as retaired.. > > Andr�
If you are already familiar with PIC and running into code size limitation. I suggest you go directly into PIC32. The development environment is a bit more consistent across PIC, than to AVR, MSP or ARM. PIC32 with 512K flash should have plenty of speed and memory to ignore optimizations.
On 16/08/12 16:02, me@linnix.info-for.us wrote:
> On Thursday, August 16, 2012 6:06:40 AM UTC-7, Andre wrote: >> Le 16/08/2012 14:20, David Brown a �crit : >> >>> On 16/08/2012 14:04, Andre wrote: >> >>>> Le 16/08/2012 13:57, Andre a �crit : >> >>>>> first let me thanks everybody for the interresting answers. >> >>>>> This call for another question: >> >>>>> Do you know a good and CHEAP programmer for the ATMEL series of MCU ?? >> >>>>> one that support the whole series but more certainly the mid-range >> >>>>> including the AT89C55WD ?? >> >>>>> Many thanks again >> >>>>> Andr� >> >>> >> >>> No sane person would move from one brain-dead cpu, the PIC, to another >> >>> brain-dead cpu, the 8051. The only possible reason why anyone would want >> >>> to buy an AT89xxx or any other 8051-based CPU is because they are stuck >> >>> with two decades of legacy 8051 code, and already have invested in Keil >> >>> tools (which are vastly expensive, but much better than anything else >> >>> for the 8051). >> >>> >> >>> Atmel's AVRs are a different family, and a far better choice in every way. >> >>> >>> >> >> I have no experiences regarding the 8051 architeture in fact I learned >> >> electronics about 40 years ago, worked on computer all the rest of my >> >> actve live, repairing them at begining, programing communication ( X25, >> >> SNA, ..) after, and finaly adminitsrating Unix servers. >> >> And BTW electronic changes a lot since last I touch it. >> >> But now as retaired.. >> >> Andr� >
> If you are already familiar with PIC and running into code size > limitation. I suggest you go directly into PIC32. The development > environment is a bit more consistent across PIC, than to AVR, MSP or > ARM. PIC32 with 512K flash should have plenty of speed and memory > to ignore optimizations. OT - what kind of hideous newsreader did you use to make such a mess of the quoting in that post, "me@linnix.info-for.us" ? You've added lots of extra lines, breaking automatic re-formatting. Anyway, Andr� - if you have never used an 8051, then don't go there now. Make sure you only look at AVR chips from Atmel and not their 8051 series. I don't think I would look at the PIC32. Yes, it is a Microchip family with a solid CPU (being a MIPS cpu rather than one of their own designs). But it is totally different from the PIC, and there is little to be gained here from the slight similarities in the design environment. The AVR is going to be a lot easier to learn and work with, being a small microcontroller with a lot lower "getting started" barrier.
On Thu, 16 Aug 2012 20:09:56 +0200, David Brown
<david.brown@removethis.hesbynett.no> wrote:

><snip> >Anyway, Andr&#2013265929; - if you have never used an 8051, then don't go there now. ><snip>
I think this is good advice, broadly speaking. The 8051 was incredible in its day. Seriously - a nice chip. But it is seriously hampered in accessing external memory as data. Just take a look at what is involved in something as basic as a memcpy() for example. It is very powerful in bit manipulation, though. So if you don't need much memory for the application and you will be mostly doing single-bit stuff in memory AND on the port pins, then it's not so bad a chip. But in general it has fallen behind what is now readily available. The ONLY reason I used it was that the Cygnal (oh, yes, SiLabs) C8051F061 provided the only 1Msps 16-bit ADC choice. And the cost of the chip was less than a separate ADC would be for any other processor. And it met my needs. But what a pain pulling the rest of the chip along with that data rate! Jon
On Thu, 16 Aug 2012 20:09:56 +0200, David Brown
<david.brown@removethis.hesbynett.no> wrote:

>Anyway, Andr&#2013265929; - if you have never used an 8051, then don't go there now. > Make sure you only look at AVR chips from Atmel and not their 8051 series. > >I don't think I would look at the PIC32. Yes, it is a Microchip family >with a solid CPU (being a MIPS cpu rather than one of their own >designs). But it is totally different from the PIC, and there is little >to be gained here from the slight similarities in the design >environment. The AVR is going to be a lot easier to learn and work >with, being a small microcontroller with a lot lower "getting started" >barrier.
While I agree that Atmel's AVRs are the go-to chips for 8-bitters with a nice deep register set and all (no more single #%!$& WREG!), the OP should be aware that they do use a Harvard architecture (separate address spaces for code and data). Not a huge hurdle, and the compilers make it mostly transparent, but something for him to keep in mind. -- Rich Webb Norfolk, VA
On 16/08/12 20:38, Jon Kirwan wrote:
> On Thu, 16 Aug 2012 20:09:56 +0200, David Brown > <david.brown@removethis.hesbynett.no> wrote: > >> <snip> >> Anyway, Andr&#2013265929; - if you have never used an 8051, then don't go there now. >> <snip> > > I think this is good advice, broadly speaking. The 8051 was > incredible in its day. Seriously - a nice chip. But it is > seriously hampered in accessing external memory as data. Just > take a look at what is involved in something as basic as a > memcpy() for example.
Yes, it was powerful in its day - but its day was some 30 years ago! For the last 15 years at least, it has only existed because it is popular, and it is only popular because it is popular, not because it is a technically or economically good choice (somewhat like the x86 architecture, or most MS software).
> > It is very powerful in bit manipulation, though. So if you > don't need much memory for the application and you will be > mostly doing single-bit stuff in memory AND on the port pins, > then it's not so bad a chip. But in general it has fallen > behind what is now readily available.
It has a few powerful bit manipulation instructions - that's true enough. But how often do you /really/ need single-instruction bit manipulation? Most alternatives can do the same function in a maximum of three instructions - and they run at least 3 times as quickly. So in its day, features like the bit manipulation instructions were special - but they have long since ceased to be exciting.
> > The ONLY reason I used it was that the Cygnal (oh, yes, > SiLabs) C8051F061 provided the only 1Msps 16-bit ADC choice. > And the cost of the chip was less than a separate ADC would > be for any other processor. And it met my needs. But what a > pain pulling the rest of the chip along with that data rate! > > Jon
Yes, that is the one good reason for using an 8051 - there are some manufacturers who want to take a good chip (typically an analogue chip or a wireless chip) and add a processor core. In those cases, 8051 cores are an easy and cheap solution for the manufacturer - despite the frustration it causes for potential customers - because it is "industry standard". The lowest possible common denominator. Fortunately, many manufacturers are moving on to the new "industry standard", Cortex-M cores, which are vastly better in every way. Of course, in 30 years time I'll be complaining about manufacturers that are still using ancient brain-dead Cortex-M3 cores :-)
On 16/08/12 21:19, Rich Webb wrote:
> On Thu, 16 Aug 2012 20:09:56 +0200, David Brown > <david.brown@removethis.hesbynett.no> wrote: > >> Anyway, Andr&#2013265929; - if you have never used an 8051, then don't go there now. >> Make sure you only look at AVR chips from Atmel and not their 8051 series. >> >> I don't think I would look at the PIC32. Yes, it is a Microchip family >> with a solid CPU (being a MIPS cpu rather than one of their own >> designs). But it is totally different from the PIC, and there is little >> to be gained here from the slight similarities in the design >> environment. The AVR is going to be a lot easier to learn and work >> with, being a small microcontroller with a lot lower "getting started" >> barrier. > > While I agree that Atmel's AVRs are the go-to chips for 8-bitters with a > nice deep register set and all (no more single #%!$& WREG!), the OP > should be aware that they do use a Harvard architecture (separate > address spaces for code and data). Not a huge hurdle, and the compilers > make it mostly transparent, but something for him to keep in mind. >
Yes indeed - the AVR core has a few serious design flaws that make it more annoying that it need be. The separate address spaces is one of them, and the limited pointer registers is another (though that is completely hidden by the compiler). Like any 8-bit or 16-bit device, you run into inconveniences whenever you have to deal with greater than 64K address spaces. All these points you can avoid by jumping to 32-bit Cortex cores. However, in comparison to a PIC (or 8051), the limitations of the AVR core are very minor - and they are otherwise nice chips.