is it possible to use OSIF_TimeDelay() without RTOS interface

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

is it possible to use OSIF_TimeDelay() without RTOS interface

Jump to solution
1,083 Views
bhanu_p
Contributor I

Hi,

I need to know regarding usage of OSIF_TimeDelay in S32k146 non RTOS codebase. I am not using any kind of OS interface in my application. I just want to know is it possoble to use OSIF_TimeDelay()  function  in normal BareMetal code  without any code hangs or it hangs in osif forever if i dont use RTOS.

0 Kudos
Reply
1 Solution
1,056 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @bhanu_p,

Yes, you can implement OSIF driver in bare-metal, it is based on the internal SysTick (Solved: how to set systick to get microsecond(us) delay in use s32k144 - NXP Community). Actually, the SDK documentation (under SDK installation C:\NXP\S32DS.3.4\S32DS\software\S32SDK_S32K1XX_RTM_4.0.3\doc) explains how to implement the bare-metal option:

Julin_AragnM_0-1734026621351.png

Julin_AragnM_1-1734026625534.png

It is only necessary to link the osif_baremetal.c file (and osif.h), and call the OSIF_TimeDelay function, which will initialize the timer, since the timer is initialized at the first call in OSIF that needs timing.

Best regards,
Julián

View solution in original post

0 Kudos
Reply
1 Reply
1,057 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @bhanu_p,

Yes, you can implement OSIF driver in bare-metal, it is based on the internal SysTick (Solved: how to set systick to get microsecond(us) delay in use s32k144 - NXP Community). Actually, the SDK documentation (under SDK installation C:\NXP\S32DS.3.4\S32DS\software\S32SDK_S32K1XX_RTM_4.0.3\doc) explains how to implement the bare-metal option:

Julin_AragnM_0-1734026621351.png

Julin_AragnM_1-1734026625534.png

It is only necessary to link the osif_baremetal.c file (and osif.h), and call the OSIF_TimeDelay function, which will initialize the timer, since the timer is initialized at the first call in OSIF that needs timing.

Best regards,
Julián

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2012855%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Eis%20it%20possible%20to%20use%20OSIF_TimeDelay()%20without%20RTOS%20interface%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2012855%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EI%20need%20to%20know%20regarding%20usage%20of%20OSIF_TimeDelay%20in%20S32k146%20non%20RTOS%20codebase.%20I%20am%20not%20using%20any%20kind%20of%20OS%20interface%20in%20my%20application.%20I%20just%20want%20to%20know%20is%20it%20possoble%20to%20use%20OSIF_TimeDelay()%26nbsp%3B%20function%26nbsp%3B%20in%20normal%20BareMetal%20code%26nbsp%3B%20without%20any%20code%20hangs%20or%20it%20hangs%20in%20osif%20forever%20if%20i%20dont%20use%20RTOS.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2013075%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20is%20it%20possible%20to%20use%20OSIF_TimeDelay()%20without%20RTOS%20interface%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2013075%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F237374%22%20target%3D%22_blank%22%3E%40bhanu_p%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EYes%2C%20you%20can%20implement%20OSIF%20driver%20in%20bare-metal%2C%20it%20is%20based%20on%20the%20internal%20SysTick%20(%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K%2Fhow-to-set-systick-to-get-microsecond-us-delay-in-use-s32k144%2Fm-p%2F857689%22%20target%3D%22_blank%22%3ESolved%3A%20how%20to%20set%20systick%20to%20get%20microsecond(us)%20delay%20in%20use%20s32k144%20-%20NXP%20Community%3C%2FA%3E).%20Actually%2C%20the%20SDK%20documentation%20(under%20SDK%20installation%20%3CSTRONG%3EC%3A%5CNXP%5CS32DS.3.4%5CS32DS%5Csoftware%5CS32SDK_S32K1XX_RTM_4.0.3%5Cdoc%3C%2FSTRONG%3E)%20explains%20how%20to%20implement%20the%20bare-metal%20option%3A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Julin_AragnM_0-1734026621351.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Julin_AragnM_0-1734026621351.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F315657i1895B3767EB280CB%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Julin_AragnM_0-1734026621351.png%22%20alt%3D%22Julin_AragnM_0-1734026621351.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Julin_AragnM_1-1734026625534.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Julin_AragnM_1-1734026625534.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F315658i1C4C5F6C40929D02%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Julin_AragnM_1-1734026625534.png%22%20alt%3D%22Julin_AragnM_1-1734026625534.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EIt%20is%20only%20necessary%20to%20link%20the%20osif_baremetal.c%20file%20(and%20osif.h)%2C%20and%20call%20the%20OSIF_TimeDelay%20function%2C%20which%20will%20initialize%20the%20timer%2C%20since%26nbsp%3B%3CSPAN%3Ethe%20timer%20is%20initialized%20at%20the%20first%20call%20in%20OSIF%20that%20needs%20timing.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EBest%20regards%2C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E