background preloader

Free online course on building a simple Raspberry Pi OS from the University of Cambridge

Free online course on building a simple Raspberry Pi OS from the University of Cambridge
This summer, the University of Cambridge Computer Lab has been home to a small group working on projects with the Raspberry Pi. Alex Chadwick is one of those people, and he’s produced this: a free course on building a very simple operating system for the Raspberry Pi in assembly language. The course opens with some explanations about what assembly language is – and, importantly, what an operating system really is; you’ll learn some new concepts and possibly some new terms, and then you’ll dive headlong into practical work. You will work through sessions which teach you how to enable and manipulate one of the board’s LEDs, then learn some graphics theory and start generating lines, text and random numbers. Eventually you’ll be manipulating text to display computed values, and learning how to build your own command line interface. Many thanks to the University of Cambridge Computer lab for making the course available, and especially to Alex.

http://www.raspberrypi.org/archives/1913

Related:  ConfiguraciónPrograming Raspberry

How to Customize XBMC 12 Frodo with All the Bells and Whistles Kodi (formerly known as XBMC) is a great entertainment center software. But, here’s the deal: Like many other open source projects, it is driven by a very technical community, and it is not necessarily user-friendly enough for the average person to use and customize. Fortunately, with a bit of time and the right skin, you can set things up properly and make Kodi (XBMC) very user-friendly and rock solid. I have spent countless hours crawling forums and websites, trying to get the live TV setup, premium online content, automatic light control, and all the other settings right. Note: These step-by-step instructions have been tested with Kodi v15, but they should also be compatible with v16 (codename Jarvis).

Support for GPIO-driven interrupts maddin1234 wrote:Ok, perhaps MY process is sleeping, but then POLL has to run to thedoor and wake me up when someone is there.I didn't have a look into poll.c, but from the name I guess it is polling. poll(), and the similar select(), are the standard system calls for checking and/or waiting for one or more files to become ready for I/O. With a timeout value of zero, poll() simply checks whether each of the files is in the requested state and returns immediately. So you can use it to make your own polling loops. But with a non-zero timeout value, and if none of the requested conditions are already met, poll() puts the current process in an (interruptible) sleep state until some asynchronous event elsewhere on the system changes the state of one of files, or causes the timeout to expire. Neither the user process nor the kernel is wasting any CPU during the period when it is waiting for the pin to change state.

Raspberry Pi WiringPi provides some helper functions to allow you to manage your program (or thread) priority and to help launch a new thread from inside your program. Threads run concurrently with your main program and can be used for a variety of purposes. To learn more about threads, search for “Posix Threads” Program or Thread Priority int piHiPri (int priority) ;

Tutorial: Interrupt-Driven Event-Counter on the Raspberry Pi --D. Thiebaut (talk) 19:57, 23 July 2013 (EDT) Install the WiringPi Library Get the WiringPi library from drogon.net Follow the directions on the Web site to download to the Pi. In my case the Pi is connected to my Mac through an ethernet cable, so I downloaded the tgz archive from and sftp it over to the pi. I renamed the actual library to wiring.tgz, which is easier to type than its actual name. Serial Library WiringPi includes a simplified serial port handling library. It can use the on-board serial port, or any USB serial device with no special distinctions between them. You just specify the device name in the initial open function. To use, you need to make sure your program includes the following file: #include <wiringSerial.h> Then the following functions are available:

Five Basic Raspberry Pi Projects At $35, the Raspberry Pi is almost an impulse purchase. Once its in your hands, its basic nature calls out for it to be used in some great projects. While its always tempting to jump in and build something completely mindblowing, it pays to start with a few easy projects and learn the system before jumping in to the deep end and experiencing frustration. Easy Project Criteria We classified easy, basic Raspberry Pi projects as ones that required a limited amount of programming expertise and required only hardware that might be owned already.

RPi Low-level peripherals Back to the Hub. Hardware & Peripherals: Hardware and Hardware History. Raspberry Pi - run program at start-up Anyway, I wanted to get my Raspberry Pi to start no-ip dynamic dns service when it started-up, so I wouldn't have to remember to start it every time it was powered up. For details on how to install no-ip on the Pi, see this post. There are loads of ways of running a command at start-up in Linux but my favoured approach is to create an initialisation script in /etc/init.d and register it using update-rc.d.

The Only Raspberry Pi XBMC Tutorial You Will Ever Need In this updated guide, you will learn how to set up Raspberry Pi 3 as a complete Kodi (was XBMC) entertainment center solution with the right accessories. Over the past couple of years, I have had mixed feelings about Raspberry Pi as a Kodi based front-end device, because even after using all possible optimization tricks it simply was not responsive enough for my requirements. Fortunately, with the latest Raspberry Pi 3 this is not the case anymore. In this complete and up-to-date tutorial, you will learn

bcm2835: C library for Broadcom BCM 2835 as used in Raspberry Pi This is a C library for Raspberry Pi (RPi). It provides access to GPIO and other IO functions on the Broadcom BCM 2835 chip, allowing access to the GPIO pins on the 26 pin IDE plug on the RPi board so you can control and interface with various external devices. It provides functions for reading digital inputs and setting digital outputs, using SPI and I2C, and for accessing the system timers.

Related: