running the linux on STM32F407VGT6

Hi guys

I am starting this new thread in hope that it will be a good sharing platform for both advanced users and the beginners.

Actually what I am going to discuss here is that how to run linux kernel on the

STM32F407VGT6 controllers the main feature of which is that it is MMU less.

Many people might say that it's easy to run linux on the MMU less devices as the linux kernel has its own flavour without MMU and that is uClinux.

ofcourse I agree but what I found with my search and study is that uClinux is pretty outdated right now and most of the devices using uClinux still rely on the

2.4.x version and not on 2.6.x

Also the versioning system of uClinux is very different from that of the normal linux.

Check it here:

formatting link

How can someone compare it with the Linux version which is in the form of

2.6.xx

After doing some more search and with the help of a friend I got this link:

formatting link

Here the arm linux has been given as git repository.

But before I get further I thought why not I should involve the expert people of this forum also in to my this journey.

So the question is that if I want to run or port the linux 2.6.33 to the STM32F407VGT6

than how can I get to that.

Please guys I hope the inputs from all the people on this forum.

Thanks

--------------------------------------- Posted through

formatting link

Reply to
piyushpandey
Loading thread data ...

The short answer is: You cannot.

The uClinux variant is created to by-pass the problems created by a CPU without a MMU, but it has its limitations. The memory management of the full kernel absolutely needs a MMU to work.

--

Tauno Voipio
Reply to
Tauno Voipio

I disagree with you that you can't run linux on the cortex m4 architecture.

As I browsed this link I got very useful information here:

formatting link

formatting link

Here these guys have ported the uClinux to the ST microcontroller.

I downloaded there BSP and the version of the kernel is 2.6.33

But I didn't find any uClinux source based on this version on there site.

I want to know that how to get the uClinux version 2.6.33

Thanks

--------------------------------------- Posted through

formatting link

Reply to
piyushpandey

The short answer is that you cannot run Linux on a cpu without an MMU - but the long answer is that you /can/ do so. The ucLinux project was started for exactly that purpose - but the changes required have long since been merged in mainline and you can build a current 3.13 kernel for an ARM with no MMU.

However, the even longer answer is that it is not an easy matter, and it does not seem to be done very much (I certainly haven't tried it myself).

It is also important to remember that the limitations of a Linux system without an MMU - as well as the obvious things (no swap, little or no protection of memory spaces between processes), there is a key difference that nommu Linux does not support "fork". There are plenty of other ways to create new processes and threads, but traditional *nix fork calls require copy-on-write memory to be efficient (this is the main reason why multiple processes has always been far cheaper on *nix systems than on windows systems).

Reply to
David Brown
2014-03-04 21:15, piyushpandey skrev:

It would be interesting to understand WHY you want to run it on this chip and not on a chip which is well supported by linux?

peripherals?

Even more interesting would be to see a calculation on return on investment that would make sense.

It isa outdated for a resaon, the cost of Linux capable controllers are now so low, that in most, if not all cases, it does not make economic sense to run linux on an MMU less controller.

BR Ulf Samuelsson

Reply to
Ulf Samuelsson

Sure, you can disagree, but we disagree with your disagreement.

Back to a more basic question. How much memory do you have? There is no way to fit a functional 2.6 kernel in 1M internal flash. If you are using external memory, there are better choices.

Reply to
edward.ming.lee

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.