Hi all, In RTX we can assign a function as a task with the _task_ #NO tag. When calling os_create_task we just pass this task number as a parameter. Assume one has to use banking, in this case, how does RTX identify, in which bank the function exists ? from where does rtx get information about the banks of any task at runtime ? regards pachu
"What you are proposing may have been realistic some years ago when any other solution would be much more costly, but today where you e.g. can get an ARM for a couple of bucks it makes absolutely no sense." Maybe an ARM is unsuitable for his application. There is no reason why he shouldn't use an RTOS, code banking, floating point or whatever on an 8051 if the resulting system does what it is required to do. "Now, when you have crammed all that into the poor little bugger, we expect your next post to be "can I clock a 12MHz chip with 50MHz"" Now you're just being silly.
RTOS, code banking, floating point or whatever on an 8051 "Now, when you have crammed all that into the poor little bugger, we expect your next post to be "can I clock a 12MHz chip with 50MHz"" Now you're just being silly. Am I? with "RTOS, code banking, floating point and whatever" he will need better than 12MHz to get the result in "less than an hour". Erik
"There is no reason why he shouldn't use an RTOS, code banking, floating point or whatever on an 8051 if the resulting system does what it is required to do." True, but it may well be that an alternative processor would do it all very much more easily - and, therefore, very much more economically.
"There is no reason why he shouldn't use an RTOS, code banking, floating point or whatever on an 8051 if the resulting system does what it is required to do." Once I were too lazy to go get a hammer when I needed to put up a picture, so I hammered the nail in with my shoe. So, since the nail is in "the resulting system did what it was required to do". Now, unfortunately, because of my poor choice of tool, my shoe broke but "the resulting system does what it is required to do". True, but it may well be that an alternative processor would do it all very much more easily - and, therefore, very much more economically. Had i used a hammer, the nail would have been in in less than half the time. Erik
"Had i used a hammer, the nail would have been in in less than half the time." and you wouldn't have a broken shoe...!
Well, should i say sorry for posting a question to the forum, should i say sorry for asking some question to all the gurus in the world, is there anyone who could kindly, if possible throw some light on my initial query..... Well as Mr.Stefan Duncansan, said, if i am satisfied with the 8051, and the RTOS for my application, why is it that i need to look for higher performance processor or RTOS... any way, kindly if anyone could throw some light on my initial query...it would be very greatful.. thanks and regards pachu
Mr. Pachu, Indeed your question should not be met with unkindness but the point that these very experienced people are making is that you may be saving yourself great anguish by reconsidering the fundamental question of which device to use based upon your job specifications. If their answers seem harsh perhaps it is because they have struggled to make a controller do more than it was intended to do. The choice of a device is the most important decision in the development of an embedded system. Good luck!
"you may be saving yourself great anguish by reconsidering the fundamental question of which device to use based upon your job specifications" Exactly - after all, this question wouldn't even arise if you weren't using code banking, would it?! Code Banking will impact your entire product lifecycle - Design, implementation, Test/Debug, and support/maintenance. All will be affected by having to consider the "quirks" of code banking. Even your hardware cost may be increased, due to the extra stuff to do the bank switching.
"should i say sorry for posting a question to the forum" Well, it is a Discussion forum - not just a free answer shop...! ;-)
"Am I?" Yes. He's not going to ask whether he can clock a 12MHz chip at 50MHz. That would be a stupid question. As it happens, the derivative he's using can be clocked at 40MHz. "with "RTOS, code banking, floating point and whatever" he will need better than 12MHz to get the result in "less than an hour"." You don't know anything about the OP's project. He may well be able to achieve what he wants to do at 12MHz.
"True, but it may well be that an alternative processor would do it all very much more easily - and, therefore, very much more economically." Ok, but conversely the 8051 may be able to do the job without difficulty and therefore just as economically as the alternative. I assume you mean 'economically' in terms of development time?
"Once I were too lazy to go get a hammer when I needed to put up a picture, so I hammered the nail in with my shoe. So, since the nail is in "the resulting system did what it was required to do". Now, unfortunately, because of my poor choice of tool, my shoe broke but "the resulting system does what it is required to do"." Your analogy is amusing but irrelevant. Shoes may well break when used to hammer nails, software tools do not even when used in an inappropriate situation. "Had i used a hammer, the nail would have been in in less than half the time." Not when you consider the time to go and find the hammer then learn how to use it, which is what the OP will have to do.
"Well as Mr.Stefan Duncansan, said, if i am satisfied with the 8051, and the RTOS for my application, why is it that i need to look for higher performance processor or RTOS..." Exactly, you don't need to. "any way, kindly if anyone could throw some light on my initial query.." Unfortunately I don't know anything about RTX.
"Well, it is a Discussion forum - not just a free answer shop...! ;-)" Yes, but you can understand the OP's frustration when he sees his thread hijacked by a bunch of people telling him his mission is hopeless instead of answering the question. I'm curious, Mr. Neil and Mr. Malund, please tell us which of these things you have used in an 8051 project: 1) Code banking 2) Floating point 3) RTX
"I assume you mean 'economically' in terms of development time?" No - not just development time: "Code Banking will impact your entire product lifecycle - Design, implementation, Test/Debug, and support/maintenance. All will be affected by having to consider the 'quirks' of code banking. Even your hardware cost may be increased, due to the extra stuff to do the bank switching."
"1) Code banking" Not on an 8051 project - not even with the Triscend E5 (now Zylogic ZE5), where the physical bank switching is trivial. I've suffered a banked project on another 8-bit processor, so I know the pain of trying to decide what goes in the "root" bank, and finding that you want to call function X - but it's in another bank, and a bankswitch at this point is really bad, and having to faff about with the HEX files to program your PROMs properly, and... Code banking is a kludge to overcome the fundamental design restriction in the 8051's address space - just like Expanded Memory was a kludge to overcome the fundamental design restriction in MS-DOS's address space. I can't see why you would want to start a project by designing-in a kludge! "2) Floating point" Never without the aid of a numerical co-processor. "3) RTX" Never on an 8051. Not even with a TCP/IP stack. I've done plenty of RTOS projects with "bigger" processors. If you've decided that a "small" controller like an 8051 is suitable for your project, I can't really see why you should then need to use an RTOS. I've done RTOS projects on other 8-bit micros, and I can't say that the extra grief of working with the RTOS was any benefit over not having an RTOS.