Detection of stack overflow for HCS08 family

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Detection of stack overflow for HCS08 family

482件の閲覧回数
prasad1
Contributor I

Hi,

I am developing code for MC9SG8S08 microcontroller from HCS08 family. I want to verify that stack is not getting overflowed. I have some of following question w.r.t. stack overflow

1)What is good verification method for that?How to detect stack is not getting overflowed?

2)If stack get  overflow will it MC9SG8S08  cpu generate reset(I couldn't find anything in datasheet about this)?Will be there any indication for that from CPU?

 

Thanks,

Prasad S Udawant

タグ(2)
0 件の賞賛
返信
1 返信

315件の閲覧回数
kef2
Senior Contributor V

1. a) At design time increase stack size as much as possible. Prior to running your code fill stack space with some pattern like all 0xFF, 0x55 or smth. Run your code for a while and then check how many contiguous bytes at bottom of stack are still like you initialized them. Stack top minus the most bottom modified stack byte address gives you required stack space. During test time all your stack hungry routines and ISRs should execute at least once, else your measurement may be inaccurate.

b) inside of some periodic interrupt you can TSX (transfer stack pointer to H:X), CPHX against previous value and STHX if lower. Running code for a while should give you value close to the deepest SP. Close and not exact because you may have other ISR's with worse stack usage.

2. Not necessarily. Bad things may happen like sudden unrelated variable change or something. It is always the best to determine the worst stack usage and set stack size accordingly.

Regards,

Edward

0 件の賞賛
返信