Dear All, I'm currently designing a little scheduler for the C6711 based on a timer interrupt because I don't want to be depending on DSP-BIOS. I did not find a documentation about saving and restoring context when entering an interrupt in assembly. Can anybody tell me the order in which I have to save the registers ? Which registers ? A0..A15/B0..B15, and control registers is enough ? Does a sample code exist that perform this ? In advance thank you. ********************************************** Cedric CHARVET R&D Ingeneer ********************************************** CONFIDENTIALITE : Ce message et les entuelles pies attachs sont confidentiels. Si vous n'es pas dans la liste des destinataires, veuillez informer l'expiteur immiatement et ne pas divulguer le contenu une tierce personne, ne pas l'utiliser pour quelque raison que ce soit, ne pas stocker ou copier l'information qu'il contient sur un quelconque support. CONFIDENTIALITY : This e-mail and any attachments are confidential and may be privileged. If you are not a named recipient, please notify the sender immediately and do not disclose the contents to another person, use it for any purpose or store or copy the information in any medium. |
|
C6711: save and restore context when entering an interrupt
Started by ●January 16, 2003
Reply by ●January 16, 20032003-01-16
Cedric, In my opinion you should just use DSP BIOS unless you have a really good reason not to. Andrew E. At 07:54 PM 1/16/2003 +0100, wrote: >Dear All, > >I'm currently designing a little scheduler for the C6711 based on a timer >interrupt because I don't want to be depending on DSP-BIOS. I did not find >a documentation about saving and restoring context when entering an >interrupt in assembly. Can anybody tell me the order in which I have to >save the registers ? Which registers ? A0..A15/B0..B15, and control >registers is enough ? Does a sample code exist that perform this ? > >In advance thank you. > >********************************************** >Cedric CHARVET >R&D Ingeneer >********************************************** > >CONFIDENTIALITE : Ce message et les entuelles pies attachs sont >confidentiels. Si vous n'es pas dans la liste des destinataires, veuillez >informer l'expiteur immiatement et ne pas divulguer le contenu une >tierce personne, ne pas l'utiliser pour quelque raison que ce soit, ne pas >stocker ou copier l'information qu'il contient sur un quelconque support. > >CONFIDENTIALITY : This e-mail and any attachments are confidential and >may be privileged. If you are not a named recipient, please notify the >sender immediately and do not disclose the contents to another person, use >it for any purpose or store or copy the information in any medium. > > >_____________________________________ >Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > >_____________________________________ >About this discussion group: > >To Join: Send an email to > >To Post: Send an email to > >To Leave: Send an email to > >Archives: http://www.yahoogroups.com/group/c6x > >Other Groups: http://www.dsprelated.com >">http://docs.yahoo.com/info/terms/ |
Reply by ●January 17, 20032003-01-17
Cedric charvet wrote : > I'm currently designing a little scheduler for the C6711 based on a timer > interrupt because I don't want to be depending on DSP-BIOS. I did not find > a documentation about saving and restoring context when entering an > interrupt in assembly. Can anybody tell me the order in which I have to > save the registers ? Which registers ? A0..A15/B0..B15, and control > registers is enough ? Does a sample code exist that perform this ? You can have a look at the setjump/longjump functions from the library. That generally save 99% of the context. I already did this a few years ago on C31 to make a small preemtive kernel. Jean-Michel MERCIER -- dsp & imaging - www.ateme.com ATEME - 26 Burospace - 91573 BIEVRES Tel : +33 (0)1 69 35 89 73 (direct) Fax : +33 (0)1 60 19 13 95 |