Linux and Electronics
Total Page:16
File Type:pdf, Size:1020Kb
Linux and Electronics Urs Lindegger Linux and Electronics Urs Lindegger Copyright © 2019-11-25 Urs Lindegger Table of Contents 1. Introduction .......................................................................................................... 1 Note ................................................................................................................ 1 2. Printed Circuits ...................................................................................................... 2 Printed Circuit Board design ................................................................................ 2 Kicad ....................................................................................................... 2 Eagle ..................................................................................................... 13 Simulation ...................................................................................................... 13 Spice ..................................................................................................... 13 Digital simulation .................................................................................... 18 Wings 3D ....................................................................................................... 18 User interface .......................................................................................... 19 Modeling ................................................................................................ 19 Making holes in Wings 3D ........................................................................ 20 3. Embedded Devices ............................................................................................... 21 Cross compilation ............................................................................................ 21 distcc ............................................................................................................. 22 Embedded Linux .............................................................................................. 23 x86 embedded ................................................................................................. 23 Raspberry pi ................................................................................................... 24 Gentoo on Raspberry ................................................................................ 25 Debian on Raspberry ................................................................................ 27 Beaglebone ..................................................................................................... 28 Sabre ............................................................................................................. 30 MCIMX6 ................................................................................................ 31 ltib ........................................................................................................ 31 Gentoo Linux on Sabre ............................................................................. 31 Mfgtool .................................................................................................. 36 AVR microcontrollers ....................................................................................... 37 Building Avr crosscompiler under Gentoo Linux ........................................... 37 Setoutput ................................................................................................ 38 Compiling and linking .............................................................................. 38 Program the chip ..................................................................................... 41 Debugging AVR micro controllers .............................................................. 45 Assembler ............................................................................................... 47 Codeblocks ............................................................................................. 48 AVR eclipse plugin .................................................................................. 51 AvrStudio and WinAvr ............................................................................. 55 Arduino .................................................................................................. 55 Interfacing AVR devices to Linux via USB .................................................. 57 PIC microcontrollers ......................................................................................... 57 STM32 ........................................................................................................... 58 C and small microcontrollers ............................................................................. 59 LCDproc ........................................................................................................ 59 Hardware issues ....................................................................................... 59 LCDproc software setup ............................................................................ 61 Modbus .......................................................................................................... 61 Terms and definitions ............................................................................... 61 Libmodbus .............................................................................................. 62 Modbus with Python ................................................................................ 63 Freemodbus ............................................................................................ 63 MBLogic ........................................................................................................ 64 MBLogic Soft Logic ................................................................................ 65 HMIServer .............................................................................................. 65 MBProbe ................................................................................................ 68 4. Interface ............................................................................................................. 69 iv Linux and Electronics Serial port ....................................................................................................... 69 Working with serial ports .......................................................................... 69 Terminal programs ................................................................................... 70 Troubleshooting serial links ....................................................................... 71 USB to RS232 serial controller .................................................................. 71 Programming serial links ........................................................................... 72 Connection to a remote serial link ............................................................... 72 I2C ................................................................................................................ 73 External I2C adapters ............................................................................... 73 Observing an external LM75 chip ............................................................... 74 MLX90614 Infra Red Thermometer ............................................................ 76 Observing a memory chip ......................................................................... 76 I2c bit banging ........................................................................................ 77 CAN .............................................................................................................. 79 CAN Hardware ........................................................................................ 79 CAN frames ............................................................................................ 79 CANopen ............................................................................................... 81 CAN Festival .......................................................................................... 82 Bluetooth ........................................................................................................ 83 Inside bluetooth ....................................................................................... 83 Adeunis ARF7678AA ............................................................................... 84 Laird BTM411 ........................................................................................ 84 LIRC ............................................................................................................. 86 LIRC inside ............................................................................................ 86 About the IR signals and the configuration file .............................................. 86 Lirc receivers .......................................................................................... 87 Lirc transmitters ...................................................................................... 87 A homebrew serial LIRC receiver ............................................................... 88 Audio receivers and transmitters ................................................................. 91 UDP ...................................................................................................... 95 UIR, IRman, UIRT, UIRT2 and USB-UIRT ................................................. 95 Setting up and testing the LIRC receiver ...................................................... 97