does anyone have an experience with c++ using ceibo? are there any known bugs/optimization problems?
If those guys know C++, but not C, odds are high the kind of C++ code they're writing would be a bad mismatch for the 8051 architecture, and in particular will be the exact opposite of size-efficient. If you really want to write C++ code (as opposed to C with some C++ extras), 8051s are not the kind of CPU to do it on. The 8051 already has to cut a few corners to support C. For true C++, it's essentially hopeless. Summing it up: you need either new programmers or a different CPU class.
my company wants to try using C++ on 8051 because most of our programmers are familiar with C++ and not with C. We don't have a lot of experience in embedded systems and we're not sure if it's a good or bad idea using C++. BTW, the code (small) size is very important to us. as Hans-Bernhard said "If those guys know C++, but not C, odds are high the kind of C++ code they're writing would be a bad mismatch for the 8051 architecture, and in particular will be the exact opposite of size-efficient." You have all things against you * familiar with C++ and not with C * don't have a lot of experience in embedded systems If you do no "retrain" your "programmers" I will give you 10% chance of success. Succesful programming the '51 as opposed to e.g. the PC is not just "using another processor" it is "using another philosophy". What do you get using PC types for a '51 job * bloat from using an OS. * slow code and bloat (e.g. using int and func ptr). * errors because of recursion. * constant bitching about data memory overrun. * finally having to call in a consultant to even make it work. So, if you do not retrain the PC type(s) that is/are to program this, get a consultant. The very fact that you even ask about C++ makes the need for retraining crystal clear. Erik PS The above does not state that "PC types" can not code the '51, it states that, in order to do so, they need to change their philosophy. Unfortunately only a small percentage of PC types seems capable of doing so.