Developing/compiling software

In message , Jon Kirwan writes

Their after sales service is as good or better than most. See comment at end.

Just go on the Keil forum. As 80% of the professional world use Keil that is a recommendation in itself. Besides I doubt if other customers will talk to you.

Get the eval version of the compiler.

Correct yet still you ranted about it a few months back. You were going to show us all the results of your SDCC -Keil comparison tests.

Wrong. Keil was bought by ARM. However that was just a change of ownership. For the 8051 (and 166) nothing else changed. As they were bought by ARM the changes were to the ARM tool chain.

Keil can still support all their 8051 compilers going back 20 years. As those of you here will know, at christmas 2008 they even sorted out a dongle problem for a version (rebadged as Franklin) that was 18 years old...

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H
Loading thread data ...

The OP needs to comment. And being "as good or better than most" doesn't necessarily say that one shouldn't see how it applies to their specific circumstances. In some cases, the norm is pretty bad. It's worth some investigation, unless it's already known at the outset that it doesn't matter. Which was my point.

The OP still needs to comment here. But the Keil forum is an obvious place to check out, I agree. Band wagon propaganda isn't meaningful, though. Just because 80% of the professional world uses Microsoft compilers for Windows development doesn't mean it's always the more appropriate choice, either. Nor should it be the case that competition isn't supported. Few markets are served as well by single suppliers than if there are several viable ones. Competition is good.

Now that's just you being sour and grumpy.

That, too.

Yes, when I am ready. Turns out, I have become more fully engaged in work than I'd imagined and although I have plenty of raw data, it will take some time (and thought) to pull it together for a post.

Which matters, as experience has done little but to inform me about. It can be good or bad, but rarely indifferent. Of course, I have no idea about what the changes have and have not meant. So I'll leave this for you to rant about. My point was to admit my ignorance. If you want to roll around in that mud, have at it.

People matter. Especially those near the top, whose attitudes and goals impact everyone all the way down to those on the phone lines.

Oh, cripes. A segue back into the dongle or not-to-dongle argument. You and I will never agree on this point, either. You are simply wrong there, too. Oh, well.

Someday, we should meet and have lunch. If we still couldn't find common ground or common worldviews, I'd at least be able to enjoy watching you simmer over old grievances still remembered too well.

Jon

Reply to
Jon Kirwan

In message , Jon Kirwan writes

No, I will talk to him but most developers are doing commercially confidential stuff and time is money.

:-) We did not expect you to produce any evidence.

You made the point. I just clarified your FUD

Stop digging a hole and talk about something you have some idea about.

Though we do know that SDCC has changed the whole development team more than once... or is that why you were trying to sling mud at Keil?

I know

Except I proved your entire argument WRONG with a live case in this very NG not 8 months ago.

I know who to have a s a referee.

No you I have a life.... Remember I do know other people who do know you. I suggest you look in a mirror and mix with people a bit more.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

In the country I'm living - PIC's are really hard-to-get ,and at a price. I started looking at Ebay and found the cheapest option available which can give me 32 I/O ports, and the best offers I could get was on the AT89S52, and this is how I ended up with the ATMEL product

I definately agree with a few posts that PIC might be easier and maybe cheaper, but like I said, I had to look at availability/price first, and now I must move on to the next step, which is compiling the code I already written over the past 2 months - without having any compiler or hardware. My programmer arrived on Friday and as soon as I made up my mind on a compiler, then I can test(compile) the code which is currently only in a .txt file, and hope there is no compilation errors.

My AT89S52's should arrive within the next 2 weeks, and only then will I see if the past 3 months was a total waste of time.

Thank you for all the input Much Appreciated Lodewicus Maas

Reply to
Lodewicus Maas

Best of luck. The AT89 is a fine chip for some uses. I'm not sure why you haven't tried to compile the code, though. As Chris has mentioned, there are demo versions of commercial c compilers that are available. And besides that, there is SDCC which you could also do some trial compilations with. I'm not sure if the Keil IDE can do this (it may work, just fine) but Silicon Labs has an IDE as well for their 8051 core cpus and their IDE (and SiLab's web site discusses this in an appnote) can integrate SDCC into it, so you should be able to run some tests that way. There are some slight differences in syntax for ports, if I recall, but that's also documented. At least you could have tested for compilation before receiving parts.

