| Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome. |
| Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
 |
GNU/Linux Basic Guide
This 255-page guide will provide you with the keys to understand the philosophy of free software, teach you how to use and handle it, and give you the tools required to move easily in the world of GNU/Linux. Many users and administrators will be taking their first steps with this GNU/Linux Basic guide and it will show you how to approach and solve the problems you encounter.
Click Here to receive this Complete Guide absolutely free. |
|
 |
06-27-2008, 01:39 AM
|
#1
|
|
LQ Newbie
Registered: Jun 2008
Location: SF Bay Area
Distribution: Ubuntu
Posts: 15
Rep:
|
memory mapping for linux
Hi all,
I'm not familiar with embedded linux so I have a general question regarding memory.
Currently, I'm part of a group that is using an arm-based dev board to develop an embedded system. The dev board has 128M of RAM, however the final silicon (which we don't have yet) will only have 16M of RAM (which is enough for our software). My question is: If we just want to transfer the software over to the final silicon, will I need to make any changes to the kernel to adjust for the lower memory? Or should it just transfer over nicely if the only change is the memory size?
I know it's a fairly general question, but any help is appreciated. Thanks!
|
|
|
|
06-27-2008, 01:50 AM
|
#2
|
|
Senior Member
Registered: Jun 2008
Posts: 2,529
Rep:
|
I don't know of any special requirements for this. I believe you can test by booting the kernel, and telling it that only 16meg of RAM is available. (I don't recall the boot param currently).
The kernel determines RAM at boot time. The exceptions of course are for large memory kernels (eg. >4, >64gig). It should just transfer.
|
|
|
|
06-27-2008, 10:36 AM
|
#3
|
|
LQ Newbie
Registered: Jun 2008
Location: SF Bay Area
Distribution: Ubuntu
Posts: 15
Original Poster
Rep:
|
Quote:
Originally Posted by Mr. C.
I don't know of any special requirements for this. I believe you can test by booting the kernel, and telling it that only 16meg of RAM is available. (I don't recall the boot param currently).
The kernel determines RAM at boot time. The exceptions of course are for large memory kernels (eg. >4, >64gig). It should just transfer.
|
Thanks for your input. I was thinking along the same lines, using the "mem=16M" option.
|
|
|
|
06-28-2008, 11:06 PM
|
#4
|
|
Member
Registered: Feb 2004
Location: Sydney - Australia
Distribution: OpenSUSE, Ubuntu, Mythbuntu, iMedia, Embedded Linux
Posts: 43
Rep:
|
[Usual Disclaimer: I am somewhat knowledgeable on embedded systems and with Linux in particular. BUT always verify such claims directly to your development & target hardware.]
Generally, you just develop, test, debug your application using either your on-board embedded target, or on a Linux development machine (which is your case). Once your satisfied with your application, you then build a Linux configuration to suit your embedded target, removing any and all unnecessary options, particularly kernel (built-in modules) not required to run the application, administrative and/or on-line debug capabilities.
On your particular ARM target usually if your a student or in a learning environment the target system will have a general Linux kernel already running. It this is not the case you would build a streamlined kernel configuration containing only the necessary functionality required for your application, pass the configuration over to your Linux tool chain which will build your required kernel. (it all depends on your Linux tool chain - so your mileage may vary).
Basically, the Linux tool chain will separate out those structures requiring RO, and those requiring RW capability (that is its primary task). It passes this structured information to the cross-compiler(s) that build your configured kernel accordingly.
Once your got a working Linux kernel running on your target system, you usually either load the kernel via tftp, dhcp or nfs booting. Some target systems have UBoot as its BIOS, so you can boot both your specially configured kernel (inclusive libs) and your application, and simply run it.
If your interested in some very good Linux Embedded books I can highly recommend the following:
Embedded Linux Primer - Hallinan - ISBN 9780131679849
Linux Application Design - Smith et Al. - ISBN 9781593271404
Programming Embedded Systems - Barr & Massa - ISBN 0596009836
|
|
|
|
07-01-2008, 07:00 PM
|
#5
|
|
LQ Newbie
Registered: Jun 2008
Location: SF Bay Area
Distribution: Ubuntu
Posts: 15
Original Poster
Rep:
|
Thank you for your help.
To continue on, I have another question =).
For a processor with an MMU, how is the memory map generated? For example, how does MMU know which physical address ranges are addressable when translating from virtual->physical?
I read in some places that this information is provided by the BIOS. If my system only has Redboot, is this information specified in Redboot or somewhere in the kernel config?
Thanks once again!
|
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 05:02 PM.
|
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|