Following are some interesting URLs where we can get useful technical information regarding the board:
- The home page: http://espressobin.net/
- The documentation wiki: http://wiki.espressobin.net/tiki-index.php
- Forums: http://espressobin.net/forums/
Taking a look at the technical specifications at http://espressobin.net/tech-spec/, we get the following information where we can see what the ESPRESSObin v5 can offer in terms of computational power, storage, networking, and expandability:
System on chip (SoC) | Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53 processor up to 1.2GHz |
System memory | 1 GB DDR3 or optional 2GB DDR3 |
Storage | 1x SATA interface 1x micro SD card slot with footprint for an optional 4GB EMMC |
Network connectivity | 1x Topaz Networking Switch 2x GbE Ethernet LAN 1x Ethernet WAN 1x MiniPCIe slot for wireless/BLE peripherals |
USB | 1x USB 3.0 1x USB 2.0 1x micro USB port |
Expansion | 2x 46-pin GPIO headers for accessories and shields with I2C, GPIOs, PWM, UART, SPI, MMC, and so on. |
Misc | Reset button and JTAG interface |
Power supply | 12V DC jack or 5V via micro USB port |
Power consumption |
Less than 1W thermal dissipation at 1 GHz |
In particular, the following screenshot shows the top view of the Marvell ESPRESSObin v5 (from now on, please take into account that I'm not going to explicitly add "v5" anymore):
In the preceding screenshot, we can see the following components:
- The power connector (12V DC jack)
- The reset switch
- The micro USB device port (serial console)
- The Ethernet ports
- The USB host ports
The next screenshot shows the bottom view of the board where the microSD slot is located; this is where we should plug in the microSD we're going to create later on in this chapter:
In this book, we'll see how we can manage (and reinstall) a complete Debian distribution, something that will allow us to have a wide set of ready-to-run software packages, as in a normal PC (in fact, the Debian ARM64 version is equivalent to the Debian x86 version). Afterward, we will develop our device drivers for the board, and then, when possible, we will test them with real devices connected to the ESPRESSObin itself. A little tutorial about how to set up the host system is also present in this chapter, and you can use it to set up a GNU/Linux-based working machine or a dedicated virtual one.
The code and other files used in this chapter can be downloaded from GitHub at https://github.com/giometti/linux_device_driver_development_cookbook/tree/master/chapter_01.