Angstrom OS

Chipsee Angstrom OS User Manual

../../../../../_images/Chipsee_Logo_Full.png

This manual provides users with a fast guide of Chipsee Industrial Computer (Abbreviated as IPC) about Angstrom OS development. Through this manual, users can quickly understand the hardware resources; users can debug Angstrom OS via serial and Internet.

Revision

Date

Author

Description

V1.0

2021-12-09

Randy

Initial Version

SUPPORTED BOARDS:

CS80480T050 CS10600T070 CS10768T097

PREBUILT FILES PACKAGE:

Prebuilt files for the various industrial PCs can be found in the OS Downloads.
Below are the links to the prebuilt files for each industrial PC model.

System Features

Feature

Comment

System

Angstrom 2012

Preparation

You will need to prepare the following items before you can start using the Prebuilt Files Package to re-flash the system.

  • Power Supply Unit (PSU) with the appropriate voltages, as follows:

    • Products with 5” display panel require 6V to 36V PSU

    • Products with 7” to 10.1” display panel and larger require 6V to 42V PSU

  • USB to serial cable for debugging Chipsee Industrial Embedded Computers (Chipsee IPC)

  • TF Card to create a bootable storage for re-flashing the system. Use the prebuilt files link above to re-flash the system.

Hardware Requirements

  • Chipsee Industrial PC

  • PSU according to the instructions above

  • USB-to-serial or other serial cable for debugging

  • TF Card (at least 4GB) and card reader

  • USB A-A cable (used only if the hardware configured as OTG)

  • Windows 7 PC

Software Requirements

  • Angstrom OS Prebuilt Files Package (from the link above)

Note

In this documentation, all the commands are executed with root user privileges.

Getting Started and Tests

DIP Switch Configuration

Set the boot DIP switch, as shown on the figure below, to boot the system from the external SD Card.

../../../../../_images/Boot_SW2.jpeg

Figure 812: Boot Mode Setup

Downloading Images

Chipsee IPC supports booting from an integrated eMMC or an external TF Card (also known as the micro SD card). Booting from the external TF Card allows flashing the system OS.

Note

The operator should use the prebuilt file we provided in the CD to test the hardware before re-flashing the system.

Prebuilt Files Package

You can get the Prebuilt Files Package for each model from links mentioned at the beginning of this documentation. You can also get the Prebuilt Files Package from the DVD in /Angstrom/Prebuilds folder. However, it may be outdated so always compare the versions (the last number in the filename is the release date).

The prebuilt package has the following content:

Table 239 Prebuilt Files Package

Contents

Comment

boot/imx6ulipc.dtb

TF Card boot dtb file

boot/u-boot.imx

TF Card boot bootloader

boot/zImage

TF Card boot kernel file

filesystem/rootfs-emmc-flasher.tar.bz2

TF Card boot rootFS

mksdcard.sh

Shell tools to make bootable TF Card

README

Simple guidelines

S1.jpg

Boot Switch Config Figure

emmc-flash/emmc/rootfs.tar.gz

RootFS in target eMMC

emmc-flash/emmc/u-boot.imx

Bootloader in target eMMC

emmc-flash/emmc/zImage

Kernel file in target eMMC

emmc-flash/emmc/imx6ul-eisd.dtb

dtb file in target eMMC

emmc-flash/mkemmc.sh

Shell tools to download images

Note

The default zImage and imx6q-sabresd.dtb files support ‘keep the logo from uboot to kernel’ but do not support framebuffer. Chipsee provides zImage_framebuffer and imx6q-eisd.dtb_framebuffer file versions that support the framebuffer function but do not support the ‘keep the logo from uboot kernel’ feature. If you need the framebufer, just rename these two files to zImage and imx6q-eisd.dtb.

How to make a bootable SD card