I am gathering now this may be a hobby project, though you still haven't said. Best of luck, either way.

Jon

Reply to
Jon Kirwan

Ironic, coming after suggesting you'd need a referree to meet. Still, I'm sure you meant this last part in a positive way so I'll just say you shouldn't worry. Just met with my Representative over lunch, a few days ago, for example. Plenty on my plate in that regard. No pun intended.

Jon

P.S. I'd still think it would be helpful to others if you'd expand even slightly on your earlier comment about SDCC. I'm curious and I did check to see what I could find about what few words you offered, found something that seemed close, and if so it seems to be a bit out of date.

Reply to
Jon Kirwan

In message , Jon Kirwan writes

It was a recommendation from people who know you.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

In message , Jon Kirwan writes

There are demo version of the Keil and IAR. Though I would suggest Keil in this case as a first stop. It is the one area where they really specialise.

Not worth the effort. Start with Keil

Again not worth the effort. This is a lot of work for a system that will not even come close to Keil

The Atmel stuff will be set up to compile with the Keil extensions. You will have to port for the SDCC.

BTW there are some very cheap dev kits with the 4K version of the Keil. However....

The code size limit is not the killer here. It is the DATA space. As Keil does aggressive data overlaying in the DATA space you can get it to compiler programs that the SDCC can't get to fit in the space.

I have seen cases where 119 bytes of DATA was compiled into 23 bytes of DATA space. So in that case the SDCC would run out of space and the 2K eval Keil will compile and run the app.

That is without the optimisation of the code the Keil can do compared to the SDCC.

Then there is the fact the Keil is VERY heavily tested compared to the SDCC and WILL do what it says.

The you have the fact that most companies, like Atmel, write their code to be Keil compliant (not SDCC compliant)

As Jon pointed out changing development teams can have an effect. Whereas the Keil has had a single team all the way though SDCC has AFAIK changed complete development teams several times.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

I think it took me a half hour to follow the instructions.

True. But it's been minor issues so far, in comparing them. Some of the differences are talked about in the SiLabs appnote.

The OP has yet to say what this is all about and money may yet be an issue. Hard to say.

SDCC is probably not the direction to head if you are expecting the kind of sole-source support phone numbers and email you get when you lay down some cash. No doubt.

Jon

Reply to
Jon Kirwan

Obviously, not as well as you imagine. In any case, this whole thrust of yours is little other than an attempt at being personal. Which is exactly how you started with your responses here, again. Rather than dealing with a direct question, the answer to which may help others if you'd cared to.

Oh, well.

Jon

Reply to
Jon Kirwan

OK. So Keil is NOT an option anymore . The Demo/Eval version can only compile up to a max of 2K - which I reached already. I then requested a quote from the local suppliers of Keil software, and the quote is ... . . I hope you're sitting ... . . . R 39,335.81 ( this is equal to 5,326.93 USD) - for a single user license . . My whole outlook on life is "value for money", and I don't invest in anything if this requirement is not met, but unfortunately there is no way in which I can justify this as a hobbiest . I'm now busy looking at ImageCraft . The "doors" keep on closing, but eventually I'll get there.

Reply to
Lodewicus Maas

ImageCraft does not make an 8051 compiler - the make (amongst others) an AVR compiler.

For hobby use, you have two options. You can use SDCC for free, or you can drop all thoughts about using the 8051.

The Atmel AVR devices are a much better choice for most uses - 8051 is good when you have a history of using them, or when you are using specialised chips with an 8051 core.

If you go for the AVR, you have several choices. ImageCraft is a good, cheap, user-friendly compiler. WinAVR is a project based on avrgcc and thus is entirely free. There are a fair number of other compilers available for the AVR, some low price and some high price - far more /realistic/ options than for the 8051, especially for hobby or low-budget use.

