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 get access to the Raspberry Pi through the remote desktop as well as through ssh. Try if you can copy files back and forth between the PC to the Pi using scp.

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.

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. Do they 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.

-- Uli Raich - 2017-08-13

Comments

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2017-09-22 - uli
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback