S32K144 FreeRTOS from ISR API issue

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

S32K144 FreeRTOS from ISR API issue

1,202 次查看
SABARINATH_kh
Contributor I

 

I was trying to set an event from UART recieve ISR call back function using FreeRTOS API "xEventGroupSetBitsFromISR()",
but the code execution got halted in "configASSERT( ucCurrentPriority >= ucMaxSysCallPriority )" of function - void vPortValidateInterruptPriority( void ) [port.c].

During debugging, it was observed that the priority of the calling interrupt was set to '0', as determined by executing the line:
"ucCurrentPriority = pcInterruptPriorityRegisters[ ulCurrentInterrupt ]"

so eventully the execution is stuck in this assert statement ("configASSERT( ucCurrentPriority >= ucMaxSysCallPriority )").

Also tried in existing FreeRTOS example code from s32 SDK, still execution halted in same assert statement

Is there any way to fix this

SABARINATH_kh_1-1753359208124.png

 

 

0 项奖励
回复
7 回复数

1,128 次查看
SABARINATH_kh
Contributor I

Hi  PetrS,

Sorry for the delay in responding
I have modified the code by changing the interrupt Priority using above mentioned API "INT_SYS_SetPriority"

Still its getting Priority value as "Zero"

SABARINATH_kh_2-1753686742839.png

 



 

 

0 项奖励
回复

1,108 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

can you share simplified project showing an issue?

BR, Petr

0 项奖励
回复

1,075 次查看
SABARINATH_kh
Contributor I
Hi,
 
I am facing this issue in all the freeRTOS codes which uses "FromISR" API, even i tried with the samples provided by S32Design studio.
 
Currently i am trying the sample "freertos_s32k144" in this particular example, from a button ISR handler there is  freeRTOS function call "xTimerResetFromISR( xButtonLEDTimer, &xHigherPriorityTaskWoken ); , Even this function call end up in the same configASSERT.
 
I have attached the call stack and the sample code for your reference.
 
SABARINATH_kh_0-1753769977989.png

 

 
 
0 项奖励
回复

998 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

I tested your project and it works normally.

BR, Petr

0 项奖励
回复

990 次查看
SABARINATH_kh
Contributor I

HI,
Did you tried pressing the button (then it will call fromISR API) if so, can you please help me what causing issue in my development board

0 项奖励
回复

971 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

yes, on my S32k144EVB-Q100 (revC1) it toggles Green LED repeatedly.
Once pressing SW3, Red LED will be ON and is going OFF after 5sec unless SW3 is press again. So exactly as example is written.
To be honest, don't know why same SW is not working on your board, assume same one.

BR, Petr

0 项奖励
回复

1,175 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

as description outlined, for LPUART assign lower ISR priority (numerically higher number) then configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY is.

In SDK interrupt priority can be changed just by calling INT_SYS_SetPriority in your source code, otherwise the SDK will use default priorities of the hardware.