The Prebuilt Files Package has a shell tool that can help create a bootable SD card using a Linux platform (such as desktop PC or Virtual Machine running Ubuntu 14.04 distribution).
Use the SD Card to download the bootable system image onto the Linux platform and follow the steps below to create a bootable SD card:

  1. Copy the Prebuilt Files Package to a Linux environment (such as Ubuntu 14.04).

  2. Insert the SD card into your computer. If you are using virtual machines, please ensure the SD card is mounted to the Linux operating system.

  3. Confirm the SD card mount point, /dev/sdX,(e.g., /dev/sdc or /dev/sdb, be sure to use the right one). In a Linux system, you can use the command below to find out what X is.
    $ sudo fdisk –l
    
  4. Copy the prebuilt-angstrom-XXXXXX.tar.gz to somewhere(such as $HOME).

  5. Extract the prebuilt-angstrom-XXXXXX.tar.gz
    $ tar -xzvf prebuilt-angstrom-XXXXXX.tar.gz
    
  6. Go to the folder
    $ cd ~/prebuilt-angstrom-XXXXXX
    
  7. Use the following command to flash the Angstrom OS to the SD card
    $ sudo ./mksdcard.sh --device /dev/sd<?>
    

    Note

    • sd<?> means the SD card mount point, (e.g., /dev/sdc or /dev/sdb) in Ubuntu system.

    • The recommended SD card should be Sandisk Class4 level SD card or above.

  8. The bootable SD Card is now ready. Power OFF the industrial PC and insert the SD Card.

  9. Set the DIP switch to uSD BOOT mode. (refer to DIP Switch Configuration above)

  10. Connect the industrial PC to PC via COM1. Power ON the IPC.

  11. After 20 minutes, if the LED on industrial PC stays lit, flashing is completed. Using COM1, you can also find this message >>>>>>> eMMC Flashing Completed <<<<<<< which indicates that the system image was downloaded correctly to the eMMC.

  12. Power OFF the IPC and set the DIP switch to eMMC BOOT mode. (refer to DIP Switch Configuration above)

How to flash Linux to eMMC

The Prebuilt Files Package has a shell tool that can help create a bootable SD card using a Linux platform (such as desktop PC or Virtual Machine running Ubuntu 14.04 distribution).
Follow the steps below to create a bootable SD card:

  1. Copy the Prebuilt Files Package to a Linux environment (such as Ubuntu 14.04).

  2. Insert the SD card into your computer. If you are using virtual machines, please ensure the SD card is mounted to the Linux operating system.

  3. Confirm the SD card mount point, /dev/sdX,(e.g., /dev/sdc or /dev/sdb, be sure to use the right one). In a Linux system, you can use the command below to find out what X is.
    $ sudo fdisk –l
    
  4. Copy the prebuilt file prebuilt-som-v3-csxxxxxtxx-v3-ezsdk-emmc-yyyymmdd.tar.gz to somewhere(such as $HOME).

  5. Extract the prebuilt file prebuilt-som-v3-csxxxxxtxx-v3-ezsdk-emmc-yyyymmdd.tar.gz
    $ tar -xzvf prebuilt-som-v3-csxxxxxtxx-v3-ezsdk-emmc-yyyymmdd.tar.gz
    
  6. Go to the folder prebuilt-som-v3-csxxxxxtxx-v3-ezsdk-emmc-yyyymmdd
    $ cd ~/prebuilt-som-v3-csxxxxxtxx-v3-ezsdk-emmc-yyyymmdd
    
  7. Use the following command to flash the Angstrom OS to the SD card
    $ sudo ./mksdcard.sh --device  /dev/sd<?>
    

    Note

    • sd<?> means the SD card mount point, (e.g., /dev/sdc or /dev/sdb) in Ubuntu system.

    • The recommended SD card should be Sandisk Class4 level SD card or above.

  8. The bootable SD Card is now ready. Power OFF the industrial PC and insert the SD Card.

  9. Set the DIP switch to SD BOOT mode. (refer to DIP Switch Configuration above)

  10. Connect the industrial PC to PC via COM1. Power ON the IPC.

  11. After 20 minutes, if the LED on industrial PC stays lit, flashing is completed. Using COM1, you can also find this message >>>>>>> eMMC Flashing Completed <<<<<<< which indicates that the system image was downloaded correctly to the eMMC.

  12. Remove the SD card and Power OFF the IPC.

  13. Set the DIP switch to eMMC BOOT mode (refer to DIP Switch Configuration above) and Power ON the IPC.

Start Angstrom OS

The first time you start Angstrom OS on the industrial PC will take a little time. But after the first time, Angstrom OS will start quickly. When the Angstrom OS starts up, you will see the Chipsee Logo on the LCD screen. It is a successful start if you see the Angstrom OS desktop such as the one shown in the figure below:

../../../../../_images/Startup_Screen1.jpeg

Figure 813: Angstrom OS start-up screen

Tests

Touch screen and buzzer test

Click on the screen, the mouse arrow stays in a position that triggers the buzzer sounds, indicating that touch and buzzer work properly.
After working for some time, the resistive touch screen may not be accurate. The user must run a touch screen calibration test.
Firstly delete the file /etc/pointercal.xinput using the command below.

$ sudo rm /etc/pointercal.xinput

Click on the System–>Administration–>Calibrate Touchscreen app on desktop to recalibrate.
Reboot the system. You will see the calibrate app upon boot up before you access the system. Just calibrate, the result will be saved.

