1 / 11

Adventures in Real Time and Embedded Linux by Dawn Nelson

Adventures in Real Time and Embedded Linux by Dawn Nelson. My CS Background. Long ago: BS in CS with Math minor and a German minor from Allegheny College, PA (near Erie). Have been working for Rome Research Corp as a programmer/system analyst for 24 years

cardea
Download Presentation

Adventures in Real Time and Embedded Linux by Dawn Nelson

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adventures in Real Time and Embedded LinuxbyDawn Nelson

  2. My CS Background • Long ago: BS in CS with Math minor and a German minor from Allegheny College, PA (near Erie). • Have been working for Rome Research Corp as a programmer/system analyst for 24 years • Unix/Linux user since early 1990’s, with no sys-admin experience or kernel hacking. • Fortran and C programming with some VB thrown in, and then Java.

  3. My Geek-Weekends looks like this

  4. The Project: • Plan A: use the ARM 7 or ARM9 and a motion sensor, to control a usb webcam, sending photos to a web server. • Plan A fizzled out after 40-50 hours of not being able to get 3 different web cams to work. • Plan B: devise a device similar to the thermostat project, but the Arm has no parallel port. It morphed into seven-segment display with pushbuttons and toggle switches. • After melting 1 ARM9 and one 7-seg, I scaled back to prevent further injuries.

  5. Steps Taken: • Acquire a system to embed upon – this was done by asking people at work. If none was found, I would use the ARM7. • Read 100 manuals on how to configure, boot, use the ARM9 (ok, that’s an exaggeration, but it was at least 100 pages of pdf files) • With no parallel port, I decided to use the DIO and LCD headers are directly readable/writable • My Co-workers like to make gadgets with wires.

  6. More Steps: Embed the kernel • The ARM9 has a bootable flash Debian system. To embed a different kernel , I used an SD card. From the EmbeddedArm.com site, I downloaded an embeddable Debiantarball. • The SD card was fdisk-d and partitioned. • The unzipped tarball SD image was written to the SD card using dd if=512mbsd-debian-sarge.dd of=sda • Jumper 1 was set, and the ARM9 booted from the card upon restart

  7. More Steps: Program the devices • Wrote C code to cycle through the segments of the 7-seg display in a figure 8 pattern. • Wrote C code to read switches and buttons, but due to component melting, those devices will not be used. • Wrote C code, using the timer code from Jitter.c to observe results of 7-seg display with cpu dragging.

  8. Set Backs • ARM9 became unbootable upon smoking at the power source • With the 7-seg connected to the LCD pins and the switches/button connected to the DIO pins, something went wrong.. • Either a ground wire came loose or an unused connection wire touched something and caused a short • 7-seg display melted • Totally wrong connector

  9. While waiting for repairs: Parport driver and thermostat program: • The driver needed some changes to allow it to register and unregister consistently. • But still doesn’t work. • Changed trgdriver.c to write to parport without the driver. That works. • Still trying to get the driver to work.

  10. Step 3: Real Time • Download “vanilla” kernel 2.6.23 from kernel.org. • Download rtai-2.6.2.tar.gz from rtai.org • Unpack kernel source, make menuconfig, Apply patch from rtai/base/arch/i386/patches/linux-hal-…patch • Build the patched kernel, make, make modules_install, make install. • Boot new kernel , make and make install RTAI. So far, so good. • No Adeos present. Modules won’t insmod. • Backing up to the version that the book uses.

  11. Now What? • The high priority task behaves the way I would expect a real time task to behave. • When I find a kernel and rtai/adeos that works, I will compare the timing results. • Also, port the RTAI kernel to the ARM9 device. • Find a way to get the parport driver to work.

More Related