??? 03/04/05 14:13 Read: times |
#89098 - XA compatibility Responding to: ???'s previous message |
I said: "You end up modifying all to 16 bit (even with a 251)"
Jon said "Is this commentary based on experience with the 251 or is it based on another architecture that you feel is like a 251" I think the question was answered before it was asked. I had the experience of trying the same design on the 251, the XA and the Siemens 16x. This was a project where the "low cost versions" ran on a '51 and the "advanced varsions" ran on the 16 bit processor. My job was to write the layer that made the apps people "not know which processor their C ran on". Since 680.000 units were eventually made, the development budget was so that I had the "luxury" of trying it on all 3 processors and also evaluate many "compiler" packages. ("compiler" in quotes because such a package also include assembler .. linker ...) and Jon, had the 251 been chosen, the package would have been Keil. If you want to convert the original 8051 code to 251 code, you can simply compile it with the 251 compiler, at least that's what you can do with the Keil tools--I think other tools work similarly. I have done this with a large number of 8051 applications that we converted to 251. For binary mode compatibility, I didn't modify any of the OBJ files (except for the startup code--but even that was not required). For source mode compatibility, all that was required was a simple re-compile with the 251 compiler. Each of these requires only a few minutes. The 251 suffer greatly from being binary compatible (A5 switch) which has forced some design decisions that affect 16 bit performance negatively. The XA is "source code compatible" i.e. you can reassemble your '51 assembler source and it will run on the XA with a different binary. Of course, C source compatibility is the same for both. Erik |