The buzzer will sound when the screen is touched, if you want to disable it, you can do this:

  • On capacitive touchscreen:
    # echo 0 > /sys/devices/ocp.3/44e0b000.i2c/i2c-0/0-0038/buzopen
    
  • On resistive touchscreen:
    # echo 1 > /sys/devices/ocp.3/44e0d000.tscadc/tsc/buzopen
    
    where:
    • 0 = disable

    • 1 = enable

Audio IO test

Start the terminal, then use the mplayer command to play an audio file.

# mplayer FILENAME  //such as: mplayer ~/Music/test.mp3

Serial test

There are four serial ports on the Chipsee IPC: 2 X RS232 and 2 X RS485. The COM1(RS232) is used as the debug serial port. Users can communicate with the OS via COM1. Refer to the table below for the available serial device nodes.

Table 240 Serial Ports Nodes on the System

Ports

Device Node

COM1(RS232, Debug)

/dev/ttyO0

COM2(RS232)

/dev/ttyO1

COM3(RS485)

/dev/ttyO2

COM4(RS485)

/dev/ttyO4

  1. Run a serial test:
    • Install SecureCRT or Putty software on a Windows 7 PC and use it to perform the serial port testing.

    • Connect keyboard and mouse to the IPC. Then press Ctrl+Alt+F1 (or F3~F6) to get into tty1(tty3~tty6). Enter username: :substitution-code:|user|, no password.

    Note

    Notes: The system is not QtE by default, follow the steps in the CD(Angstrom/Documents/Qt-Angstrom) to set the environment. The QtE in Angstrom OS is not working well, by now user only can use mouse for the Qt apps.

    • Launch the ChipseeTest app by using the commands below.

    # cd chipsee
    # ./ChipseeTest -qws
    
    ../../../../../_images/ChipseeTest_Screen.jpeg

    Figure 814: ChipseeTest

  2. If you want to use COM1 as a normal serial port, you can re-configure the port by following these steps:
    • Open and edit the uEnv.txt file which can be found in the boot partition with any text editor.

    bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2
    
    • At the end of the file, edit this line bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 to

    bootargs=root=/dev/mmcblk0p2
    
    • This will change ttyO0 (COM1) to ttyO1, ttyO2 or ttyO4(RS232_2, RS485_1 and RS485_2) and makes it possible to use all the four serial ports as normal serial ports.

    • Stop the service in Angstrom.

    # systemctl disable serial-getty@ttyO0.service
    # systemctl stop serial-getty@ttyO0.service
    

    Now you can use the COM1 as normal serial port.

  1. If you want to use COM1 as debug serial port, you have to edit the uEnv.txt file which you can find in the boot partition. And start the service by running this command:
    # systemctl start serial-getty@ttyO0.service
    
  2. From the ChipseeTest app, search for the serial area then configure the following settings, as shown on the figure below.
    • set Com to COM2

    • set Baud to 115200

    • click on the Open button

    • It will send the string Succeed in sending message!!! every two seconds through the serial port to the Windows 7 PC.

    • Click on the SendMSG button to send the string Succeed in sending message-manual!!!.

    • Every two seconds, it will read the received buffer and show the result to the received area.

GPIO test

There are (4) four input and (4) four output pins. LOW is 0V, HIGH is 5V.
The GPIO input terminals connect to the GPIO output terminals, respectively. IN1-4 corresponds to OUT1-4.
As a result, if you set the GPIO_OUT area, you will see the GPIO_IN region change as well.
You can control the LED light on the industrial PC by setting the LED ON or OFF.

Table 241 GPIO Nodes on the System

GPIO

GPIO In System

OUT1

gpio49

OUT2

gpio50

OUT3

gpio51

OUT4

gpio52

IN1

gpio53

IN2

gpio54

IN3

gpio55

IN4

gpio56

USER_LED

gpio19

You can read and write the GPIO by following the steps below. For this example, we are going to use gpio49 (OUT1).

  • Use this command to export gpio.
    # echo 49 > /sys/class/gpio/export
    
  • Use this command to check if the directory /sys/class/gpio/gpio49/ exist before writing to it
    # find /sys/class/gpio/gpio49/
    
  • Use this command to write gpio
    # echo 1 > /sys/class/gpio/gpio49/value
    
  • Use this command to read gpio
    # cat /sys/class/gpio/gpio49/value
    

Network

To view the network information on the industrial PC, follow these steps:

  • Click on the Network tab, then click the Ifconfig button to view the network information on the industrial PC.

  • Click on the Refresh button to restart the network service which will take five or six seconds to finish.

The figure below is an illustration of the network information on the industrial PC.

../../../../../_images/Network_Test.jpeg

Figure 815: View Network Information

Date and Time

Click the Edit icon at the time display area to set the time and date, as shown on the figure below.

