Questions tagged [uclinux]

μClinux was a fork of the Linux kernel for microcontrollers (in embedded systems) without a memory management unit (MMU). It was integrated into the main line of development as of 2.5.46; the project continues to develop patches and tools for microcontrollers.

μClinux was originally created by D. Jeff Dionne and Kenneth Albanowski in 1998. Initially, they targeted the Motorola DragonBall family of embedded 68k processors (specifically the 68EZ328 series used in the Motorola PalmPilot) on a 2.0.33 Linux kernel. After releasing their initial work, a developer community quickly sprang up extending their work to newer kernels and other microprocessor architectures. In early 1999, support was added for the Motorola (now Freescale) ColdFire family of embedded microprocessors. ARM processor support was added later.

Although originally targeting 2.0 series Linux kernels, it now has ports based on Linux 2.4 and Linux 2.6. The Linux 2.4 ports were forward ported from the 2.0.36 Linux kernel by Michael Leslie and Evan Stawnyczy during their work at Rt-Control. There were never any μClinux extensions applied to the 2.2 series kernels.

Since version 2.5.46 of the Linux kernel, the major parts of μClinux have been integrated with the main line kernel for a number of processor architectures. Greg Ungerer (who originally ported μClinux to the Motorola ColdFire family of processors) continues to maintain and actively push core μClinux support into the 2.6 series Linux kernels. In this regard, μClinux is essentially no longer a separate fork of Linux.

The project continues to develop patches and supporting tools for using Linux on microcontrollers. μClinux has support for many architectures, and forms the basis of many products, like network routers, security cameras, DVD or MP3 players, VoIP phone or Gateways, scanners, and card readers.

Source: Wikipedia (μClinux)

Official website: www.uclinux.org

100 questions
3
votes
1 answer

Bitbanging a PIO on Coldfire/ucLinux

Here's the problem: I need to program some hardware via 2 pins of the PIO (1 clock, 1 data). Timing constraints are tight - 10ms clock cycle time. All this, of course, whilst I maintain very high level services (CAN bus, TCP/IP). The downstream unit…
J Evans
  • 1,026
  • 1
  • 15
  • 34
3
votes
3 answers

uclinux - link with libc.so.0 library

I'm trying to compile "hello world" C application for embedded system with ARM processor running uClinux. I'm using this toolchain When I compiled C application with -static compilation flag the application is working fine. When I removed -static…
Dima
  • 1,121
  • 3
  • 18
  • 30
3
votes
1 answer

Initrd, Ramdisk, Initramfs, uclinux

I am working on uclinux porting on coldfire board M5272C3. Right now I have kernel running from RAM with romfs as my rootfile system. I am not clear about few terms what they mean and when to use them.... Please explain me in a simplest possible…
Phogat Ashish
  • 163
  • 1
  • 2
  • 9
3
votes
2 answers

What does it mean to attach ROMFS in RAM?

I'm building a kernel for an ARM platform running uClinux 2.4 and under "General Setup" in the Linux configuration there is an option called "m68knommu-style attached romfs in RAM support". My ARM assembly skills are somewhat limited but as far as I…
David Holm
  • 15,666
  • 6
  • 44
  • 47
2
votes
2 answers

High resolution timer on Coldfire (MCF5328)

I've inherited a embedded project that requires some simple, per-function performance profiling. It consists of a Coldfire (MCF5328) running uClinux (2.6.17.7-uc1). I'm not an expert on either the Coldfire, or uClinux (or Linux for that matter), so…
Tergiver
  • 13,473
  • 2
  • 34
  • 64
2
votes
0 answers

MTDBLOCK1 appears to be overwritten with SD Card contents on embedded Linux system

Background I am maintaining a product that has an Analog Devices ADSP-BF547 Blackfin Microprocessor that is running the ADI's 2011R1-RC3 distribution of uCLinux, which uses Busybox. The processor mounts an SD card which it writes some encrypted TAR…
Nick
  • 1,133
  • 1
  • 12
  • 30
2
votes
1 answer

Magnetometer data on MPU-9250 (uClinux)

I've found a few other people ask about this, but all of them are coding in Arduino, and I'm struggling to translate it into my project. I'm on a research team developing a Cube Satellite for launch, and my role is to communicate with the…
Connor Olsen
  • 145
  • 1
  • 13
2
votes
1 answer

uclinux and necessity for device drivers

Normally MMU-less systems don't have MPU (memory protection unit) as well, there's also no distinction between the user & kernel modes. In such a case, assuming we have a MMU-less system with some piece of hardware which is mapped in CPU address…
Mark
  • 4,824
  • 5
  • 38
  • 85
2
votes
0 answers

NIOS II - Resetting FPGA from software (reload FPGA configuration, don't just reset processor)

Context I'm writing code that runs in uClinux on a NIOS II processor. The FPGA is a Stratix II. The FPGA design was done by someone else who is no longer at the company and I'm not a firmware designer, just a software programmer. Problem The FPGA…
Sonic Atom
  • 374
  • 4
  • 11
2
votes
1 answer

QML running with Qt for Embedded System on uclinux?

I only write QML app with Qt 5.1.1 running on Mac & Windows. Anyone know what's the version of Qt for Embedded System integrated in the uclinux? Do the Qt on uclinux support QML? Do I need to re-implement the UI with Qt widgets in C++ to run it on…
Robert
  • 1,538
  • 20
  • 34
2
votes
1 answer

lpc1788 cortex m3 interrupt handling with uclinux

I am newbie for the uclinux device drivers please guide me how to do this.. suppose I have connected a switch to one of the cortex m3 controller pin and whenever the switched is press the LED connected to other pin of controller as to light. how to…
amar
  • 487
  • 3
  • 6
  • 16
2
votes
0 answers

C on embedded system w/ linux kernel - mysterious adc read issue

I'm developing on an AD Blackfin BF537 DSP running uClinux. I have a total of 32MB SD-RAM available. I have an ADC attached, which I can access using a simple, blocking call to read(). The most interesting part of my code is below. Running the…
Tausen
  • 55
  • 6
2
votes
0 answers

strange gdbserver output shows at my target device

when I run gdbserver on uclinux target device blackfin bfin537/stamp it work perfectly but it always generates annoying output Request to get for unknown register 232 Request to get for unknown register 236 it is extremely annoying since each step…
Sina Sou
  • 149
  • 1
  • 6
2
votes
1 answer

linker script wastes my memory

here's my problem. I have this linker script that links a standard arm7nommu-uClinux kernel: OUTPUT_ARCH(arm) ENTRY(stext) SECTIONS { . = 0x0; .vectors : { *(.resetvector) } . = 0x8000; .init : { /* Init code and data */ …
Lore
  • 53
  • 5
1
vote
1 answer

embedded uclinux footprint on cortex M3

I am having trouble with this question, somebody (hopefully mistakenly) moved the previous question to Unix/Linux list which has zero uclinux tagged questions. This is more of a embedded linux question.. I have a question about the footprint of…
Frank
  • 291
  • 1
  • 10