No description
Find a file
2018-09-04 11:56:57 +05:30
alsa-audio Update documentation and settings 2017-11-20 17:18:55 +05:30
cairo Update documentation and settings 2017-11-20 17:18:55 +05:30
docs Add presentation used for workshop 2017-05-18 12:45:13 +05:30
gpio_interrupt Update documentation and settings 2017-11-20 17:18:55 +05:30
gtk Update documentation and settings 2017-11-20 17:18:55 +05:30
gtkmm Update documentation and settings 2017-11-20 17:18:55 +05:30
images Commit Aster Pioneer image to use for docs 2017-04-28 11:35:08 +05:30
pcf8574 Update documentation and settings 2017-11-20 17:18:55 +05:30
pcf8591 Update documentation and settings 2017-11-20 17:18:55 +05:30
pos-demo Commit gtk pos-demo 2017-10-27 17:51:39 +05:30
pwm Update documentation and settings 2017-11-20 17:18:55 +05:30
spidev Update documentation and settings 2017-11-20 17:18:55 +05:30
ssd1306 Update documentation and settings 2017-11-20 17:18:55 +05:30
.gitignore Update documentation and settings 2017-11-20 17:18:55 +05:30
LICENSE.txt Add LICENSE file 2017-04-12 14:40:25 +05:30
README.md Update repo names used 2018-09-04 11:56:57 +05:30

Setup

Aster Carrier Board

Colibri VF61

Pioneer600

Cloning this repository
git clone https://gitlab.com/SanchayanMaity/linux-embedded-examples.git
Patch used for Aster to work with Pioneer600
diff --git a/arch/arm/boot/dts/vf-colibri-aster.dtsi b/arch/arm/boot/dts/vf-colibri-aster.dtsi
index 5fee7cba0fee..ec9476a5d925 100644
--- a/arch/arm/boot/dts/vf-colibri-aster.dtsi
+++ b/arch/arm/boot/dts/vf-colibri-aster.dtsi
@@ -23,6 +23,7 @@
 		compatible = "edt,et057090dhu";
 		backlight = <&bl>;
 		power-supply =  <&reg_3v3>;
+		status = "disabled";
 	};
 
 	extcon_usbc_det: usbc_det {
@@ -79,14 +80,14 @@
 	brightness-levels = <0 4 8 16 32 64 128 255>;
 	default-brightness-level = <6>;
 	power-supply =  <&reg_3v3>;
-	status  = "okay";
+	status  = "disabled";
 };
 
 &dcu0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_dcu0_1>;
 	fsl,panel = <&panel>;
-	status = "okay";
+	status = "disabled";
 };
 
 &dspi1 {
@@ -150,7 +151,7 @@
 };
 
 &uart2 {
-	status = "okay";
+	status = "disabled";
 };
 
 &usbdev0 {
diff --git a/arch/arm/boot/dts/vf-colibri.dtsi b/arch/arm/boot/dts/vf-colibri.dtsi
index de1b1cb33f1a..7a2a65836819 100644
--- a/arch/arm/boot/dts/vf-colibri.dtsi
+++ b/arch/arm/boot/dts/vf-colibri.dtsi
@@ -127,7 +127,7 @@
 
 &pwm1 {
 	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_pwm1_b &pinctrl_pwm1_d>;
+	pinctrl-0 = <&pinctrl_pwm1_b>;
 };
 
 &uart0 {
@@ -231,6 +231,8 @@
 				VF610_PAD_PTB28__GPIO_98	0x22ed
 				VF610_PAD_PTC30__GPIO_103	0x22ed
 				VF610_PAD_PTA7__GPIO_134	0x22ed
+				VF610_PAD_PTB9__GPIO_31		0x22ed
+				VF610_PAD_PTD3__GPIO_82		0x22ed
 			>;
 		};
 
Building and installing SDK

Build and install the OE-Core aka Yocto SDK, for instructions related to building and installing SDK, have a look at this knowledge base article.

The Linux image for Vybrid module being used for the workshop can be downloaded here and flashed to the module as per Flashing Embedded Linux to Vybrid Modules if required. To facilitate development, a sample SDK can be downloaded from this link. Install the SDK by executing the following from the command line

chmod a+x angstrom-glibc-x86_64-armv7at2hf-neon-v2016.12-toolchain.sh
./angstrom-glibc-x86_64-armv7at2hf-neon-v2016.12-toolchain.sh

Please use the standard default /usr/local/oecore-x86_64 path for SDK installation. The Eclipse projects included in this repository assume that this path has been used for SDK installation. Any generated SDK and image used on the module must include "libsoc" library for the code samples to work. Additionally gtkmm code has dependency on gtkmm library.

Sourcing Environment Script and starting Eclipse
. /usr/local/oecore-x86_64/environment-setup-armv7at2hf-neon-angstrom-linux-gnueabi

Note the space between the dot and rest of the command. Now start Eclipse from the same terminal from where the above script was sourced.

eclipse &

Import the projects in Eclipse and build the project. Transfer the binary executable which will be available in Debug directory to the module using scp as follows, for example

scp <binary> root@<module_ip_address>:/home/root
Sample Output
gpio interrupt
root@colibri-vf:~# ./gpio_interrupt 
Enter the GPIO number to use as interrupt:      39
Enter the GPIO number used for LED output:      11
Waiting for interrupt. Press 'q' and 'Enter' at any time to exit
pcf8574
root@colibri-vf:~# ./pcf8574

Enter choice: 1. Joy stick status 2. Led2 On/Off 3. Buzzer On/Off 4. Exit
1
Key A pressed

Enter choice: 1. Joy stick status 2. Led2 On/Off 3. Buzzer On/Off 4. Exit
2

Enter choice: 1. Joy stick status 2. Led2 On/Off 3. Buzzer On/Off 4. Exit
2

Enter choice: 1. Joy stick status 2. Led2 On/Off 3. Buzzer On/Off 4. Exit
3

Enter choice: 1. Joy stick status 2. Led2 On/Off 3. Buzzer On/Off 4. Exit
3

Enter choice: 1. Joy stick status 2. Led2 On/Off 3. Buzzer On/Off 4. Exit
4
pcf8591
root@colibri-vf:~# ./pcf8591 
PCF8591 ADC and DAC test code

1. ADC 2. DAC 3. Exit
2
Enter DAC value:        78

1. ADC 2. DAC 3. Exit
1

Enter ADC channel number 0-3:   3

ADC Channel 3: value: 128

1. ADC 2. DAC 3. Exit
1

Enter ADC channel number 0-3:   3

ADC Channel 3: value: 78

1. ADC 2. DAC 3. Exit
1

Enter ADC channel number 0-3:   3

ADC Channel 3: value: 78

1. ADC 2. DAC 3. Exit
3
pwm
root@colibri-vf:~# ./pwm 
Enter PWM chip number:  0
Enter PWM number:       0
Disabling PWM
ssd1306

Connect CE0 on Pioneer600 shield to GND before executing the binary.

root@colibri-vf:~# ./ssd1306
alsa-audio
root@colibri-vf:~# ./alsa-audio Front_Center.wav colibri-vf
Module Name: colibri-vf
short read: read 1774 bytes
end of file on input
gtk & gtkmm

gtk and gtkmm examples requires a display to be connected.

cairo

cairo requires a display to be connected.

root@colibri-vf:~# ./cairo example.png