Exercises 4: The Raspberry Pi

Goal:

The Raspberry Pi in contrast to the PC uses and ARM processor and peripherals are not included in the system but are connected externally through dedicated connectors. In addition to the Display, keyboard and mouse external devices can be connected through GPIO (General Purpose I/O) pins and through buses (I2C, SPI etc). The Raspberry Pi we use has no hard disk but a 32 GByte micro SD card replacing it. Just like the PC it runs a Linux operating system. This system however is an ARM variant as compared to the PC system which uses Intel processors.

These exercises are supposed to show you similarities and differences between the two systems.

Exercise 1: Linux on the Raspberry Pi

First try to access your Raspberry Pi through the secure shell:

ssh cscgrp1@rpi-xx where xx is the number of your PC. The password is the same as the one on the PC.
Try to start emacs on the Pi. Does it work? Does it look the same as on the PC?

Then exit the secure shell with the exit command and re-try ssh with the -XC options. Re-do what you did before. Did emacs change?

Poke through the Linux file system on the Raspberry Pi and try to find differences to the PC. Run the commands you tried on the PC during the very first lab session.

Finally exit ssh again and start the remote desktop client Remmina. There is this button on the task-bar.

reminna.png

A connection should be predefined for you. Of course your connection will be named corresponding to the Pi you are connection to.

remmina.png

Double click on the connection and with a little bit of luck you should be connected to the desktop of your Pi.

Exercise 2: Compile for ARM

Create a file system structure for the exercises similar to the one on the PC with ~/exercises, problems, solutions, doc etc. in them, also on the Raspberry Pi. Copy the C programs from the codeExamples written for the PC over to the Pi using the scp command. In which directory do you place them?

Use the Raspberry Pi gcc compiler to compile these C files and try to run them on the Pi. I expect that you have written Makefile for each of the C programs you have written so far. If you did not, then this is your last chance to do so! Do your programs run the same way as on the PC?

Cross compile the programs you wrote in the exercise on C programming on the PC to run them on the Raspberry Pi, which uses the ARM processor. The cross compiler is named arm-linux-gnueabihf-gcc. With the file command find out for which machine the program has been compiled. Does the cross compiled program run on the PC and why? Does it run on the Pi? Can you write a Makefile which uses the cross compiler instead of the native compiler?

Copy the cross compiled programs to the Raspberry Pi using scp and try to run them there.

At the end of the exercises session all programs you had on the PC should be available and running on the Pi.

-- Uli Raich - 2017-08-13

Comments

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatodt exploreRaspbian.odt r1 manage 21.7 K 2017-10-25 - 18:52 UnknownUser  
PNGpng reminna.png r1 manage 3.9 K 2017-10-12 - 08:11 UnknownUser  
PNGpng remmina.png r1 manage 27.4 K 2017-10-12 - 08:11 UnknownUser  
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2017-10-25 - uli
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback