4.4. Stack Size Requirements
Table 1 shows the additional stack requirements when the user code is calling an API function. The number of
bytes in the table is in addition to the 2 bytes return address storage requirements for the return address to be
stored on top of the stack when the function is called. For example, if the function is not using any additional stack
storage (not calling any other function, and not using PUSH/POP instructions), then the function internal stack
requirement is listed as 0.
The maximum stack size requirement is determined by the interrupt service routines and if the application is using
one or two interrupt priorities. The worst case stack requirement would come from the application using two levels
of interrupt levels and lower priority ISR was interrupted by the higher priority ISR.
The user is required to leave at least additional 4 bytes of stack space, 2 bytes as a guard and 2 bytes for possible
Silicon Labs use in the future.
Table 1. Additional Stack Requirements
Function
vAes_Cipher
vAes_InvCipher
vAes_InvGenKey
wBsr_Pop
vBsr_Setup
vBsr_InitPts
bBsr_GetPtsItemCnt
vBsr_Service
wBsr_GetCurrentButton
bBsr_GetTimestamp
vDmdTs_Setup
iDmdTs_GetData
iDmdTs_GetLatestDmdSample
iDmdTs_GetLatestTemp
vDmdTs_ClearDmd
vDmdTs_ClearDmdIntFlag
vDmdTs_IsrCall
bDmdTs_GetSamplesTaken
vDmdTs_Enable
vDmdTs_RunForTemp
vDmdTs_ResetCounts
bEnc_4b5bEncode
vEnc_Set4b5bLastBit
bEnc_ManchesterEncode
vFCast_Setup
vFCast_XoSetup
vFCast_Tune
vFCast_FskAdj
vFCast_FineTune
vFc_Setup
vFc_StartCount
vFc_PollDone
lFc_StartPollGetCount
lFc_GetCount
Rev. 1.0
Internal stack use
[bytes]
3
3
3
—
4
2
—
4
—
2
—
—
—
2
—
—
2
—
—
2
—
—
—
—
—
4
8
4
4
—
—
—
2
—
AN370
11
Need help?
Do you have a question about the Si4010 and is the answer not in the manual?
Questions and answers