../../../../../_images/Date_Time_Test.jpeg

Figure 816: Set Date and Time

  • Check the system time
    # date
    
  • Set the system time
    # date –s "2014-03-15 10:30:30"
    
  • Check RTC
    # hwclock
    
  • Write RTC
    # hwclock -w
    
  • Modify the time zone to a different timezone, such as China
    # ln -sf /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime
    

Backlight

Modify this file /sys/class/backlight/backlight to adjust the screen brightness. Brightness ranges from 0 to 100 where 0 means no backlight, and 100 is the MAX brightness value.
For example, you can adjust the screen brightness using this command:

# echo 50 > /sys/class/backlight/backlight.10/Brightness

USB device test

  • USB-WiFi
    1. The Angstrom OS supports USB-WiFi module. If you want to use the USB-Wifi module in the system, you need to edit the /var/lib/connman/wifi.config file.

    2. Modify the router, the login name, and password in the config file, as shown in the code-block below.

    1Type = wifi
    2Name = chipsee  //router’s name
    3Security = AES  //security mode
    4Passphrase = 1234567890 //password
    
    1. Save and reboot. The system will automatically connect to the WiFi the next time you start.

  • USB-Webcam
    1. The Angstrom OS supports USB-Camera. If you want to use the USB webcam, you need to connect the webcam to the IPC before power ON.

    2. Then choose Application–>Sound&Video–>Cheese Webcam Booth to take pictures.

Angstrom OS debug

In this section, we will discover how to view the Angstrom system via the serial port on a Windows 7 PC.
Also, we will discover how to debug using NFS on a Ubuntu Linux PC.

View Angstrom system via the serial port

Install the SecureCRT or Putty software on a Windows 7 PC to view the Angstrom system via the serial ports.
Follow these steps to view Angstrom system via the serial port:

  • Connect COM1 on the industrial PC board to Windows 7 PC.

  • Open the SecureCRT or Putty software on the Windows 7 PC.

  • Power ON the industrial PC. You will see the serial output information as shown on the figure below.

  • When the system is fully booted, you can communicate with it by logging in with these details: user= root and password= empty.

../../../../../_images/Serial_Debug.jpeg

Figure 821: Serial output information

Debug via NFS

  1. Install NFS on Ubuntu Linux PC.
    $ sudo apt-get install nfs-kernel-server
    
  2. Configure the file /etc/exports, by adding this line at the end of the file.
    /qtprojects *(rw, sync, insecure, no_subtree_check)
    

    Note

    • /qtprojects: the shared folder in Ubuntu system

    • *: allows all other PC to get access to this system

    • rw: means this folder can be read and write by NFS client

    • sync: synchronous write memory and hard disk

    • insecure: sent message through the port above 1024

    • no_subtree_check: no check the parent directory permissions

  3. Restart NFS service.
    $ sudo /etc/init.d/portmap restart
    $ sudo /etc/init.d/nfs-kernel-server restart
    
  4. Test
    $ showmount -e
    

    or mount the shared folder to /mnt:

    $ sudo mount -t nfs –o nolock localhost:/qtprojects /mnt
    

    Use the command df to check out the result, then umount.

    $ df -h
    $ sudo umount /mnt
    
  5. Mount NFS on the industrial PC running Angstrom OS.

    Create the nfsdir directory

    # mkdir /nfsdir
    

    Mount the folder /qtprojects on the Ubuntu Linux PC to /nfsdir on the industrial PC.

    # mount –t nfs :/qtprojects /nfsdir
    

    If you have an executable program like SerialTest under folder /qtprojects, you can run it directly on the industrial PC.

    # /nfsdir/SerialTest
    

Disclaimer

This document is provided strictly for informational purposes. Its contents are subject to change without notice. Chipsee assumes no responsibility for any errors that may occur in this document. Furthermore, Chipsee reserves the right to alter the hardware, software, and/or specifications set forth herein at any time without prior notice and undertakes no obligation to update the information contained in this document.

While every effort has been made to ensure the accuracy of the information contained herein, this document is not guaranteed to be error-free. Further, it does not offer any warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document.

Despite our best efforts to maintain the accuracy of the information in this document, we assume no responsibility for errors or omissions, nor for damages resulting from the use of the information herein. Please note that Chipsee products are not authorized for use as critical components in life support devices or systems.

Technical Support

If you encounter any difficulties or have questions related to this document, we encourage you to refer to our other documentation for potential solutions. If you cannot find the solution you’re looking for, feel free to contact us. Please email Chipsee Technical Support at support@chipsee.com, providing all relevant information. We value your queries and suggestions and are committed to providing you with the assistance you require.