How to make a RTOS inside a microcontroller? Do we have to program it with the *.hex needed? And if yes, how to write my own function for the microcontroller, for example I have the RTOS already inside, and I want to make a function to read the keyboard. Do I modify the RTOS?
RTOS is like any program. Just look at it as a library you can use in your application code. After writing your application code that uses RTOS, you have to compile it to get the *.hex that has contains your application code + RTOS. We do not modify RTOS code but we may need to modify application and driver code.
So we start from scratch and we call some function? (Like include-ing some *.h) or there is already a built in format in which/where we may write our own code?
Exactly, You will include header files for the RTOS, add the source files (*.c files to your project), then modify your application files to call RTOS functions. RTOS calls differ from a RTOS to another. You need to study the RTOS well before using it. How good is your C knowledge? -- Amr Ali
It will be no problem to use RTOS then. Just follow the course to get the concepts. Then we can search for an example of using to RTOS to do together on a board you have :) -- Amr Ali
RTOS at least needs CPU and dedicated timer in my MCU. In addition, your program and RTOS should fit in your system memory. Some RTOS may need a stack pointer that can be loaded and unloaded. Some RTOS may need Memory Management Unit, depending on its task model; whether it is process based. Regarding the drivers, they are MCU specific. Some drivers may use RTOS functions and follow specific prototypes. Now lets be a little bit practical, you need to search what are RTOS running on your MCU or a MCU similar to yours and compare them from the point of your actual need. -- Amr Ali
Ali, I quite confuse with ur explaination. Let me start with ur question, i already try to search what RTOS running on my MCU but found nothing, but i found another MCU that same core to mine and run RTOS. So this mean I need to compare for my needed?
If there s a MCU has the same core as yours and runs RTOS, then with little effort it can run on your as well. BTW, what is your Micro-controller? We can do the search together. -- Amr Ali
Thanks Ali, ur so nice. My research using ARM11 by samsung and up till now, i still cannot find RTOS running on this MPU. BTW i'm a HW guy, so need some time to digest all this SW thing. Thanks again Ali, u r really2 help me
It is my duty Lukman, no need for thanks. Tell me the Chip Number for example S3CXXXXX not the core ARM11. I will help you find a good and free RTOS ISA. What are your tool chain for developing software. -- Amr Ali
Guess what, I found an application note on http://micrium.com/page/downloads/ports/arm. uCOS-II is ported on the same ARM11 processor you have and same tool chain. They ran the port on a simulator. Please, check http://micrium.com/page/downloads/ports/arm. It will take some effort from us to run this port on the actual board. That will be our starting point. Do you understand very well your hardware and have sufficient knowledge of your processor, its assembly, C programming, your board structure,... -- Amr Ali
thanks again ali. i will understand the app. note. for the hardware and board structure, i'm understand very well bcause i design it from scratch but not 100% confident yet bcause only 40%complete.for the processor knowledge,yet not 100% confident but i have the full manual. for C programming, i only have basic thing.
Hai Amr... I also research on RTOS on ARM11 but my hardware is ARM11 versatile board and use RVDS as my tools chain. I already download code that u advice from http://micrium.com/page/downloads/ports/arm and try to port it on my development board,but still fail, do u have try it on arm11 development board?
I also download ARM port for ARM11 but its for simulation using RTSM. U mean edit file in BSP file? Which one i need to edit because there is 8 file in the BSP file? What I need to edit?
@pavan: How can I help you?! @123kid: vdsp++5 ide is the toolchain of bf548 and I do not have experience with bf family. I can tell you what does int5011a mean. Sorry!!
Dear Amr,
ReplyDeleteHow to make a RTOS inside a microcontroller? Do we have to program it with the *.hex needed? And if yes, how to write my own function for the microcontroller, for example I have the RTOS already inside, and I want to make a function to read the keyboard. Do I modify the RTOS?
Kindest Regards,
FE
RTOS is like any program. Just look at it as a library you can use in your application code. After writing your application code that uses RTOS, you have to compile it to get the *.hex that has contains your application code + RTOS. We do not modify RTOS code but we may need to modify application and driver code.
ReplyDeleteSo we start from scratch and we call some function? (Like include-ing some *.h) or there is already a built in format in which/where we may write our own code?
ReplyDeleteExactly, You will include header files for the RTOS, add the source files (*.c files to your project), then modify your application files to call RTOS functions. RTOS calls differ from a RTOS to another. You need to study the RTOS well before using it. How good is your C knowledge?
ReplyDelete--
Amr Ali
Well, I am not that expert in C but I am confident with my C language skills :)
ReplyDeleteIt will be no problem to use RTOS then. Just follow the course to get the concepts. Then we can search for an example of using to RTOS to do together on a board you have :)
ReplyDelete--
Amr Ali
Ah! That is nice! Yes, I will study your slides and post here further question that I have..and one Out of topic question,
ReplyDeletehow to have a notification if you replied to my question (comment) here?
When you want to follow comments, you have to subsribe by email to the post after you sign in to blogger.com
ReplyDelete--
Amr Ali
Oh yes, I logged in with my Blogger account, and I just click at subscribe in the bottom right?
ReplyDeleteYes
ReplyDeleteAmr, how to know whether RTOS fit with MCU and for the driver, we need to write base on our target MCU or how?
ReplyDeleteRTOS at least needs CPU and dedicated timer in my MCU. In addition, your program and RTOS should fit in your system memory. Some RTOS may need a stack pointer that can be loaded and unloaded. Some RTOS may need Memory Management Unit, depending on its task model; whether it is process based. Regarding the drivers, they are MCU specific. Some drivers may use RTOS functions and follow specific prototypes.
ReplyDeleteNow lets be a little bit practical, you need to search what are RTOS running on your MCU or a MCU similar to yours and compare them from the point of your actual need.
--
Amr Ali
Ali, I quite confuse with ur explaination. Let me start with ur question, i already try to search what RTOS running on my MCU but found nothing, but i found another MCU that same core to mine and run RTOS. So this mean I need to compare for my needed?
ReplyDeleteIf there s a MCU has the same core as yours and runs RTOS, then with little effort it can run on your as well. BTW, what is your Micro-controller? We can do the search together.
ReplyDelete--
Amr Ali
Thanks Ali, ur so nice. My research using ARM11 by samsung and up till now, i still cannot find RTOS running on this MPU. BTW i'm a HW guy, so need some time to digest all this SW thing. Thanks again Ali, u r really2 help me
ReplyDeleteIt is my duty Lukman, no need for thanks. Tell me the Chip Number for example S3CXXXXX not the core ARM11. I will help you find a good and free RTOS ISA.
ReplyDeleteWhat are your tool chain for developing software.
--
Amr Ali
Here the chip number S3C6410. I will use RVDS for developing the software but i'm still new to this SW also. It is enough?
ReplyDeleteGuess what, I found an application note on http://micrium.com/page/downloads/ports/arm. uCOS-II is ported on the same ARM11 processor you have and same tool chain. They ran the port on a simulator. Please, check http://micrium.com/page/downloads/ports/arm. It will take some effort from us to run this port on the actual board. That will be our starting point. Do you understand very well your hardware and have sufficient knowledge of your processor, its assembly, C programming, your board structure,...
ReplyDelete--
Amr Ali
thanks again ali. i will understand the app. note.
ReplyDeletefor the hardware and board structure, i'm understand very well bcause i design it from scratch but not 100% confident yet bcause only 40%complete.for the processor knowledge,yet not 100% confident but i have the full manual. for C programming, i only have basic thing.
Good luck,
ReplyDeleteIt will take about 3 days to a week to get it work.
--
Amr Ali
ok.any update or after i run the simulation through RVDS, i will update it here
ReplyDeletePlease do, you can even post it here as your post to spread the gained knowledge pal.
ReplyDelete--
Amr Ali
any updates?
ReplyDeleteRegarding?
ReplyDeleteHai Amr...
ReplyDeleteI also research on RTOS on ARM11 but my hardware is ARM11 versatile board and use RVDS as my tools chain. I already download code that u advice from http://micrium.com/page/downloads/ports/arm and try to port it on my development board,but still fail, do u have try it on arm11 development board?
Hi bandung,
ReplyDeleteLukman did based on the example in the ARM ports for ARM11.
Make sure you correctly edited your BSP.
I also download ARM port for ARM11 but its for simulation using RTSM.
ReplyDeleteU mean edit file in BSP file?
Which one i need to edit because there is 8 file in the BSP file?
What I need to edit?
any update AMR
ReplyDeleteHi bandung,
ReplyDeleteIt depends on your case.
BSP is a very board dependent.
--
Amr
hai amar ali,
ReplyDeleteaftr long search i gt a person like u,who may clear my doubts
i want to port my code,str710f controller,
ReplyDeletefirst how can i use rtos,am usin ecos rtos,i mean how to link rtos to my code
pls help me........
for multi ide, bf 548 controller,does it needs tool chain, if wat??,tell same for vdsp++5 ide??
ReplyDeletewhat does int5011a mean??
ReplyDelete@pavan: How can I help you?!
ReplyDelete@123kid: vdsp++5 ide is the toolchain of bf548 and I do not have experience with bf family. I can tell you what does int5011a mean. Sorry!!
what does int 5011a means??
ReplyDeletedo u have any idea about input agent of vechile tracking device?/
i hav no idea abt ecos,how can my code links with it,and to b ported on str10 controller,and tool chai required for it,usin eclipse ide
ReplyDelete@123kid: is int 5011a is related to multi ide??
ReplyDeletethe example of dispatcher not found
ReplyDeleteplease post the link again or send it to my mail
mohmed123_1@hotmail.com