This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

About the start address and length of "_DATA_GROUP_"

Now, I want to know the start address and length of "_DATA_GROUP_", How can I do it, thanks.

Parents
  • As Per says, you should not think of an Interrupt Service Routine (ISR) as a Task.

    As previously explained, The general idea of ISRs is to keep them as short and simple as possible - doing large memory block moves is certainly the kind of thing that should generally be avoided!

    Again, the 8051's UART only handles a single byte at a time - so there really should be no reason for an 8051 Serial ISR to have any significant memory requirement!

    What is it that your serial "task" needs to do that requires so much memory?

    If you have spare memory to be able to copy stuff, why can't your encryption task just use that in the first place?
    Or your serial task?

    If you make your serial task and encryption task separate functions called from a "super loop", as Per suggested, the compiler will be able to automatically Overlay their data for you!

    If you don't understand the concept of a "super loop", you need to do some basic study on embedded systems; eg, see the booklist on the C51 products page:

    http://www.keil.com/books/8051books.asp

    The ACCU (Association of C & C++ Users) also has a whole load of book reviews - including a section on embedded:

    brian.accu.org/.../

    See also: www.8052.com/books.phtml

Reply
  • As Per says, you should not think of an Interrupt Service Routine (ISR) as a Task.

    As previously explained, The general idea of ISRs is to keep them as short and simple as possible - doing large memory block moves is certainly the kind of thing that should generally be avoided!

    Again, the 8051's UART only handles a single byte at a time - so there really should be no reason for an 8051 Serial ISR to have any significant memory requirement!

    What is it that your serial "task" needs to do that requires so much memory?

    If you have spare memory to be able to copy stuff, why can't your encryption task just use that in the first place?
    Or your serial task?

    If you make your serial task and encryption task separate functions called from a "super loop", as Per suggested, the compiler will be able to automatically Overlay their data for you!

    If you don't understand the concept of a "super loop", you need to do some basic study on embedded systems; eg, see the booklist on the C51 products page:

    http://www.keil.com/books/8051books.asp

    The ACCU (Association of C & C++ Users) also has a whole load of book reviews - including a section on embedded:

    brian.accu.org/.../

    See also: www.8052.com/books.phtml

Children
No data