BR, Petr

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2140167%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K144%20FreeRTOS%20from%20ISR%20API%20%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2140167%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E8%AF%95%E5%9B%BE%E4%BD%BF%E7%94%A8%20FreeRTOS%20API%22xEventGroupSetBitsFromISR()%22%2C%3CBR%20%2F%3E%E4%BB%8E%20UART%20%E6%8E%A5%E6%94%B6%20ISR%20%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AE%BE%E7%BD%AE%E4%BA%8B%E4%BB%B6%EF%BC%8C%E4%BD%86%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%E5%9C%A8%22configASSERT(%20ucCurrentPriority%26gt%3B%3D%20ucMaxSysCallPriority%20)%22%20%E7%9A%84%E5%87%BD%E6%95%B0%20-%20void%20vPortValidateInterruptPriority(%20void%20)%20%5Bport.c%5D%20%E4%B8%AD%E5%81%9C%E6%AD%A2%E3%80%82%3C%2FP%3E%3CP%3E%E5%9C%A8%E8%B0%83%E8%AF%95%E8%BF%87%E7%A8%8B%E4%B8%AD%EF%BC%8C%E5%8F%91%E7%8E%B0%E8%B0%83%E7%94%A8%E4%B8%AD%E6%96%AD%E7%9A%84%E4%BC%98%E5%85%88%E7%BA%A7%E8%A2%AB%E8%AE%BE%E7%BD%AE%E4%B8%BA%20%220%22%EF%BC%8C%E6%89%A7%E8%A1%8C%E4%BB%A5%E4%B8%8B%E8%A1%8C%E5%8F%AF%E4%BB%A5%E7%A1%AE%E5%AE%9A%EF%BC%9A%3CBR%20%2F%3E%22%20ucCurrentPriority%20%3D%20pcInterruptPriorityRegisters%5B%20ulCurrentInterrupt%20%5D%E3%80%82%22%3C%2FP%3E%3CP%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E6%9C%80%E7%BB%88%E5%81%9C%E7%95%99%E5%9C%A8%E8%BF%99%E6%9D%A1%E6%96%AD%E8%A8%80%E8%AF%AD%E5%8F%A5%E4%B8%AD%20(%22configASSERT(%20ucCurrentPriority%26gt%3B%3D%20ucMaxSysCallPriority%20)%22)%E3%80%82%3C%2FP%3E%3CP%3E%E8%BF%98%E5%9C%A8%20s32%20SDK%20%E4%B8%AD%E7%8E%B0%E6%9C%89%E7%9A%84%20FreeRTOS%20%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%E4%B8%AD%E8%BF%9B%E8%A1%8C%E4%BA%86%E5%B0%9D%E8%AF%95%EF%BC%8C%E4%BD%86%E5%9C%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E6%96%AD%E8%A8%80%E8%AF%AD%E5%8F%A5%E4%B8%AD%E4%BB%8D%E5%81%9C%E6%AD%A2%E6%89%A7%E8%A1%8C%3C%2FP%3E%3CP%3E%E6%9C%89%E4%BB%80%E4%B9%88%E5%8A%9E%E6%B3%95%E5%8F%AF%E4%BB%A5%E8%A7%A3%E5%86%B3%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22SABARINATH_kh_1-1753359208124.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22SABARINATH_kh_1-1753359208124.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F349325iE94D758074AFF65C%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22SABARINATH_kh_1-1753359208124.png%22%20alt%3D%22SABARINATH_kh_1-1753359208124.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2145186%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20FreeRTOS%20from%20ISR%20API%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2145186%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E5%9C%A8%E6%88%91%E7%9A%84%20S32k144EVB-Q100%20%EF%BC%88revC1%EF%BC%89%E4%B8%8A%EF%BC%8C%E7%BB%BF%E8%89%B2%20LED%20%E7%81%AF%E5%8F%8D%E5%A4%8D%E5%88%87%E6%8D%A2%E3%80%82%3CBR%20%2F%3E%E6%8C%89%E4%B8%8B%20SW3%20%E5%90%8E%EF%BC%8C%E7%BA%A2%E8%89%B2%20LED%20%E5%B0%86%E4%BA%AE%E8%B5%B7%EF%BC%8C5%20%E7%A7%92%E5%90%8E%E7%86%84%E7%81%AD%EF%BC%8C%E9%99%A4%E9%9D%9E%E5%86%8D%E6%AC%A1%E6%8C%89%E4%B8%8B%20SW3%E3%80%82%E6%89%80%E4%BB%A5%EF%BC%8C%E5%B0%B1%E5%83%8F%E8%8C%83%E4%BE%8B%E4%B8%AD%E5%86%99%E7%9A%84%E9%82%A3%E6%A0%B7%E3%80%82%3CBR%20%2F%3E%E8%AF%B4%E5%AE%9E%E8%AF%9D%EF%BC%8C%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%8C%E4%B8%80%E4%B8%AA%E8%BD%AF%E4%BB%B6%E4%B8%8D%E8%83%BD%E5%9C%A8%E4%BD%A0%E7%9A%84%E6%9D%BF%E4%B8%8A%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%81%87%E8%AE%BE%E6%98%AF%E5%90%8C%E4%B8%80%E4%B8%AA%E8%BD%AF%E4%BB%B6%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2144545%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20FreeRTOS%20from%20ISR%20API%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2144545%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E4%BD%A0%3CBR%20%2F%3E%E6%9C%89%E6%B2%A1%E6%9C%89%E8%AF%95%E8%BF%87%E6%8C%89%E4%B8%8B%E6%8C%89%E9%92%AE%EF%BC%88%E7%84%B6%E5%90%8E%E5%AE%83%E4%BC%9A%E8%B0%83%E7%94%A8%20fromisr%20API%EF%BC%89%EF%BC%8C%E4%BD%A0%E8%83%BD%E4%B8%8D%E8%83%BD%E5%B8%AE%E6%88%91%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E4%BA%86%E6%88%91%E7%9A%84%E5%BC%80%E5%8F%91%E6%9D%BF%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2144267%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20FreeRTOS%20from%20ISR%20API%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2144267%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%E6%88%91%E6%B5%8B%E8%AF%95%E4%BA%86%E4%BD%A0%E7%9A%84%E9%A1%B9%E7%9B%AE%EF%BC%8C%E8%BF%90%E8%A1%8C%E6%AD%A3%E5%B8%B8%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2142302%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20FreeRTOS%20from%20ISR%20API%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2142302%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%3E%3CSPAN%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E6%88%91%E5%9C%A8%E6%89%80%E6%9C%89%E4%BD%BF%E7%94%A8%22FromISR%22%20API%20%E7%9A%84%20freeRTOS%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E9%83%BD%E9%81%87%E5%88%B0%E4%BA%86%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%8C%E7%94%9A%E8%87%B3%E6%88%91%E8%BF%98%E5%B0%9D%E8%AF%95%E4%BA%86%20S32Design%20studio%20%E6%8F%90%E4%BE%9B%E7%9A%84%E7%A4%BA%E4%BE%8B%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E7%9B%AE%E5%89%8D%EF%BC%8C%E6%88%91%E6%AD%A3%E5%9C%A8%E8%AF%95%E7%94%A8%E7%A4%BA%E4%BE%8B%22freertos_s32k144%22%20%E5%9C%A8%E8%BF%99%E4%B8%AA%E7%89%B9%E5%AE%9A%E7%9A%84%E7%A4%BA%E4%BE%8B%E4%B8%AD%EF%BC%8C%E4%BB%8E%E6%8C%89%E9%92%AE%20ISR%20%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%E4%B8%AD%E8%B0%83%E7%94%A8%E4%BA%86%20freeRTOS%20%E5%87%BD%E6%95%B0%22%20xTimerResetFromISR%3CSTRONG%3E(%20xButtonLEDTimer%2C%26amp%3B%3C%2FSTRONG%3ExHigherPriorityTaskWoken)%3B%EF%BC%8C%E5%8D%B3%E4%BD%BF%E6%98%AF%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E4%B9%9F%E6%98%AF%E4%BB%A5%E7%9B%B8%E5%90%8C%E7%9A%84%20configASSERT%20%E7%BB%93%E6%9D%9F%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E6%88%91%E9%99%84%E4%B8%8A%E4%BA%86%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88%E5%92%8C%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%E4%BE%9B%E4%BD%A0%E5%8F%82%E8%80%83%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22SABARINATH_kh_0-1753769977989.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22SABARINATH_kh_0-1753769977989.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F349888iD84F793D807A56F0%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22SABARINATH_kh_0-1753769977989.png%22%20alt%3D%22SABARINATH_kh_0-1753769977989.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2141788%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20FreeRTOS%20from%20ISR%20API%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2141788%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%E8%83%BD%E5%90%A6%E5%88%86%E4%BA%AB%E6%98%BE%E7%A4%BA%E9%97%AE%E9%A2%98%E7%9A%84%E7%AE%80%E5%8C%96%E9%A1%B9%E7%9B%AE%EF%BC%9F%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2141500%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20FreeRTOS%20from%20ISR%20API%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2141500%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CSPAN%3E%20%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F52961%22%20target%3D%22_self%22%3E%3CSPAN%20class%3D%22%22%3E%E5%BD%BC%E5%BE%97%E6%96%AF%3C%2FSPAN%3E%3C%2FA%3E%2C%3C%2FP%3E%3CP%3E%E5%BE%88%E6%8A%B1%E6%AD%89%E5%BB%B6%E8%BF%9F%E5%9B%9E%E5%A4%8D%3CBR%20%2F%3E%E6%88%91%E5%B7%B2%E7%BB%8F%E4%BF%AE%E6%94%B9%E4%BA%86%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%E4%B8%8A%E8%BF%B0%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%8E%A5%E5%8F%A3%E6%9B%B4%E6%94%B9%E4%BA%86%E4%B8%AD%E6%96%AD%E4%BC%98%E5%85%88%E7%BA%A7%22%3CSPAN%3EINT_SYS_SetPriority%3C%2FSPAN%3E%22%3CBR%20%2F%3E%3CBR%20%2F%3E%20%E5%AE%83%E5%BE%97%E5%88%B0%E7%9A%84%E4%BC%98%E5%85%88%E7%BA%A7%E5%80%BC%E4%BB%8D%E7%84%B6%E6%98%AF%22%E9%9B%B6%22%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22SABARINATH_kh_2-1753686742839.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22SABARINATH_kh_2-1753686742839.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F349687iB60CAE9866537E4C%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22SABARINATH_kh_2-1753686742839.png%22%20alt%3D%22SABARINATH_kh_2-1753686742839.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2140559%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K144%20FreeRTOS%20from%20ISR%20API%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2140559%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%E5%A6%82%E6%8F%8F%E8%BF%B0%E6%89%80%E8%BF%B0%EF%BC%8C%E4%B8%BA%20LPUART%20%E5%88%86%E9%85%8D%E8%BE%83%E4%BD%8E%E7%9A%84%20ISR%20%E4%BC%98%E5%85%88%E7%BA%A7%EF%BC%88%E6%95%B0%E5%AD%97%E4%B8%8A%E9%AB%98%E4%BA%8E%3CSPAN%3EconfigLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY%3C%2FSPAN%3E%E7%9A%84%E5%80%BC%EF%BC%89%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%E5%9C%A8%20SDK%20%E4%B8%AD%EF%BC%8C%E5%8F%AA%E9%9C%80%E5%9C%A8%E6%BA%90%E4%BB%A3%E7%A0%81%E4%B8%AD%E8%B0%83%E7%94%A8%20INT_SYS_SetPriority%20%E5%8D%B3%E5%8F%AF%E6%9B%B4%E6%94%B9%E4%B8%AD%E6%96%AD%E4%BC%98%E5%85%88%E7%BA%A7%EF%BC%8C%E5%90%A6%E5%88%99%20SDK%20%E5%B0%86%E4%BD%BF%E7%94%A8%E7%A1%AC%E4%BB%B6%E7%9A%84%E9%BB%98%E8%AE%A4%E4%BC%98%E5%85%88%E7%BA%A7%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EBR%2C%20Petr%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E