0
\$\begingroup\$

I have an ARM926EJ MCU (datasheet) that I am learning how to program for a research project. I have been researching, as well as reading a textbook on Professional Embedded ARM Development in order to learn how to program, and I have learned much about bare metal programming for my specific project.

However, I want to learn how to program with an operating system on my MCU. I intend on running a simple program, and I would like for an operating system to do much of the low-level handling for me. From my research, programming in the Linux environment will speed up my learning curve by much.

My question is two part:

  1. How do I download an operating system onto my MCU?

  2. How do I run a program on my MCU after installing an operating system on it?

If you are interested in the details of my project it is very simple: I will use the internal clock to detect the timing of 30 ns pulses received by a GPIO pin with a rough resolution; and I will upload these recorded clock values to another MCU via SPI connection. So, I will have to simultaneously handle the GPIO pulse stream and the SPI upload connection.

\$\endgroup\$
1
  • \$\begingroup\$ Whn you say Operating System, do you mean something like Linux, with applications running separately from the OS and from wach otyher, or do you mean an RTOS like uCOS2 which is liked along with the applications and loaded (and run) more or less as as one? \$\endgroup\$ Commented May 8, 2015 at 20:34

1 Answer 1

2
\$\begingroup\$

Your two questions depends on the operating system.

Choosing the Operating System is a whole new question that is where you might start from.

As your application seems very simple, and might have real time contrains, I suggest you to analyse the possibility of implementing it bare metal. But, if Operating System is required, take a look at FreeRTOS, might interest you!

\$\endgroup\$
2
  • \$\begingroup\$ This, counting 30ns pulses is not conducive to the overhead of running Linux. \$\endgroup\$
    – Matt Young
    Commented May 8, 2015 at 20:47
  • \$\begingroup\$ I agree and would include the overhead of learning embedded Linux, which would increase his learning curve by much. \$\endgroup\$
    – Caio A.
    Commented May 8, 2015 at 20:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.