Reply to
David Brown

In message , Lodewicus Maas writes

It should be half that.....

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

Or use the 2K Keil or the 4K Keil if you can find one. These can compile programs the SDCC can't. However for hobby use the Keil is expensive but then it is not aimed at hobby users.

for commercial use one of my customers worked out the SDCC cost them about 5K in time and resources. So free to buy does not always mean completely free. Though for hobby use time is free.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

Have you thought about using an AVR or MSP430 or something less brain-dead (for which free/cheap tools are available)?

--
Grant Edwards                   grante             Yow! This PIZZA symbolizes
                                  at               my COMPLETE EMOTIONAL
                               visi.com            RECOVERY!!
Reply to
Grant Edwards

Last I checked (April, this year) Keil limits itself to 0x800 bytes (2k) without registration and to 0x1000 bytes (4k) after that. So you _may_ be able to boost this to 4k if you register with them. (I don't know their policies about registration in your country, though. So you will just have to find out about it, I suppose.)

But if you feel that you will also exceed 4k, then... well, perhaps Keil is now off the table for you.

That's more than I would have expected. I'm very sorry the situation is like that, for you. I mean that very sincerely.

I still don't know what code size you expect in your project. And you still have a few commercial vendors to check out (like IAR.) I don't believe IAR offers more than Keil for a trial version, though I really don't know about it. But if it your project is likely to be larger than 4k, it's possible that the price of the few serious commercial alternatives may very well leave you with SDCC as the only viable choice. However, take a look at Dunfield:

formatting link

They are a commercial vendor for low cost c compilers. They apparently offer one for the 8031/2 core. So that may be another option for you to consider that is already known to be 'cheap.' You may look up some reviews that compare it with SDCC before deciding.

Keep finding out about other commercial options, of course, and ask just as you have with Keil. But if your project will become much larger and you feel unable to afford the kinds of prices you find with those commercial vendors, it's probably better to just invest your time in SDCC before getting in too deep with the trial versions of compilers you can ill afford.

So far, SDCC has just worked exactly as intended without difficulty for the modest tasks I've thrown its way. So I have no complaints, yet.

Keil accepts 16-bit descriptions for SFRs that happen to actually be

16 bits wide. To do the same with SDCC, I have to write two statements in c, one for each byte. The generated code in each is different, but equally fast and occupying the same space. Just by way of example how your source code might differ a little.

Although I haven't heard specific details about IAR's pricing for the

8051, I have heard some numbers for IAR's offering for other microcontrollers where Imagecraft, for example, also plays in the commercial marketplace. And there, IAR is not a low-cost compiler tool, either. Not by any stretch. So although you may see a difference by a factor of 2 (less?), or so, I wouldn't expect a whole lot better than that. It's still worth a moment for you to find out an exact number from IAR and see where it falls relative to your own willingness to spend for this. Give them a shot.

Luckily, SDCC seems not a bad choice so far as I'm aware right now. Don't be scared about SDCC just because Chris H works so energetically to make it seem terrible. He has always been quick to reply with scare tactics regarding anything that he sees as 'threatening' to high priced commercial products. Last April, he and I talked a bit about all this and he is very good at making highly veiled, while almost seemingly definite claims about SDCC. In the end, though, he refuses to be literal and specific and I've taken the view that all of his knowledge about SDCC is a decade old or more, if it has any value to it at all.

For example, here is a snippet of our conversation:

In this thread, he once again made a semi-specific comment which seems on its face to be accurate. I took the time to look up what few words he used that I might use in a search and found that there was indeed something about it... but it is old news, back in 2000/2001, and apparently long since gone as an issue. And here in this thread, he continues to avoid providing a recent reference or source or to elaborate at all. Which seems very true to form.

There may be good reasons. Free and low cost c compilers that can do a credible job threaten to topple high prices. And with lower prices, there is less money within those commercial business entities to fund internal research/development of improved techniques. So he may have a holy grail he's pursuing. I just can't say. It's just that he remains a reliable apologist for expensive commercial compilers and dongles and a consistent attacker of anything that even 'looks' somewhat different from the usual commercial business model operation.

My main point here isn't to attack Chris H, but to point out that you shouldn't be frightened by him regarding alternatives like SDCC. You are definitely able to do serious projects with SDCC. If you have any question, google a few projects that have used it in the past with good success. For example, here is one I quickly found, just now:

formatting link

You can get the SDCC manual here:

formatting link

Also, the author of the SDCC 8051 component was John Hartman and he has a mildly interesting 8051 web site here:

formatting link

Besides some minor differences in the way the SDCC c compiler handles some things in the source code from the way that Keil does, there are substantial differences in the way the compilers may be invoked through their option switches. See this appnote for some thoughts:

formatting link

On a final note, you may still want to revisit the idea of using an

8031/2 core, at all. Though I seem to recall that you've already written a lot of code on the basis of having selected this part which has better availability for you, and perhaps you've grown quite familiar with its details by now, so perhaps that's not really much of an option.

Best of luck.

Jon

Reply to
Jon Kirwan

This HAS changed recently, with Cypress Claiming this: [" Cypress also offers fully functional, free compilers with no code size limitations for both the PSoC 3 and PSoC 5 device families."]

["Cypress already has agreements in place to offer free compilers for both the PSoC 3 and 5 families. The Keil CA51 Compiler for PSoC 3 and the GNU GCC-ARM compiler are bundled with Creator, which also includes a debugger to support on-chip debug and trace functionality"]

My understanding is they now have a Full Keil, with reduced optimize choices, (and somehow Cypress Centric?)

This high price seems to follow the Embarcadero (ex Borland) selling model. ie Target the deep pocket corporates, but have some fringe tools, that are somewhat usable.

PC comments : PC tool flows ARE quite useful for embedded work, for algorithm development

Here, Embarcadero has Turbo Delphi, which is free, but is also crippled enough to not compile many web projects. Meanwhile, MicroSoft has quite usable versions of their C and Basic flows, (which DO compile most web projects...) and there are a number of other free PC tool flows.

HiTech also had a legacy version of their compiler free, IIRC ? Not sure of the current availability, perhaps on a mirror somewhere ?

My advice to a novice, would to be to worry less about the compiler - (as Silicon IS getting cheaper and larger all the time), but to focus more on the Debug tool chain.

Unless you are intending to produce 10,000+ units into a price- paranoid market, then simply choosing the next-larger variant, is a better solution.

You are always better to start with a more capable device and shrink to the final application, than the other way around.

Atmel have an OSD in release, and the Silabs offering is mature and usable, and Silabs have very good ToolStick level development choices.

The Cypress Debug flows look to extend things, as they claim a TraceBuffer I have not seen volume PSoC3 prices, but their web prices are comfortably under $10

-jg

Reply to
-jg

For hobby or small usage, you can typically just buy a device with more memory. So what if it costs a dollar more - it is easier (and therefore faster and therefore cheaper) that trying to make sure your code is within such small size limits. So what if SDCC takes 10 KB when Keil can put the same program in 6 KB - if you have a 16 KB device, it doesn't matter. Code size is not always a big issue.

People are always working out figures like that. Occasionally, they will actually come up with a figure that is realistic, but even then it is not applicable to anyone else.

To get true figures like that, you'd need to actually do the work in parallel with two different development teams, each of which being large enough to make valid statistical comparisons about the abilities and experiences of the two teams. No one is going to do such a comparison - at least, not for a 5K cost or saving.

So the numbers are based on guestimates and figures pulled out the air. You ask a developer to look briefly at the tools and he says it will take me a week to get up to speed with Keil, and two weeks for SDCC - the bean counter concludes that Keil will save a weeks worth of development time.

I don't mean to say that these numbers are wrong for the customer in question, just that for other potential users, the quote is barely worth the pixels its written on.

Reply to
David Brown

Which package is that? PK51 costs more, but if don't need their RTOS and debugger, then check CA51.

Reply to
vladitx

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.