Skip to main content
fixed previous edit, plus fixed error regarding uC/OS-II multitasking.
Source Link
Dave Tweed
  • 178.3k
  • 17
  • 242
  • 418

I haven't used an ARM7 before, but I have used uCOSµC/OS-II on an 8 bit microcontroller before. I'm not an expert but will try to answer your questions.

  1. An RTOS will typically allow you to create "tasks", which are like separate threads of execution. uCOS uses µC/OS-II can use cooperative multitasking, sowhich would mean it's up to your tasks to give up control of the processor back to the operating system. You'll (It also supports preemptive multitasking.) You'll define priority levels for each task as well.

  2. Via tasks, you'll interact with the controller just as you would if you weren't using uCOSan RTOS. Write functions that do stuff and call them!

  3. I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest. You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.

4,5. the RTOS is just running where any normal program would run, so the reset vector points to theits start of execution.

I haven't used an ARM7 before, but I have used uCOS-II on an 8 bit microcontroller before. I'm not an expert but will try to answer your questions.

  1. An RTOS will typically allow you to create "tasks", which are like separate threads of execution. uCOS uses cooperative multitasking, so it's up to your tasks to give up control back to the operating system. You'll define priority levels for each task as well.

  2. Via tasks, you'll interact with the controller just as you would if you weren't using uCOS. Write functions that do stuff and call them!

  3. I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest. You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.

4,5. the RTOS is just running where any normal program would run, so the reset vector points to the start of execution.

I haven't used an ARM7 before, but I have used µC/OS-II on an 8 bit microcontroller before. I'm not an expert but will try to answer your questions.

  1. An RTOS will typically allow you to create "tasks", which are like separate threads of execution. µC/OS-II can use cooperative multitasking, which would mean it's up to your tasks to give control of the processor back to the operating system. (It also supports preemptive multitasking.) You'll define priority levels for each task as well.

  2. Via tasks, you'll interact with the controller just as you would if you weren't using an RTOS. Write functions that do stuff and call them!

  3. I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest. You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.

4,5. the RTOS is just running where any normal program would run, so the reset vector points to its start of execution.

it's not processor , it's switching control back to the operating system.
Source Link

I haven't used an ARM7 before, but I have used uCOS-II on an 8 bit microcontroller before. I'm not an expert but will try to answer your questions.

  1. An RTOS will typically allow you to create "tasks", which are like separate threads of execution. uCOS uses cooperative multitasking, so it's up to your tasks to give up control ofback to the processoroperating system. You'll define priority levels for each task as well.

  2. Via tasks, you'll interact with the controller just as you would if you weren't using uCOS. Write functions that do stuff and call them!

  3. I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest. You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.

4,5. the RTOS is just running where any normal program would run, so the reset vector points to the start of execution.

I haven't used an ARM7 before, but I have used uCOS-II on an 8 bit microcontroller before. I'm not an expert but will try to answer your questions.

  1. An RTOS will typically allow you to create "tasks", which are like separate threads of execution. uCOS uses cooperative multitasking, so it's up to your tasks to give up control of the processor. You'll define priority levels for each task as well.

  2. Via tasks, you'll interact with the controller just as you would if you weren't using uCOS. Write functions that do stuff and call them!

  3. I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest. You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.

4,5. the RTOS is just running where any normal program would run, so the reset vector points to the start of execution.

I haven't used an ARM7 before, but I have used uCOS-II on an 8 bit microcontroller before. I'm not an expert but will try to answer your questions.

  1. An RTOS will typically allow you to create "tasks", which are like separate threads of execution. uCOS uses cooperative multitasking, so it's up to your tasks to give up control back to the operating system. You'll define priority levels for each task as well.

  2. Via tasks, you'll interact with the controller just as you would if you weren't using uCOS. Write functions that do stuff and call them!

  3. I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest. You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.

4,5. the RTOS is just running where any normal program would run, so the reset vector points to the start of execution.

Source Link
Dave
  • 3.8k
  • 28
  • 42

I haven't used an ARM7 before, but I have used uCOS-II on an 8 bit microcontroller before. I'm not an expert but will try to answer your questions.

  1. An RTOS will typically allow you to create "tasks", which are like separate threads of execution. uCOS uses cooperative multitasking, so it's up to your tasks to give up control of the processor. You'll define priority levels for each task as well.

  2. Via tasks, you'll interact with the controller just as you would if you weren't using uCOS. Write functions that do stuff and call them!

  3. I don't know about ARM7, but on my processor the I/O ports are just memory mapped, so yes you just set / read the value at the address assigned to the port of interest. You will probably want to define the port as volatile so that the compiler doesn't optimize out things that it shouldn't.

4,5. the RTOS is just running where any normal program would run, so the reset vector points to the start of execution.