<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wikilegacy.armadeus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JulienB</id>
	<title>ArmadeusWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wikilegacy.armadeus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JulienB"/>
	<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Special:Contributions/JulienB"/>
	<updated>2026-07-26T23:10:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15329</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15329"/>
		<updated>2026-07-24T15:35:39Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| 3.3V PWR || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || GPIO_IO14__LPUART4_TX || /dev/ttyLP3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | - || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD ||  || GPIO_IO15__LPUART4_RX || /dev/ttyLP3&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || GPIO_IO13__GPIO2_IO13 || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || GPIO_IO12__GPIO2_IO12 || gpio &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | - || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || GPIO_IO11__GPIO2_IO11 ||&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO10__GPIO2_IO10 || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || GPIO_IO09__LPI2C7_SCL ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || GPIO5 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || GPIO6 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || GPIO12 || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || GPIO13 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || GPIO19 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || GPIO16 || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || GPIO26 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || GPIO20 || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | - || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || GPIO21 || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15328</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15328"/>
		<updated>2026-07-24T14:43:46Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| 3.3V PWR || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || GPIO_IO14__LPUART4_TX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | - || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD ||  || GPIO_IO15__LPUART4_RX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || GPIO_IO13__GPIO2_IO13 || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || GPIO_IO12__GPIO2_IO12 || gpio &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | - || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || GPIO_IO11__GPIO2_IO11 ||&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO10__GPIO2_IO10 || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || GPIO_IO09__LPI2C7_SCL ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || GPIO5 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || GPIO6 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || GPIO12 || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || GPIO13 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || GPIO19 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || GPIO16 || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || GPIO26 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || GPIO20 || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | - || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || GPIO21 || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15327</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15327"/>
		<updated>2026-07-24T14:42:46Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| 3.3V PWR || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || GPIO_IO14__LPUART4_TX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD ||  || GPIO_IO15__LPUART4_RX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || GPIO_IO13__GPIO2_IO13 || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || GPIO_IO12__GPIO2_IO12 || gpio &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || GPIO_IO11__GPIO2_IO11 ||&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO10__GPIO2_IO10 || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || GPIO_IO09__LPI2C7_SCL ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || GPIO5 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || GPIO6 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || GPIO12 || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || GPIO13 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || GPIO19 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || GPIO16 || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || GPIO26 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || GPIO20 || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || GPIO21 || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15326</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15326"/>
		<updated>2026-07-24T14:01:05Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| 3.3V PWR || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || GPIO_IO14__LPUART4_TX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD ||  || GPIO_IO15__LPUART4_RX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || GPIO_IO13__GPIO2_IO13 || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || GPIO5 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || GPIO6 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || GPIO12 || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || GPIO13 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || GPIO19 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || GPIO16 || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || GPIO26 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || GPIO20 || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || GPIO21 || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15325</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15325"/>
		<updated>2026-07-24T13:52:19Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| 3.3V PWR || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || GPIO_IO14__LPUART4_TX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD ||  || GPIO_IO15__LPUART4_RX || /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || GPIO5 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || GPIO6 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || GPIO12 || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || GPIO13 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || GPIO19 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || GPIO16 || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || GPIO26 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || GPIO20 || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || GPIO21 || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15324</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15324"/>
		<updated>2026-07-24T13:46:55Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| 3.3V PWR || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || GPIO5 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || GPIO6 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || GPIO12 || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || GPIO13 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || GPIO19 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || GPIO16 || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || GPIO26 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || GPIO20 || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || GPIO21 || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15323</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15323"/>
		<updated>2026-07-08T13:36:12Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  &lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15322</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15322"/>
		<updated>2026-07-08T13:35:47Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:orange;&amp;quot;| - || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| || style=&amp;quot;background:orange;&amp;quot;| &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | ||  &lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | || style=&amp;quot;background:grey;&amp;quot; | &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15320</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15320"/>
		<updated>2026-07-08T13:25:13Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || GPIO_IO06__GPIO2_IO06 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || GPIO_IO03__GPIO2_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || GPIO_IO01__GPIO2_IO01 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || GPIO_IO00__GPIO2_IO00 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15319</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15319"/>
		<updated>2026-07-08T13:23:18Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || GPIO_IO08__GPIO2_IO08 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO07__GPIO2_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || GPIO_IO05__GPIO2_IO05 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || GPIO_IO04__GPIO2_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || GPIO_IO02__GPIO2_IO02 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15318</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15318"/>
		<updated>2026-07-08T13:19:24Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || GPIO_IO21__GPIO2_IO21 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO_IO20__GPIO2_IO20 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || GPIO_IO19__GPIO2_IO19 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || GPIO_IO18__GPIO2_IO18 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || GPIO_IO17__GPIO2_IO17 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15317</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15317"/>
		<updated>2026-07-08T13:16:14Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24__GPIO2_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15316</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15316"/>
		<updated>2026-07-08T13:13:12Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.MX93 Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_RXD0__LPSPI1_SOUT || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXC__LPSPI1_SIN || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || SAI1_TXD0__LPSPI1_SCK || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || SAI1_TXFS__LPSPI1_PCS0 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15315</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15315"/>
		<updated>2026-07-08T13:05:21Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.M6UL Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO_IO24 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15314</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15314"/>
		<updated>2026-07-08T13:02:58Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Connectors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.M6UL Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.MX93 Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SDA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || I2C1_SCL || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO1_IO09__GPIO1_IO09 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15313</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15313"/>
		<updated>2026-07-08T12:58:24Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
https://www.opossom.com/static/images/opos93_dev.jpg&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.M6UL Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.M6UL Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_RX_DATA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_TX_DATA || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO1_IO09__GPIO1_IO09 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15312</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15312"/>
		<updated>2026-07-08T12:55:24Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.opossom.com/static/images/opos93_dev.jpg]&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.M6UL Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.M6UL Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_RX_DATA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_TX_DATA || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO1_IO09__GPIO1_IO09 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15311</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15311"/>
		<updated>2026-07-08T12:54:59Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [https://www.opossom.com/english/product-opos93/index.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.M6UL Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.M6UL Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_RX_DATA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_TX_DATA || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO1_IO09__GPIO1_IO09 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Datasheet&amp;diff=15310</id>
		<title>Datasheet</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Datasheet&amp;diff=15310"/>
		<updated>2026-07-08T12:39:14Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* OPOS6ULDev */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Armadeus datasheets and schematics =&lt;br /&gt;
&lt;br /&gt;
To see all documentation available for the board clic on the title.&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf9328/ APF9328] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf9328/documentation/dataSheet_APF9328.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf9328/hardware/apf_schema.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf9328DevLight/ APF9328Devlight] ==&lt;br /&gt;
* Datasheet [http://www.opossom.com/_downloads/apf9328DevLight/documentation/dataSheet_APF9328_DevLight.pdf V1] [http://www.opossom.com/_downloads/apf9328DevLight/documentation/dataSheet_APF9328_DevLight_V2.pdf V2]&lt;br /&gt;
*  Schematics [http://www.opossom.com/_downloads/apf9328DevLight/hardware/dev_light_schema_v1.2.pdf V1.2] [http://www.opossom.com/_downloads/apf9328DevLight/hardware/dev_light_schema.pdf V2]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf9328DevFull/ APF9328DevFull] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf9328DevFull/documentation/DataSheet_APF9328_DevFull.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf9328DevFull/hardware/apf9328_dev_schematics_v1_1.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf27/ APF27] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf27/documentation/datasheet_apf27.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf27/hardware/apf27_V1.2.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf27Dev/ APF27Dev] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf27Dev/documentation/dataSheet_APF27Dev.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf27Dev/hardware/apf27_devfull_12.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf27_PPS/ PPS (APF27)] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf27_PPS/documentation/datasheet_pps.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf27_PPS/hardware/pps_v11.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf28/ APF28] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf28/documentation/datasheet_apf28.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf28/hardware/apf29_v10.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf28_Dev/ APF28_DEV] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf28_Dev/documentation/dataSheet_APF28Dev.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf28_Dev/hardware/apf28_dev_V10.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf51/ APF51] ==&lt;br /&gt;
* Datasheet&lt;br /&gt;
** [http://www.opossom.com/_downloads/apf51/documentation/datasheet_apf51_V1.pdf  APF51_V1]&lt;br /&gt;
** [http://www.opossom.com/_downloads/apf51/documentation/datasheet_apf51_V2.pdf  APF51_V2]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf51/hardware/apf51_v10.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf51_Dev/ APF51Dev] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf51_Dev/documentation/dataSheet_APF51Dev.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf51_Dev/hardware/apf51_dev_V12.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf6/ APF6] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf6/documentation/datasheet_apf6.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf6Dev/ APF6Dev] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf6Dev/documentation/dataSheet_APF6_Dev.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf6Dev/hardware/apf6_dev_V2.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apf6_SP/ APF6_SP] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apf6_SP/documentation/datasheet_apf6SP.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/opos6ul/ OPOS6UL] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/opos6ul/documentation/datasheet_opos6ul.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/opos6ul_nano/ OPOS6UL_NANO] ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.opossom.com/_downloads/opos6ul_nano/datasheet_opos6ul_nano.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/opos6ul_sp/ OPOS6UL_SP] ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.opossom.com/_downloads/opos6ul_sp/documentation/datasheet_opos6ul_sp.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/opos6ul_dev/ OPOS6ULDev] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/opos6ul_dev/documentation/datasheet_opos6ul_Dev.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/opos6ul_dev/hardware/opos6UL_dev_V12.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/opos93_dev/ OPOS93Dev] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/opos93_dev/documentation/ Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/opos93_dev/hardware/ Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/sp6_vision/ SP_VISION] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/sp6_vision/datasheet_sp_vision.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/sp6_vision/hardware/sp_vision_eval_board_V05.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/lw700at_adapt/ LW700] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/lw700at_adapt/documentation/datasheet_lw700at_adapt.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/lw700at_adapt/hardware/LW700AT_adapt_v0B.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/apw/ APW] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/apw/documentation/datasheet_APW.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/apw/hardware/apf27_wireless_V0C.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
== [http://www.opossom.com/_downloads/lcd_adapt_LQ043 LQ043] ==&lt;br /&gt;
* [http://www.opossom.com/_downloads/lcd_adapt_LQ043/documentation/datasheet_lq043_adapt.pdf Datasheet]&lt;br /&gt;
* [http://www.opossom.com/_downloads/lcd_adapt_LQ043/hardware/lq043_adapt_schematics_v0a.pdf Schematics]&lt;br /&gt;
&lt;br /&gt;
= HMS Demo =&lt;br /&gt;
* Datasheet&lt;br /&gt;
* Schema&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15309</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15309"/>
		<updated>2026-07-08T12:35:24Z</updated>

		<summary type="html">&lt;p&gt;JulienB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [http://www.opossom.com/english/products-development_boards-opos93_dev.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.M6UL Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.M6UL Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_RX_DATA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_TX_DATA || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO1_IO09__GPIO1_IO09 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15308</id>
		<title>OPOS93Dev</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS93Dev&amp;diff=15308"/>
		<updated>2026-07-08T12:22:16Z</updated>

		<summary type="html">&lt;p&gt;JulienB: copy from 6UL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS93]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is the Armadeus System&#039;s standard development board/baseboard for the [[OPOS93]] module.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPOS93_Dev.png]]&lt;br /&gt;
&lt;br /&gt;
==Errata==&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&lt;br /&gt;
* [[Datasheet#OPOS93Dev | Datasheet and schematics]]&lt;br /&gt;
* [http://www.opossom.com/english/products-development_boards-opos93_dev.html Product page on Armadeus Systems website]&lt;br /&gt;
&lt;br /&gt;
==Feature list==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
* [[S/PDIF]]: audio in/out&lt;br /&gt;
* [[ALSA]]&lt;br /&gt;
&lt;br /&gt;
===Video Out===&lt;br /&gt;
* [[LCD]]&lt;br /&gt;
* [[BackLight]]&lt;br /&gt;
* [[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera interface]]&lt;br /&gt;
||&lt;br /&gt;
===User Input===&lt;br /&gt;
* [[Tslib|Touchscreen]]&lt;br /&gt;
&lt;br /&gt;
===Wired communication===&lt;br /&gt;
* [[Uart|UART]]&lt;br /&gt;
* [[SPI]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
* [[USB Host]] &lt;br /&gt;
* [[USB_OTG]]&lt;br /&gt;
* [[USB_Gadget]]&lt;br /&gt;
* [[CAN_bus_Linux_driver|CAN bus]]&lt;br /&gt;
* [[OneWire_GPIO_bus_Master|1-wire]]&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
* [[MultiMediaCard]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
===Wireless communication===&lt;br /&gt;
* [[Wifi|Wi-Fi usage on Linux]]&lt;br /&gt;
* [[Bluetooth|Bluetooth usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* [[I.MX6UL_internal_ADC|ADC]]&lt;br /&gt;
* [[GPIOlib]]&lt;br /&gt;
* [[JTAG]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Connectors==&lt;br /&gt;
* RPi compatible connector:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; summary=&amp;quot;RPi compatible connector of OPOS6ULDev&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! Linux GPIO or device !! i.M6UL Mux !! wiringPi N° !! RPi name !! Function !! JX Pin !! JX Pin !! Function !! RPi name !! wiringPi N° !! i.M6UL Mux !! Linux GPIO or device&lt;br /&gt;
|-&lt;br /&gt;
| - ||  ||  || || &#039;&#039;&#039;3.3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;1&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;2&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_RX_DATA || || SDA1 || I2C data|| style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;3&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;4&#039;&#039;&#039; || &#039;&#039;&#039;5V&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| /dev/i2c-1 || UART5_TX_DATA || || SCL1 || I2C clock || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;5&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;6&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || -&lt;br /&gt;
|-&lt;br /&gt;
| gpio9 || GPIO1_IO09__GPIO1_IO09 || 7 || GPIO7 || GPIO / AIN9 || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;7&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;8&#039;&#039;&#039; || UART Tx || TxD || || ||/dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| || ||  || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;9&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;10&#039;&#039;&#039; || UART Rx || RxD  ||  ||  || /dev/ttymxc1&lt;br /&gt;
|-&lt;br /&gt;
| gpio24 || UART3_TX_DATA__GPIO1_IO24 || 0 || GPIO0 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;11&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;12&#039;&#039;&#039; || GPIO / AIN8 || GPIO1 || || GPIO1_IO08__GPIO1_IO08 || gpio8&lt;br /&gt;
|-&lt;br /&gt;
| gpio25 || UART3_RX_DATA__GPIO1_IO25 || || GPIO2 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;13&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;14&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || || &lt;br /&gt;
|-&lt;br /&gt;
| gpio96 || NAND_RE_B__GPIO4_IO00 || || GPIO3 || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;15&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;16&#039;&#039;&#039; || GPIO || GPIO4 || 4 || UART1_CTS_B__GPIO1_IO18 || gpio18&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;3,3V&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;17&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;18&#039;&#039;&#039; || GPIO || GPIO5 || 5 || UART1_RTS_B__GPIO1_IO19  || gpio19&lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MOSI || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;19&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;20&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI MISO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;21&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;22&#039;&#039;&#039; || GPIO || GPIO6 || 6 || NAND_WE_B__GPIO4_IO01 || gpio97 &lt;br /&gt;
|-&lt;br /&gt;
| || || || || SPI CLK || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;23&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;24&#039;&#039;&#039; || SPI_CS0 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;25&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center  | &#039;&#039;&#039;26&#039;&#039;&#039; || SPI_CS1 || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || || I2C Data || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;27&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;28&#039;&#039;&#039; || I2C clock || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio132 || SNVS_TAMPER4__GPIO5_IO04 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;29&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;30&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;31&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;32&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER0__GPIO5_IO00 || gpio128&lt;br /&gt;
|-&lt;br /&gt;
| gpio134 || SNVS_TAMPER6__GPIO5_IO06 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;33&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;34&#039;&#039;&#039; || &#039;&#039;&#039;GND&#039;&#039;&#039; || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| gpio135 || SNVS_TAMPER7__GPIO5_IO07 || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;35&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;36&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER3__GPIO5_IO03 || gpio131&lt;br /&gt;
|-&lt;br /&gt;
| || || || || GPIO || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;37&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;38&#039;&#039;&#039; || GPIO || || || SNVS_TAMPER2__GPIO5_IO02 || gpio130&lt;br /&gt;
|-&lt;br /&gt;
| || || || || &#039;&#039;&#039;GND&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;39&#039;&#039;&#039; || style=&amp;quot;color:yellow;background:black;&amp;quot; align=center | &#039;&#039;&#039;40&#039;&#039;&#039; || GPIO / 1-Wire || || || SNVS_TAMPER1__GPIO5_IO01 || gpio129&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tested RPi shields/hats==&lt;br /&gt;
* [[Dragino Lora/GPS HAT]]&lt;br /&gt;
* [[PiTinfoV1.2 HAT]]&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
===Bootstrap===&lt;br /&gt;
* Put &#039;&#039;Boot0&#039;&#039; jumper to go in [[Bootstrap]] mode&lt;br /&gt;
&lt;br /&gt;
===U-Boot===&lt;br /&gt;
* Use OPOS93Dev &amp;quot;User&amp;quot; LED in U-Boot scripts:&lt;br /&gt;
** ON: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio set 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
** OFF: &amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt; BIOS&amp;gt; gpio clear 68 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
* to activate login in Framebuffer console, please uncomment &#039;&#039;/etc/inittab&#039;&#039; line 35 this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Set up a getty on LCD&lt;br /&gt;
tty1::respawn:/sbin/getty 38400 tty1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* RaspberryPi is a registered trademark of RaspberryPi Foundation.&lt;br /&gt;
&lt;br /&gt;
[[Category:DevelopmentBoards]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Linux_Dynamic_Frequency_Scaling&amp;diff=15304</id>
		<title>Linux Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Linux_Dynamic_Frequency_Scaling&amp;diff=15304"/>
		<updated>2026-06-04T14:31:45Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Dynamic Frequency Scaling aka DFS is available on [[APF27]], [[APF51]], [[APF28]], [[APF6]] and [[OPOS6UL]] based systems. It allows you to control CPU speed according to module activity.&lt;br /&gt;
&lt;br /&gt;
[[OPOS93]] &amp;amp; [[OPOS93_SP]] do &#039;&#039;&#039;NOT&#039;&#039;&#039; support DFS.&lt;br /&gt;
&lt;br /&gt;
==Linux configuration==&lt;br /&gt;
You need to have a kernel with the CPUfreq drivers built-in (done by default when available):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
CPU Power Management  ---&amp;gt;&lt;br /&gt;
    [*] CPU Frequency scaling&lt;br /&gt;
    [*]   Enable CPUfreq debugging&lt;br /&gt;
    &amp;lt;*&amp;gt;   CPU frequency translation statistics&lt;br /&gt;
    [ ]     CPU frequency translation statistics details&lt;br /&gt;
          Default CPUFreq governor (performance)  ---&amp;gt;&lt;br /&gt;
    -*-   &#039;performance&#039; governor&lt;br /&gt;
    &amp;lt;*&amp;gt;   &#039;powersave&#039; governor&lt;br /&gt;
    &amp;lt;*&amp;gt;   &#039;userspace&#039; governor for userspace frequency scaling&lt;br /&gt;
    &amp;lt;*&amp;gt;   &#039;ondemand&#039; cpufreq policy governor&lt;br /&gt;
    &amp;lt;*&amp;gt;   &#039;conservative&#039; cpufreq governor&lt;br /&gt;
    &amp;lt;*&amp;gt;   CPUfreq driver for i.MX CPUs  or  &amp;lt;*&amp;gt; i.MX27 frequency driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In old Linux kernels (before device tree), frequency scaling handling is done in &#039;&#039;arch/arm/plat-mxc/cpufreq.c&#039;&#039; or &#039;&#039;arch/arm/mach-mx2/cpufreq_imx27.c&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==To know whether the driver is working==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;DFS check depending on kernel version&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 / APF28 / APF51 || APF6 / OPOS6UL&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# dmesg | grep freq&lt;br /&gt;
i.MXC CPU frequency driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|Should be activated/working by default :-)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Usage (sysfs)==&lt;br /&gt;
* all is here: &lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cd /sys/devices/system/cpu/cpu0/cpufreq/&lt;br /&gt;
# ls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|[[APF6]] may have up to 4 CPU cores so you may end up with &#039;&#039;cpu0&#039;&#039;, &#039;&#039;cpu1&#039;&#039;, &#039;&#039;cpu2&#039;&#039;, &#039;&#039;cpu3&#039;&#039; in &#039;&#039;/sys/devices/system/cpu/&#039;&#039;}}&lt;br /&gt;
* identify the current governor:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat scaling_governor&lt;br /&gt;
performance&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* list available governors:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat scaling_available_governors&lt;br /&gt;
conservative ondemand userspace powersave interactive performance&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* change governor:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# echo powersave &amp;gt; scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To know current CPU frequency (here 160MHz):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat cpuinfo_cur_freq &lt;br /&gt;
160000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To know how much time CPU has spent in its different state (here 160MHz and 800MHz):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat stats/time_in_state &lt;br /&gt;
160000 243595&lt;br /&gt;
800000 585&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* change frequency manually (here 133MHz). &#039;&#039;&#039;Requires userspace governor !&#039;&#039;&#039; :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# echo 133000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Effect on current consumption==&lt;br /&gt;
When there is little activity, the CPU frequency has nearly no visible effect on the current consumed.&lt;br /&gt;
&lt;br /&gt;
This is caused by the &amp;quot;doze mode&amp;quot; : when all processes are sleeping, the kernel turns off the CPU clock until the next IO or timer event.&lt;br /&gt;
&lt;br /&gt;
When there is a 100% CPU activity, the effect of the CPU frequency can be observed with a ampmeter.   &lt;br /&gt;
&lt;br /&gt;
The % CPU activity per process can be checked with the &#039;&#039;&#039;top&#039;&#039;&#039; command, which is supported by Busybox (but it may be necessary to configure and rebuild busybox to have it)&lt;br /&gt;
{{Note| If you make current measurements using a development board like [[APF27dev]] or [[APF51dev]], take care of making all the measurement with the &#039;&#039;&#039;same supply voltage&#039;&#039;&#039;.&lt;br /&gt;
Unlike linear regulators, the switching regulator of the board reduces the current consumed when the input voltage is increased (to keep the power constant)}}&lt;br /&gt;
&lt;br /&gt;
* To Be Continued...&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/Documentation/cpu-freq/governors.txt?h=v4.9.52&lt;br /&gt;
* http://lxr.linux.no/linux+v2.6.37/Documentation/cpu-freq/user-guide.txt&lt;br /&gt;
&lt;br /&gt;
[[Category:Power Management]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Preempt-rt&amp;diff=15303</id>
		<title>Preempt-rt</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Preempt-rt&amp;diff=15303"/>
		<updated>2026-05-27T12:18:02Z</updated>

		<summary type="html">&lt;p&gt;JulienB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;preempt-rt are a series of patches to improve Linux kernel realtime performances. This page explain how to use it.&lt;br /&gt;
&lt;br /&gt;
Since 6.12 version of Linux kernel, preempt-rt patches have been merged mainline and now just require a configuration option in Linux menuconfig to be activated (be sure to be in EXPERT mode first).&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
* Depending on your board, you may have a Buildroot defconfig to apply preempt-rt patches automagically. For example for [[OPOS6UL]]:&lt;br /&gt;
&amp;lt;pre class=host&amp;gt;&lt;br /&gt;
$ make opos6ul-preempt-rt_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If no config is available, you will have to do the job yourself, by finding a kernel version compatible with preempt-rt patches from https://www.kernel.org/pub/linux/kernel/projects/rt/&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
* You can change realtime priority of tasks with &#039;&#039;chrt&#039;&#039;. For example to set process X to priority 20 in FIFO scheduling queue, you have to do:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# chrt -p -f 20 X&lt;br /&gt;
&lt;br /&gt;
pid X&#039;s current scheduling policy: SCHED_OTHER&lt;br /&gt;
pid X&#039;s current scheduling priority: 0&lt;br /&gt;
pid X&#039;s new scheduling policy: SCHED_FIFO&lt;br /&gt;
pid X&#039;s new scheduling priority: 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The more priority you set, the more your process is prioritary.&lt;br /&gt;
* Priority queues are OTHER (no realtime), FIFO (First In First Out), RR (Round Robin time share)&lt;br /&gt;
* You can validate realtime performances of your system with &#039;&#039;cyclictest&#039;&#039;. For example to launch 10 processes triggering on timer set to 10ms with different descending priorities, you can do:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cyclictest -t 10 -p 20 -n -i 10000 --priospread&lt;br /&gt;
&lt;br /&gt;
/dev/cpu_dma_latency set to 0us&lt;br /&gt;
policy: fifo: loadavg: 0.45 0.23 0.10 1/86 230          &lt;br /&gt;
&lt;br /&gt;
T: 0 (  219) P:99 I:10000 C:  34012 Min:     67 Act:  166 Avg:  174 Max:     536&lt;br /&gt;
T: 1 (  220) P:98 I:10500 C:  32393 Min:     76 Act:  228 Avg:  202 Max:     719&lt;br /&gt;
T: 2 (  221) P:97 I:11000 C:  30920 Min:     66 Act:  170 Avg:  197 Max:    1154&lt;br /&gt;
T: 3 (  222) P:96 I:11500 C:  29576 Min:     65 Act:  217 Avg:  194 Max:    1176&lt;br /&gt;
T: 4 (  223) P:95 I:12000 C:  28343 Min:     72 Act:  167 Avg:  194 Max:    1912&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* times are in microseconds&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/preemptrt_setup&lt;br /&gt;
* https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/application_base&lt;br /&gt;
&lt;br /&gt;
[[Category:Real-Time]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Tslib&amp;diff=15302</id>
		<title>Tslib</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Tslib&amp;diff=15302"/>
		<updated>2026-05-05T14:02:31Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Calibration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Library which provides a common interface to touchscreen and allows touchscreen events filtering or calibrating...&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Tslib is now installed by default on Armadeus SDK. For reference, installation instructions are kept [[Talk:Tslib|here]].&lt;br /&gt;
&lt;br /&gt;
==Configuration details==&lt;br /&gt;
Most are now automatically done in recent Armadeus SDK releases. If you are interested, history is kept [[Talk:Tslib|here]].&lt;br /&gt;
&lt;br /&gt;
{{Note| to work, Tslib requires that the corresponding touchscreen Linux driver has been loaded before. On APF9328/APF27, please have a look to [[TSC2102_Linux_driver]] if not already done. On [[APF51]](Wolfson) / [[APF28]](internal) / [[APF6Dev]](SX8654) driver is statically built inside Linux kernel and should auto detect the touchscreen controller.}}&lt;br /&gt;
&lt;br /&gt;
===Config file===&lt;br /&gt;
* Tslib plugins can be tuned with &#039;&#039;/etc/ts.conf&#039;&#039;. A default one is provided in all rootfs:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # cat /etc/ts.conf&lt;br /&gt;
 &lt;br /&gt;
 module_raw input&lt;br /&gt;
 module pthres pmin=1&lt;br /&gt;
 module variance delta=30&lt;br /&gt;
 module dejitter delta=100&lt;br /&gt;
 module linear&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Envt variables===&lt;br /&gt;
* Some ENVT variables are needed too. By default they are defined in &#039;&#039;/etc/profile&#039;&#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 export TSLIB_TSDEVICE=/dev/input/event0&lt;br /&gt;
 export TSLIB_TSEVENTTYPE=INPUT&lt;br /&gt;
 export TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_CALIBFILE=/etc/pointercal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you have other input devices (like mouse or keyboard) and they have been detected by Linux before your touchscreen device, then you will probably need to adapt TSLIB_TSDEVICE variable.&lt;br /&gt;
&lt;br /&gt;
===Calibration===&lt;br /&gt;
* Before first usage, a &#039;&#039;&#039;resistive&#039;&#039;&#039; touchscreen needs to be calibrated. When starting, Tslib will look at &#039;&#039;/etc/pointercal&#039;&#039; to get calibration data. This file is created when running Tslib&#039;s calibration tool:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # /usr/bin/ts_calibrate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:Tslib_calibrate.png]]&lt;br /&gt;
&lt;br /&gt;
==Testing it==&lt;br /&gt;
 # /usr/bin/ts_test&lt;br /&gt;
[[Image:Tslib_test.png]]&lt;br /&gt;
&lt;br /&gt;
==Adding Tslib support to SDL==&lt;br /&gt;
[[SDL|SDL]] is by default compiled with Tslib support in current Buildroot distribution. You just have to make [[SDL|SDL]] knows the presence of Tslib when launching your  application with:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 export SDL_MOUSEDRV=TSLIB&lt;br /&gt;
 export SDL_MOUSEDEV=$TSLIB_TSDEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To have an example of a [[SDL|SDL]] application using Tslib, take a look at &#039;&#039;target/demos/backlight_control/&#039;&#039; sources.&lt;br /&gt;
&lt;br /&gt;
==Adding Tslib support to Qt==&lt;br /&gt;
When selecting Qt in Buildroot menuconfig you can choose the input method to be Tslib. See [[Qt/Embedded#Installation|Qt installation]] for more informations.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://tslib.berlios.de/ Tslib Website]&lt;br /&gt;
* http://www.daimi.au.dk/~spider/gumstix/gumstix-buildroot/package/tslib/&lt;br /&gt;
* http://www.openembedded.org/filebrowser/org.openembedded.packaged-staging/packages/tslib&lt;br /&gt;
* http://linux-dvbh.blogspot.com/2006/12/tslib-download-and-cross-compile-for.html&lt;br /&gt;
* [http://www.opentom.org/LibSDL SDL &amp;amp; Tslib page of the OpenTomTom project]&lt;br /&gt;
&lt;br /&gt;
[[Category:Touchscreen]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=CAN_bus_Linux_driver&amp;diff=15299</id>
		<title>CAN bus Linux driver</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=CAN_bus_Linux_driver&amp;diff=15299"/>
		<updated>2026-03-26T14:26:05Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Quick test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current CAN bus driver uses SocketCAN API which is now the official CAN API for Linux.&lt;br /&gt;
SocketCAN is based on the Linux socket. Further details can be found on the links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Please ensure that you use a recent version of armadeus BSP (kernel version more than 2.6.38 is required) before trying the instructions described on this page! With older kernel versions you may not be able to change the bitrate.}}&lt;br /&gt;
&lt;br /&gt;
==Driver installation==&lt;br /&gt;
* Nothing has to be done for the [[APF51Dev]], the [[APF28Dev]], [[APF6Dev]] and the [[OPOS6ULDev]].&lt;br /&gt;
* For the [[APF27Dev|APF27DevFull]]:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Networking support  ---&amp;gt;&lt;br /&gt;
    &amp;lt;M&amp;gt;   CAN bus subsystem support ---&amp;gt; &lt;br /&gt;
        --- CAN bus subsystem support&lt;br /&gt;
        &amp;lt;M&amp;gt;   Raw CAN Protocol (raw access with CAN-ID filtering)&lt;br /&gt;
        &amp;lt;M&amp;gt;   Broadcast Manager CAN Protocol (with content filtering)&lt;br /&gt;
              CAN Device Drivers  ---&amp;gt;&lt;br /&gt;
                  &amp;lt;M&amp;gt; Virtual Local CAN Interface (vcan)&lt;br /&gt;
                  &amp;lt;M&amp;gt; Platform CAN drivers with Netlink support&lt;br /&gt;
                  [*]   CAN bit-timing calculation   &lt;br /&gt;
                  &amp;lt;M&amp;gt; Microchip 251x series SPI CAN Controller&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make linux&lt;br /&gt;
 $ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash kernel and rootfs&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
* Load all the required drivers (not needed on [[OPOS6UL]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe can&lt;br /&gt;
# modprobe can-dev&lt;br /&gt;
# modprobe can-raw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;CAN bus modules depending on board&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 &amp;amp; APF51 || APF6&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mcp251x          &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe flexcan         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
* Set the bitrate before all operations&lt;br /&gt;
Example:&lt;br /&gt;
Set the bitrate of the can0 interface to 125kbps:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ip link set can0 up type can bitrate 125000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| An error occurs when you try to set the bitrate with an old Linux kernel. In that case, &#039;&#039;echo 125000 &amp;gt; /sys/devices/platform/FlexCAN.0/bitrate&#039;&#039; was reported to be a good alternative.}}&lt;br /&gt;
&lt;br /&gt;
* If the following error occurs when you do the last instruction :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ip: either &amp;quot;dev&amp;quot; is duplicate, or &amp;quot;type&amp;quot; is garbage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
check that this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# which ip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return this message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
/sbin/ip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and not this one :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
/bin/ip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the binary is installed in &#039;&#039;/bin&#039;&#039; instead of &#039;&#039;/sbin&#039;&#039;, the executable file is a link to busybox and the command to set the bitrate doesn&#039;t work on busybox, so try the following instructions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make busybox-clean&lt;br /&gt;
$ make busybox-dirclean&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Networking applications  ---&amp;gt;&lt;br /&gt;
        [*] iproute2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, reflash your rootfs.&lt;br /&gt;
&lt;br /&gt;
==Quick test==&lt;br /&gt;
* Once the driver is installed and the bitrate is set, the CAN interface has to be started like a standard net interface (be sure to have previously setup bitrate cf above):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # ifconfig can0 up   or   ip link set can0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* and can be stopped like that:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # ifconfig can0 down   or   ip link set can0 down&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The socketCAN version can be retrieved this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # cat /proc/net/can/version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The socketCAN statistics can be retrieved this way:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # cat /proc/net/can/stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Userspace tools==&lt;br /&gt;
Several tools are provided by socketCAN:&lt;br /&gt;
*&#039;&#039;&#039;candump&#039;&#039;&#039;: dump traffic on a CAN network&lt;br /&gt;
The following command shows the received message from the CAN bus&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
candump can0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;cansend&#039;&#039;&#039;: simple command line tool to send CAN-frames via CAN_RAW sockets &lt;br /&gt;
exemple :&lt;br /&gt;
The following command sends 3 bytes on the bus (0x1E, 0x10, 0x10) with the identifier 500.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
cansend can0 500#1E.10.10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can send a remote request message&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
cansend can0 500#R&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The information with the identifier 500 will be available on the bus when the device receive the remote request message&lt;br /&gt;
*&#039;&#039;&#039;cangen&#039;&#039;&#039;: CAN frames generator for testing purpose&lt;br /&gt;
*&#039;&#039;&#039;canplayer&#039;&#039;&#039;: send CAN frames from a file to a CAN interface&lt;br /&gt;
&lt;br /&gt;
These tools can be compiled and installed on the target by means of the Buildroot menuconfig:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Networking  ---&amp;gt;&lt;br /&gt;
        [*]   Socket CAN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then, reflash your rootfs.&lt;br /&gt;
&lt;br /&gt;
==Automatically launch CAN interface at startup==&lt;br /&gt;
* Add the following lines to &#039;&#039;/etc/network/interfaces&#039;&#039; configuration file:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;APF&amp;quot;&amp;gt;&lt;br /&gt;
auto can0&lt;br /&gt;
iface can0 inet manual&lt;br /&gt;
        pre-up /sbin/ip link set $IFACE type can bitrate 125000 on&lt;br /&gt;
        up /sbin/ifconfig $IFACE up&lt;br /&gt;
        down /sbin/ifconfig $IFACE down&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* https://www.ridgerun.com/developer/wiki/index.php/How_to_configure_and_use_CAN_bus (How to configure and use CAN bus)&lt;br /&gt;
* http://developer.berlios.de/projects/socketcan/ (CAN Linux Driver)&lt;br /&gt;
* http://ww1.microchip.com/downloads/en/DeviceDoc/21801e.pdf (MCP2515 datasheet)&lt;br /&gt;
* http://www.kvaser.com/can/protocol/index.htm (CAN introduction)&lt;br /&gt;
* [[User:KevinJ#Communication_with_the_CAN_Bus_of_a_car|Communication with a car&#039;s CAN bus]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux drivers]]&lt;br /&gt;
[[Category:CAN bus]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=OPOS91&amp;diff=15298</id>
		<title>OPOS91</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=OPOS91&amp;diff=15298"/>
		<updated>2026-02-06T15:32:41Z</updated>

		<summary type="html">&lt;p&gt;JulienB: Created page with &amp;quot;Category: OPOS91  {{Under_Construction}}  ==Description==  The [https://www.opossom.com/english/product-opos91/index.html OPOS91] is a high-end [https://en.wikipedia.org/wiki/Single-board_computer Single Board Computer] targeted for advanced GUI and extended connectivity at low price.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: OPOS91]]&lt;br /&gt;
&lt;br /&gt;
{{Under_Construction}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
The [https://www.opossom.com/english/product-opos91/index.html OPOS91] is a high-end [https://en.wikipedia.org/wiki/Single-board_computer Single Board Computer] targeted for advanced GUI and extended connectivity at low price.&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15297</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15297"/>
		<updated>2026-02-02T12:07:05Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|APF27=&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
|-|APF6=&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
|-|OPOS93=&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|APF27=&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-|APF6=&lt;br /&gt;
*  for kernel 3.19+ :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-|OPOS93=&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# vi setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
#  chmod +x setCam.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15296</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15296"/>
		<updated>2026-02-02T12:05:08Z</updated>

		<summary type="html">&lt;p&gt;JulienB: Tabs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|APF27=&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
|-|APF6=&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
|-|OPOS93=&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-|APF27=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-|APF6 (kernel 3.19+)=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-|OPOS93=&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# vi setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
#  chmod +x setCam.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15295</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15295"/>
		<updated>2026-02-02T11:59:25Z</updated>

		<summary type="html">&lt;p&gt;JulienB: Tabs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|APF27=&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
|-|APF6=&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
|-|OPOS93=&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Camera drivers&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 || APF6 (kernel 3.19+)&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# vi setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
#  chmod +x setCam.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Test_Mermaid&amp;diff=15294</id>
		<title>Test Mermaid</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Test_Mermaid&amp;diff=15294"/>
		<updated>2026-01-30T17:36:19Z</updated>

		<summary type="html">&lt;p&gt;JulienB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Should see something below:&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:sequenceDiagram&lt;br /&gt;
participant Alice&lt;br /&gt;
participant Bob&lt;br /&gt;
  Alice-&amp;gt;John: Hello John, how are you?&lt;br /&gt;
  loop Healthcheck&lt;br /&gt;
       John-&amp;gt;John: Fight against hypochondria&lt;br /&gt;
  end&lt;br /&gt;
  Note right of John: Rational thoughts &amp;lt;br/&amp;gt;prevail...&lt;br /&gt;
    John--&amp;gt;Alice: Great!&lt;br /&gt;
    John-&amp;gt;Bob: How about you?&lt;br /&gt;
    Bob--&amp;gt;John: Jolly good!&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Test_Mermaid&amp;diff=15293</id>
		<title>Test Mermaid</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Test_Mermaid&amp;diff=15293"/>
		<updated>2026-01-30T17:33:20Z</updated>

		<summary type="html">&lt;p&gt;JulienB: Created page with &amp;quot;{{#mermaid:sequenceDiagram participant Alice participant Bob   Alice-&amp;gt;John: Hello John, how are you?   loop Healthcheck        John-&amp;gt;John: Fight against hypochondria   end   Note right of John: Rational thoughts &amp;lt;br/&amp;gt;prevail...     John--&amp;gt;Alice: Great!     John-&amp;gt;Bob: How about you?     Bob--&amp;gt;John: Jolly good! }}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#mermaid:sequenceDiagram&lt;br /&gt;
participant Alice&lt;br /&gt;
participant Bob&lt;br /&gt;
  Alice-&amp;gt;John: Hello John, how are you?&lt;br /&gt;
  loop Healthcheck&lt;br /&gt;
       John-&amp;gt;John: Fight against hypochondria&lt;br /&gt;
  end&lt;br /&gt;
  Note right of John: Rational thoughts &amp;lt;br/&amp;gt;prevail...&lt;br /&gt;
    John--&amp;gt;Alice: Great!&lt;br /&gt;
    John-&amp;gt;Bob: How about you?&lt;br /&gt;
    Bob--&amp;gt;John: Jolly good!&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15290</id>
		<title>LinuxInstall</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15290"/>
		<updated>2026-01-30T16:56:51Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Prerequisites for Linux installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;How-To install Armadeus Software Development Kit (SDK) on Linux systems. This SDK is currently based on the (excellent) [http://buildroot.net/ Buildroot].&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation was successfully tested on the following distributions:&lt;br /&gt;
* Debian Lenny (5.0),  Squeeze (6.0.x), Wheezy (7.2), Jessie (8.0)&lt;br /&gt;
* X/KUbuntu Edgy Eft (6.10), Gutsy Gibbon (7.10), Hardy Heron (8.04) &amp;amp; Jaunty Jackalope (9.04)&lt;br /&gt;
* Ubuntu  Lucid Lynx (10.04) (32 &amp;amp; 64bits), 12.04 LTS (32 &amp;amp; 64bits), 13.10 (32 &amp;amp; 64bits), 14.04, 15.04 &amp;amp; 16.04&lt;br /&gt;
* LUbuntu 17.10&lt;br /&gt;
* Mandriva 2006&lt;br /&gt;
* Fedora Core 3 &amp;amp; 4, Fedora 10, Laughlin (14)&lt;br /&gt;
* Red Hat Enterprise 5.2&lt;br /&gt;
* Gentoo 10.0 (32 &amp;amp; 64 bits)&lt;br /&gt;
* SuSE 10.1, OpenSUSE 11.3 - 12.3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The installation may fail on:&#039;&#039;&#039;&lt;br /&gt;
* Ubuntu Karmic Koala (9.10): tslib fails to build&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;APF28 requirements:&#039;&#039;&#039;&lt;br /&gt;
* APF28 board requires a Linux distribution with (GNU) tar version 1.20 or later to compile the Linux Kernel - Please update or upgrade your Linux distribution. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites for Linux installation==&lt;br /&gt;
{{Note|From here we assume that your Linux system has a &#039;&#039;make&#039;&#039; version &#039;&#039;&#039;greater or equal to&#039;&#039;&#039; 3.81. To check it: &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make -v&lt;br /&gt;
GNU Make 3.81&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
For armadeus up to 3.4, make should be &#039;&#039;&#039;strictly&#039;&#039;&#039; make-3.81 (make-3.82 is too strict). A Fedora (14 and 15) -specific solution can be found later; other recent distributions such as mageia1 also have make-3.82, and a generic solution, based on configure&amp;amp;&amp;amp; make&amp;amp;&amp;amp; sudo make install can be used to install make-3.81 (which can be retrieved from http://ftp.gnu.org/gnu/make/make-6.81.tar.gz) in /usr/local/bin (and , according to one&#039;s PATH, make 3-81 can be invoked directly or as /usr/local/bin/make). &lt;br /&gt;
 &lt;br /&gt;
Depending on your distribution, some additional packages are required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Debian/Ubuntu based systems=&lt;br /&gt;
[[Ubuntu/Debian installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
|-|Mandriva based systems=&lt;br /&gt;
[[Mandriva installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
|-|RPM-based systems (RedHat, Fedora, CentOS)=&lt;br /&gt;
[[RedHat/Fedora installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
|-|OpenSuse based systems=&lt;br /&gt;
[[OpenSuse installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
|-|Gentoo based systems=&lt;br /&gt;
[[Gentoo installation prerequisites]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Get Armadeus software==&lt;br /&gt;
* &#039;&#039;&#039;If you are a &amp;quot;careful&amp;quot; user&#039;&#039;&#039;, then download [https://gitlab.com/armadeus/armadeus-bsp/-/tags the latest stable installation tarball from gitlab] and detar it wherever you want:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ tar xjvf armadeus-7.0.tar.bz2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;If you want the latest snapshot or if you have a recent SOM ([[OPOS6UL]]/[[OPOS8MM]])&#039;&#039;&#039;, the whole development tree can be checked out from our [[GIT]] repository.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git clone git@gitlab.com:armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
   or if you don&#039;t have a gitlab account:&lt;br /&gt;
 $ git clone https://gitlab.com/armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* depending on your previous choice, a directory named &#039;&#039;armadeus/&#039;&#039; or &#039;&#039;armadeus-7.0/&#039;&#039; will be created on your hard-disk and will contain all the files you need.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;Do not use spaces&#039;&#039;&#039; in the directory name !&lt;br /&gt;
* &#039;&#039;&#039;Do not use a directory path beginning with /usr.&#039;&#039;&#039; It is a known bug of Buildroot (until BR2012.11, at 2012-12).&lt;br /&gt;
* GIT write/push accesses are limited to the integrators ([[User:JulienB|JulienB]], [[User:SebastienSz|SebastienSz]], [[User:Jorasse|Jorasse]], [[User:FabienM|FabienM]], [[User:SebastienR|SebastienR]])&lt;br /&gt;
&lt;br /&gt;
==Configure SDK/BSP options==&lt;br /&gt;
{{Note|If you are new to Armadeus and have troubles compiling armadeus-5.x/armadeus-6.x using the following instructions, you may find some hints here: [[Releases]]}}&lt;br /&gt;
*Go to the directory where you put the Armadeus sources:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cd armadeus/  (or armadeus-7.0/)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*The first time you compile an Armadeus distribution you have to specify the target (here the [[APF9328]]) to work with. &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make apf9328_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command reloads the default configuration to support your target and automatically start a Buildroot&#039;s configuration menu.&lt;br /&gt;
&lt;br /&gt;
* Current valid default configurations are:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
apf9328_defconfig  apf27_defconfig  pps_defconfig  apf28_defconfig  apf51_defconfig  pps51_defconfig apf6_defconfig apf6legacy_defconfig opos6ul_defconfig opos6ulnano_defconfig opos6ulsp_defconfig opos8mm-legacy-5.10_defconfig opos93-legacy-6.1_defconfig opos93sp-legacy-6.1_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note| To get the full list of available config just type make, it will download buildroot and print following message :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
[...]&lt;br /&gt;
 System not configured. Use make &amp;lt;board&amp;gt;_defconfig &lt;br /&gt;
 armadeus valid configurations are:                &lt;br /&gt;
     opos6ul_legacy_defconfig opos6ulnano-preempt-rt_defconfig apf6_defconfig pps_defconfig opos6ultest_defconfig apf51_defconfig opos6ulsp_defconfig apf6dawnsmalllinux_defconfig apf27preempt-rt_defconfig apf27test_defconfig apf27_defconfig apf28legacytest_defconfig opos6ullegacy-4.14_defconfig opos6ulnano_defconfig apf28legacy_defconfig apf6mainline-4.19_defconfig opos6ul_defconfig apf6legacy_defconfig apf6xenomai_defconfig apf51test_defconfig opos6ul-preempt-rt_defconfig apf6legacy-preempt-rt_defconfig apf6legacy-4.1_defconfig pps51_defconfig apf6mainline-4.9_defconfig apf28test_defconfig apf28_defconfig apf6mediacenter_defconfig opos6ullegacy-4.9_defconfig opos6ul_recovery_defconfig apf6failsafe_defconfig apf6test_defconfig opos6ullegacy-4.1_defconfig apf27xenomai_defconfig&lt;br /&gt;
                                                   &lt;br /&gt;
Makefile:129: recipe for target &#039;/usr/local/projects/apf6_sp_419/buildroot/.configured&#039; failed&lt;br /&gt;
make: *** [/usr/local/projects/apf6_sp_419/buildroot/.configured] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For PPS boards, please see [[APF27_PPS]] or [[PPS51]] Wiki pages, as these boards have specific build.&lt;br /&gt;
&lt;br /&gt;
* After some downloads, you will get the Buildroot configuration interface:&lt;br /&gt;
&lt;br /&gt;
{{Note|If you ever made changes during the following steps, at any time, you can reload the default configuration with:&lt;br /&gt;
 $ make xxx_defconfig       (xxx depending on your module name)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Menuconfig3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
*If you are not familiar with Buildroot here are some tips:&lt;br /&gt;
*# you can move the highlighted item with the &amp;quot;up&amp;quot;/&amp;quot;down&amp;quot; arrow keys&lt;br /&gt;
*# with the &amp;quot;left&amp;quot;/&amp;quot;right&amp;quot; arrow keys you can choose between &amp;quot;Select&amp;quot;, &amp;quot;Exit&amp;quot; or &amp;quot;Help&amp;quot; buttons&lt;br /&gt;
*# &amp;quot;space&amp;quot;/&amp;quot;enter&amp;quot;:&lt;br /&gt;
*#* selects the currently highlighted item if you are on the &amp;quot;Select&amp;quot; button&lt;br /&gt;
*#* go back in previous menu if you are on &amp;quot;Exit&amp;quot; button&lt;br /&gt;
*#* show you some Help for current item if you are on &amp;quot;Help&amp;quot; button&lt;br /&gt;
*# for more Help about Buildroot commands, select &amp;quot;Help&amp;quot; in the main configuration screen&lt;br /&gt;
&lt;br /&gt;
* Update the memory configuration of your board (&#039;&#039;&#039;if needed&#039;&#039;&#039;; by default BSP is configured for the minimal memory configuration available on the corresponding board):&lt;br /&gt;
&lt;br /&gt;
:In menu:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;System configuration  ---&amp;gt;    [*] Armadeus Device Support  ---&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:you can check and change the quantity of RAM available on your Armadeus board:&lt;br /&gt;
:[[Image:Build_config_memory.png]]&lt;br /&gt;
:For [[APF9328]] the memory can be either 16 or 32MiB (be sure to select 1 RAM chip)&lt;br /&gt;
:For [[APF27]] it could be either 64MiB or 128MiB (2 x 64MiB) (in that case be sure to select 2 chips of 64MiB instead of 1 chip of 128MiB).&lt;br /&gt;
:For [[APF51]] it could be either 256MiB or 512MiB (2x256MiB) (in such case be sure to select 2 chips of 256MiB instead of 1 chip of 512).&lt;br /&gt;
:For [[APF28]] The memory can be 128, 256, 512 or 1024MiB (be sure to select 1 RAM chip).&lt;br /&gt;
:For [[APF6]]/[[APF6SP]] The memory can be 512 Mbytes or 1Gbytes with ram chip size of 512Mbytes.&lt;br /&gt;
:For [[OPOS6UL]]/[[OPOS6UL_NANO]] The memory size is automatically detected so you don&#039;t care ;-)&lt;br /&gt;
&lt;br /&gt;
* You may decrease the compilation time by increasing the number of parallel jobs running simultaneously on your system (the result is not guaranteed). This option is located in:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build Options ---&amp;gt;    (0) Number of jobs to run simultaneously&amp;lt;/pre&amp;gt;&lt;br /&gt;
0 means that Buildroot will try to guess automatically how much parallel jobs it can launch.&lt;br /&gt;
&lt;br /&gt;
* During the SDK/BSP build, a lot of software archives are downloaded from Internet. The downloaded files are put by default in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. &#039;&#039;&#039;If you have several views or plan to build the toolchain several times&#039;&#039;&#039;, we advise you to put all the downloaded files in &#039;&#039;/local/downloads&#039;&#039; (for example). This is done by configuring Buildroot to use this directory for all your views. Nevertheless, Buildroot will be downloaded separately for each build environment you set up.&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build options  ---&amp;gt;    (...) Download dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
:[[Image:Build_config_download.png]]&lt;br /&gt;
{{Note|Of course, &#039;&#039;/local/downloads&#039;&#039; should exists on your system and you should have writing rights on it !}}&lt;br /&gt;
* In recent Buildroot you can also use the following method:&lt;br /&gt;
 export BR2_DL_DIR=/local/downloads&lt;br /&gt;
&lt;br /&gt;
* After the build, we advise you to copy all the files in &#039;&#039;downloads/&#039;&#039; / &#039;&#039;/local/downloads&#039;&#039; on a removable medium, in case you want to install the development tools on other systems, without to have to reload all the archives.&lt;br /&gt;
&lt;br /&gt;
* Now, Exit the configuration tool and save your configuration&lt;br /&gt;
&lt;br /&gt;
* You can come back to this configuration menu, by typing (your changes will be kept): &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Launch build==&lt;br /&gt;
 $ make&lt;br /&gt;
The toolchain and the full distribution are automatically built. During this procedure, several files are downloaded from Internet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please wait for a while.... it takes at least one hour for the first run!&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
By default, the downloaded files/tarball are put in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. Please see the previous chapter to know how to optimize that if you plan to build several views or want to build faster.&lt;br /&gt;
&lt;br /&gt;
==Enjoy the result==&lt;br /&gt;
The generated binary files can be found in the subdirectory &#039;&#039;buildroot/output/images&#039;&#039;:&lt;br /&gt;
*&#039;&#039;apf9328-u-boot.brec&#039;&#039; (only on [[APF9328]]): BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working (see [[BootLoader]] page)&lt;br /&gt;
*&#039;&#039;xxx-u-boot.bin&#039;&#039;: U-Boot image file to be used with U-Boot itself, (see [[BootLoader#Update_U-Boot | updating U-Boot]])&lt;br /&gt;
*&#039;&#039;xxx-linux.bin&#039;&#039;: Linux image to use with U-Boot, (see [[Target_Software_Installation#Linux_kernel_installation | updating Linux]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.jffs2&#039;&#039;: JFFS2 filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ubi&#039;&#039; (not supported on [[APF9328]]): [[UBIFS|UBI]] filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ext4&#039;&#039;: EXT4 filesystem/rootfs image to use with U-Boot, (on [[APF6]] and [[OPOS6UL]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.tar&#039;&#039;: for an NFS/MMC based rootfs, (see [[Network_Configuration#Boot_from_NFS | Booting from NFS]] &amp;amp; [[MultiMediaCard#Booting_from_MMC.2FSD | Booting from a MMC/SD]])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note the new naming convention of binary files and directories (since Armadeus 4.0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;buildroot/output/build&#039;&#039;: contains all the build results for target root filesystem, Linux, Busybox and U-Boot...&lt;br /&gt;
*&#039;&#039;buildroot/output/toolchain/&#039;&#039;: cross compilation toolchain&#039;s build dir. Binaries usable for cross-compilation are in &#039;&#039;buildroot/output/host/usr/bin&#039;&#039;.&lt;br /&gt;
*&#039;&#039;buildroot/output/target/&#039;&#039;: target filessytem before generating rootfs images&lt;br /&gt;
&lt;br /&gt;
More information is available in the  [http://buildroot.uclibc.org/buildroot.html Buildroot&#039;s documentation]&lt;br /&gt;
&lt;br /&gt;
* Note: Previous versions (3.x) of Armadeus SDK stored the generated binary files at a different place: &#039;&#039; &#039;&#039;buildroot/binaries/XX/&#039;&#039; (where XX was the name of your board).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then copy the binary image to your server directory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==To keep your local copy/repository up-to-date with the armadeus GIT repository==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will update your working directory to the latest release.&lt;br /&gt;
&lt;br /&gt;
Note: if &amp;quot;git pull&amp;quot; fails because a directory or a file already exists, then do:&lt;br /&gt;
 $ rm -rf &amp;lt;this-directory/file&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&lt;br /&gt;
You can do a:&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
to have the latest features automatically activated.&lt;br /&gt;
&lt;br /&gt;
You have to do a &#039;&#039;&#039;make&#039;&#039;&#039; to rebuild binary files and then upload the binary files to your target.&lt;br /&gt;
&lt;br /&gt;
Note: if definitively everything goes wrong while it worked before the last update.&lt;br /&gt;
You can apply the following procedure (all your modifications in buildroot will be lost):&lt;br /&gt;
 $ rm -rf buildroot/&lt;br /&gt;
 $ rm Makefile&lt;br /&gt;
 $ git pull&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15289</id>
		<title>LinuxInstall</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15289"/>
		<updated>2026-01-30T16:54:41Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Prerequisites for Linux installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;How-To install Armadeus Software Development Kit (SDK) on Linux systems. This SDK is currently based on the (excellent) [http://buildroot.net/ Buildroot].&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation was successfully tested on the following distributions:&lt;br /&gt;
* Debian Lenny (5.0),  Squeeze (6.0.x), Wheezy (7.2), Jessie (8.0)&lt;br /&gt;
* X/KUbuntu Edgy Eft (6.10), Gutsy Gibbon (7.10), Hardy Heron (8.04) &amp;amp; Jaunty Jackalope (9.04)&lt;br /&gt;
* Ubuntu  Lucid Lynx (10.04) (32 &amp;amp; 64bits), 12.04 LTS (32 &amp;amp; 64bits), 13.10 (32 &amp;amp; 64bits), 14.04, 15.04 &amp;amp; 16.04&lt;br /&gt;
* LUbuntu 17.10&lt;br /&gt;
* Mandriva 2006&lt;br /&gt;
* Fedora Core 3 &amp;amp; 4, Fedora 10, Laughlin (14)&lt;br /&gt;
* Red Hat Enterprise 5.2&lt;br /&gt;
* Gentoo 10.0 (32 &amp;amp; 64 bits)&lt;br /&gt;
* SuSE 10.1, OpenSUSE 11.3 - 12.3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The installation may fail on:&#039;&#039;&#039;&lt;br /&gt;
* Ubuntu Karmic Koala (9.10): tslib fails to build&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;APF28 requirements:&#039;&#039;&#039;&lt;br /&gt;
* APF28 board requires a Linux distribution with (GNU) tar version 1.20 or later to compile the Linux Kernel - Please update or upgrade your Linux distribution. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites for Linux installation==&lt;br /&gt;
{{Note|From here we assume that your Linux system has a &#039;&#039;make&#039;&#039; version &#039;&#039;&#039;greater or equal to&#039;&#039;&#039; 3.81. To check it: &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make -v&lt;br /&gt;
GNU Make 3.81&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
For armadeus up to 3.4, make should be &#039;&#039;&#039;strictly&#039;&#039;&#039; make-3.81 (make-3.82 is too strict). A Fedora (14 and 15) -specific solution can be found later; other recent distributions such as mageia1 also have make-3.82, and a generic solution, based on configure&amp;amp;&amp;amp; make&amp;amp;&amp;amp; sudo make install can be used to install make-3.81 (which can be retrieved from http://ftp.gnu.org/gnu/make/make-6.81.tar.gz) in /usr/local/bin (and , according to one&#039;s PATH, make 3-81 can be invoked directly or as /usr/local/bin/make). &lt;br /&gt;
 &lt;br /&gt;
Depending on your distribution, some additional packages are required:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
|-|Debian=&lt;br /&gt;
===Debian/Ubuntu based systems===&lt;br /&gt;
[[Ubuntu/Debian installation prerequisites]]&lt;br /&gt;
|-|Mandriva=&lt;br /&gt;
===Mandriva based systems=== &lt;br /&gt;
[[Mandriva installation prerequisites]]&lt;br /&gt;
|-|RPM=&lt;br /&gt;
===RPM-based systems (RedHat, Fedora, CentOS)===&lt;br /&gt;
[[RedHat/Fedora installation prerequisites]]&lt;br /&gt;
|-|Suse=&lt;br /&gt;
===OpenSuse based systems===&lt;br /&gt;
[[OpenSuse installation prerequisites]]&lt;br /&gt;
|-|Gentoon=&lt;br /&gt;
===Gentoo based systems===&lt;br /&gt;
[[Gentoo installation prerequisites]]&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Get Armadeus software==&lt;br /&gt;
* &#039;&#039;&#039;If you are a &amp;quot;careful&amp;quot; user&#039;&#039;&#039;, then download [https://gitlab.com/armadeus/armadeus-bsp/-/tags the latest stable installation tarball from gitlab] and detar it wherever you want:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ tar xjvf armadeus-7.0.tar.bz2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;If you want the latest snapshot or if you have a recent SOM ([[OPOS6UL]]/[[OPOS8MM]])&#039;&#039;&#039;, the whole development tree can be checked out from our [[GIT]] repository.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git clone git@gitlab.com:armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
   or if you don&#039;t have a gitlab account:&lt;br /&gt;
 $ git clone https://gitlab.com/armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* depending on your previous choice, a directory named &#039;&#039;armadeus/&#039;&#039; or &#039;&#039;armadeus-7.0/&#039;&#039; will be created on your hard-disk and will contain all the files you need.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;Do not use spaces&#039;&#039;&#039; in the directory name !&lt;br /&gt;
* &#039;&#039;&#039;Do not use a directory path beginning with /usr.&#039;&#039;&#039; It is a known bug of Buildroot (until BR2012.11, at 2012-12).&lt;br /&gt;
* GIT write/push accesses are limited to the integrators ([[User:JulienB|JulienB]], [[User:SebastienSz|SebastienSz]], [[User:Jorasse|Jorasse]], [[User:FabienM|FabienM]], [[User:SebastienR|SebastienR]])&lt;br /&gt;
&lt;br /&gt;
==Configure SDK/BSP options==&lt;br /&gt;
{{Note|If you are new to Armadeus and have troubles compiling armadeus-5.x/armadeus-6.x using the following instructions, you may find some hints here: [[Releases]]}}&lt;br /&gt;
*Go to the directory where you put the Armadeus sources:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cd armadeus/  (or armadeus-7.0/)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*The first time you compile an Armadeus distribution you have to specify the target (here the [[APF9328]]) to work with. &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make apf9328_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command reloads the default configuration to support your target and automatically start a Buildroot&#039;s configuration menu.&lt;br /&gt;
&lt;br /&gt;
* Current valid default configurations are:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
apf9328_defconfig  apf27_defconfig  pps_defconfig  apf28_defconfig  apf51_defconfig  pps51_defconfig apf6_defconfig apf6legacy_defconfig opos6ul_defconfig opos6ulnano_defconfig opos6ulsp_defconfig opos8mm-legacy-5.10_defconfig opos93-legacy-6.1_defconfig opos93sp-legacy-6.1_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note| To get the full list of available config just type make, it will download buildroot and print following message :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
[...]&lt;br /&gt;
 System not configured. Use make &amp;lt;board&amp;gt;_defconfig &lt;br /&gt;
 armadeus valid configurations are:                &lt;br /&gt;
     opos6ul_legacy_defconfig opos6ulnano-preempt-rt_defconfig apf6_defconfig pps_defconfig opos6ultest_defconfig apf51_defconfig opos6ulsp_defconfig apf6dawnsmalllinux_defconfig apf27preempt-rt_defconfig apf27test_defconfig apf27_defconfig apf28legacytest_defconfig opos6ullegacy-4.14_defconfig opos6ulnano_defconfig apf28legacy_defconfig apf6mainline-4.19_defconfig opos6ul_defconfig apf6legacy_defconfig apf6xenomai_defconfig apf51test_defconfig opos6ul-preempt-rt_defconfig apf6legacy-preempt-rt_defconfig apf6legacy-4.1_defconfig pps51_defconfig apf6mainline-4.9_defconfig apf28test_defconfig apf28_defconfig apf6mediacenter_defconfig opos6ullegacy-4.9_defconfig opos6ul_recovery_defconfig apf6failsafe_defconfig apf6test_defconfig opos6ullegacy-4.1_defconfig apf27xenomai_defconfig&lt;br /&gt;
                                                   &lt;br /&gt;
Makefile:129: recipe for target &#039;/usr/local/projects/apf6_sp_419/buildroot/.configured&#039; failed&lt;br /&gt;
make: *** [/usr/local/projects/apf6_sp_419/buildroot/.configured] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For PPS boards, please see [[APF27_PPS]] or [[PPS51]] Wiki pages, as these boards have specific build.&lt;br /&gt;
&lt;br /&gt;
* After some downloads, you will get the Buildroot configuration interface:&lt;br /&gt;
&lt;br /&gt;
{{Note|If you ever made changes during the following steps, at any time, you can reload the default configuration with:&lt;br /&gt;
 $ make xxx_defconfig       (xxx depending on your module name)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Menuconfig3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
*If you are not familiar with Buildroot here are some tips:&lt;br /&gt;
*# you can move the highlighted item with the &amp;quot;up&amp;quot;/&amp;quot;down&amp;quot; arrow keys&lt;br /&gt;
*# with the &amp;quot;left&amp;quot;/&amp;quot;right&amp;quot; arrow keys you can choose between &amp;quot;Select&amp;quot;, &amp;quot;Exit&amp;quot; or &amp;quot;Help&amp;quot; buttons&lt;br /&gt;
*# &amp;quot;space&amp;quot;/&amp;quot;enter&amp;quot;:&lt;br /&gt;
*#* selects the currently highlighted item if you are on the &amp;quot;Select&amp;quot; button&lt;br /&gt;
*#* go back in previous menu if you are on &amp;quot;Exit&amp;quot; button&lt;br /&gt;
*#* show you some Help for current item if you are on &amp;quot;Help&amp;quot; button&lt;br /&gt;
*# for more Help about Buildroot commands, select &amp;quot;Help&amp;quot; in the main configuration screen&lt;br /&gt;
&lt;br /&gt;
* Update the memory configuration of your board (&#039;&#039;&#039;if needed&#039;&#039;&#039;; by default BSP is configured for the minimal memory configuration available on the corresponding board):&lt;br /&gt;
&lt;br /&gt;
:In menu:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;System configuration  ---&amp;gt;    [*] Armadeus Device Support  ---&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:you can check and change the quantity of RAM available on your Armadeus board:&lt;br /&gt;
:[[Image:Build_config_memory.png]]&lt;br /&gt;
:For [[APF9328]] the memory can be either 16 or 32MiB (be sure to select 1 RAM chip)&lt;br /&gt;
:For [[APF27]] it could be either 64MiB or 128MiB (2 x 64MiB) (in that case be sure to select 2 chips of 64MiB instead of 1 chip of 128MiB).&lt;br /&gt;
:For [[APF51]] it could be either 256MiB or 512MiB (2x256MiB) (in such case be sure to select 2 chips of 256MiB instead of 1 chip of 512).&lt;br /&gt;
:For [[APF28]] The memory can be 128, 256, 512 or 1024MiB (be sure to select 1 RAM chip).&lt;br /&gt;
:For [[APF6]]/[[APF6SP]] The memory can be 512 Mbytes or 1Gbytes with ram chip size of 512Mbytes.&lt;br /&gt;
:For [[OPOS6UL]]/[[OPOS6UL_NANO]] The memory size is automatically detected so you don&#039;t care ;-)&lt;br /&gt;
&lt;br /&gt;
* You may decrease the compilation time by increasing the number of parallel jobs running simultaneously on your system (the result is not guaranteed). This option is located in:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build Options ---&amp;gt;    (0) Number of jobs to run simultaneously&amp;lt;/pre&amp;gt;&lt;br /&gt;
0 means that Buildroot will try to guess automatically how much parallel jobs it can launch.&lt;br /&gt;
&lt;br /&gt;
* During the SDK/BSP build, a lot of software archives are downloaded from Internet. The downloaded files are put by default in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. &#039;&#039;&#039;If you have several views or plan to build the toolchain several times&#039;&#039;&#039;, we advise you to put all the downloaded files in &#039;&#039;/local/downloads&#039;&#039; (for example). This is done by configuring Buildroot to use this directory for all your views. Nevertheless, Buildroot will be downloaded separately for each build environment you set up.&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build options  ---&amp;gt;    (...) Download dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
:[[Image:Build_config_download.png]]&lt;br /&gt;
{{Note|Of course, &#039;&#039;/local/downloads&#039;&#039; should exists on your system and you should have writing rights on it !}}&lt;br /&gt;
* In recent Buildroot you can also use the following method:&lt;br /&gt;
 export BR2_DL_DIR=/local/downloads&lt;br /&gt;
&lt;br /&gt;
* After the build, we advise you to copy all the files in &#039;&#039;downloads/&#039;&#039; / &#039;&#039;/local/downloads&#039;&#039; on a removable medium, in case you want to install the development tools on other systems, without to have to reload all the archives.&lt;br /&gt;
&lt;br /&gt;
* Now, Exit the configuration tool and save your configuration&lt;br /&gt;
&lt;br /&gt;
* You can come back to this configuration menu, by typing (your changes will be kept): &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Launch build==&lt;br /&gt;
 $ make&lt;br /&gt;
The toolchain and the full distribution are automatically built. During this procedure, several files are downloaded from Internet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please wait for a while.... it takes at least one hour for the first run!&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
By default, the downloaded files/tarball are put in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. Please see the previous chapter to know how to optimize that if you plan to build several views or want to build faster.&lt;br /&gt;
&lt;br /&gt;
==Enjoy the result==&lt;br /&gt;
The generated binary files can be found in the subdirectory &#039;&#039;buildroot/output/images&#039;&#039;:&lt;br /&gt;
*&#039;&#039;apf9328-u-boot.brec&#039;&#039; (only on [[APF9328]]): BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working (see [[BootLoader]] page)&lt;br /&gt;
*&#039;&#039;xxx-u-boot.bin&#039;&#039;: U-Boot image file to be used with U-Boot itself, (see [[BootLoader#Update_U-Boot | updating U-Boot]])&lt;br /&gt;
*&#039;&#039;xxx-linux.bin&#039;&#039;: Linux image to use with U-Boot, (see [[Target_Software_Installation#Linux_kernel_installation | updating Linux]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.jffs2&#039;&#039;: JFFS2 filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ubi&#039;&#039; (not supported on [[APF9328]]): [[UBIFS|UBI]] filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ext4&#039;&#039;: EXT4 filesystem/rootfs image to use with U-Boot, (on [[APF6]] and [[OPOS6UL]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.tar&#039;&#039;: for an NFS/MMC based rootfs, (see [[Network_Configuration#Boot_from_NFS | Booting from NFS]] &amp;amp; [[MultiMediaCard#Booting_from_MMC.2FSD | Booting from a MMC/SD]])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note the new naming convention of binary files and directories (since Armadeus 4.0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;buildroot/output/build&#039;&#039;: contains all the build results for target root filesystem, Linux, Busybox and U-Boot...&lt;br /&gt;
*&#039;&#039;buildroot/output/toolchain/&#039;&#039;: cross compilation toolchain&#039;s build dir. Binaries usable for cross-compilation are in &#039;&#039;buildroot/output/host/usr/bin&#039;&#039;.&lt;br /&gt;
*&#039;&#039;buildroot/output/target/&#039;&#039;: target filessytem before generating rootfs images&lt;br /&gt;
&lt;br /&gt;
More information is available in the  [http://buildroot.uclibc.org/buildroot.html Buildroot&#039;s documentation]&lt;br /&gt;
&lt;br /&gt;
* Note: Previous versions (3.x) of Armadeus SDK stored the generated binary files at a different place: &#039;&#039; &#039;&#039;buildroot/binaries/XX/&#039;&#039; (where XX was the name of your board).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then copy the binary image to your server directory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==To keep your local copy/repository up-to-date with the armadeus GIT repository==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will update your working directory to the latest release.&lt;br /&gt;
&lt;br /&gt;
Note: if &amp;quot;git pull&amp;quot; fails because a directory or a file already exists, then do:&lt;br /&gt;
 $ rm -rf &amp;lt;this-directory/file&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&lt;br /&gt;
You can do a:&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
to have the latest features automatically activated.&lt;br /&gt;
&lt;br /&gt;
You have to do a &#039;&#039;&#039;make&#039;&#039;&#039; to rebuild binary files and then upload the binary files to your target.&lt;br /&gt;
&lt;br /&gt;
Note: if definitively everything goes wrong while it worked before the last update.&lt;br /&gt;
You can apply the following procedure (all your modifications in buildroot will be lost):&lt;br /&gt;
 $ rm -rf buildroot/&lt;br /&gt;
 $ rm Makefile&lt;br /&gt;
 $ git pull&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15285</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15285"/>
		<updated>2026-01-19T17:04:56Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
===APF27===&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
===APF6===&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
===OPOS93===&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Camera drivers&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 || APF6 (kernel 3.19+)&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# vi setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
#  chmod +x setCam.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15284</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15284"/>
		<updated>2026-01-19T14:33:25Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
===APF27===&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
===APF6===&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
===OPOS93===&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Camera drivers&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 || APF6 (kernel 3.19+)&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; setCam.sh &amp;amp;&amp;amp; chmod +x setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
EOF &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15283</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15283"/>
		<updated>2026-01-19T14:32:59Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
===APF27===&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
===APF6===&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
===OPOS93===&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Camera drivers&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 || APF6 (kernel 3.19+)&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; setCam.sh &amp;amp;&amp;amp; chmod +x setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
EOF &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15282</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15282"/>
		<updated>2026-01-19T14:32:43Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
===APF27===&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
===APF6===&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
===OPOS93===&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Camera drivers&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 || APF6 (kernel 3.19+)&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; setCam.sh &amp;amp;&amp;amp; chmod +x setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EOF &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15281</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15281"/>
		<updated>2026-01-19T14:24:23Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
===APF27===&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
===APF6===&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
===OPOS93===&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Camera drivers&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 || APF6 (kernel 3.19+)&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; setCam.sh &amp;amp;&amp;amp; chmod +x setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
EOF &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15280</id>
		<title>Camera interface</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Camera_interface&amp;diff=15280"/>
		<updated>2026-01-16T18:14:53Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI/CSI2) of the i.MX chip found on your APF and OPOS93Dev board.&lt;br /&gt;
Currently only the [[APF27]], [[APF6]] &amp;amp; [[OPOS93]] are supported.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
===APF27===&lt;br /&gt;
* All the signals of the i.MX27 CSI interface can be found on the J9 connector of the [[APF27Dev|APF27Dev development board]].&lt;br /&gt;
* You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:&lt;br /&gt;
** [[OV9653]] / [[OV9655]]&lt;br /&gt;
** [[OV7670]]&lt;br /&gt;
** [[OV3640]]&lt;br /&gt;
* All these sensors are controllable through an I2C interface. The one on J8 connector of [[APF27Dev]] can for example be used.&lt;br /&gt;
&lt;br /&gt;
===APF6===&lt;br /&gt;
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).&lt;br /&gt;
* MIPI bus is used on [[APF6Dev]]&lt;br /&gt;
&lt;br /&gt;
===OPOS93===&lt;br /&gt;
* The [[OPOS93DEV]] board has a 15-pin Raspberry Pi Camera compatible connector (located below the OPOS93 SoC).&lt;br /&gt;
* A 2-lane MIPI CSI-2 bus is used.&lt;br /&gt;
* Tested with the OmniVision OV5647 sensor.&lt;br /&gt;
&lt;br /&gt;
==Driver==&lt;br /&gt;
* From now we consider that you have a supported camera module plugged on your development board&lt;br /&gt;
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Camera drivers&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! APF27 || APF6 (kernel 3.19+)&lt;br /&gt;
|---&lt;br /&gt;
|&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe mx27_camera&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then you have to load your camera driver in order for him to &amp;quot;attach&amp;quot; to the CSI one (for example for the OV9653):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 # modprobe ov96xx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* On OPOS93, the driver is automatically loaded when the camera is connected.&lt;br /&gt;
* Now it&#039;s up to you to configure your camera with the tools/API the camera driver is offering...&lt;br /&gt;
&lt;br /&gt;
==Test==&lt;br /&gt;
* We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): &#039;&#039;target/demos/camera/capture/&#039;&#039;&lt;br /&gt;
** it may be installed by default on your rootfs depending on your Buildroot defconfig.&lt;br /&gt;
** to launch it (here to have a 640x480 camera image on a LW700 TFT):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# capture --width 640 --height 480 --cam_width 640 --cam_height 480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To trigger autofocus (APF6 with 3.19+ kernel):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# v4l2-ctl -c auto_focus_start=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* On OPOS93DEV, the pipeline must have the same configuration on every link in the pipeline.&lt;br /&gt;
* Let&#039;s create a script:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; setCam.sh &amp;amp;&amp;amp; chmod +x setCam.sh&lt;br /&gt;
&lt;br /&gt;
SOURCE=$3&lt;br /&gt;
FORV4L2=$4&lt;br /&gt;
XL=$1&lt;br /&gt;
YL=$2&lt;br /&gt;
&lt;br /&gt;
if [[$SOURCE == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        SOURCE=SBGGR10_1X10&lt;br /&gt;
fi&lt;br /&gt;
if [[$FORV4L2 == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        FORV4L2=BG10&lt;br /&gt;
fi&lt;br /&gt;
if [[$XL == &amp;quot;&amp;quot;]]; then&lt;br /&gt;
        XL=640&lt;br /&gt;
        YL=480&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BAYER=$SOURCE/$XL\x$YL&lt;br /&gt;
echo Setting format to $XL/x$YL in $SOURCE - $FORV4L2&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;csidev-4ae00000.csi&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;mxc_isi.0&#039;:1 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;crossbar&#039;:2 [fmt:$BAYER  field:none]&amp;quot;&lt;br /&gt;
media-ctl -v -V &amp;quot;&#039;ov5647 2-0036&#039;:0 [fmt:$BAYER field:none]&amp;quot;&lt;br /&gt;
media-ctl -l &amp;quot;&#039;ov5647 2-0036&#039;:0 -&amp;gt; &#039;csidev-4ae00000.csi&#039;:0[1]&amp;quot;&lt;br /&gt;
v4l2-ctl -d /dev/video0 --set-fmt-video=width=$XL,height=$YL,pixelformat=$FORV4L2&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c exposure=855&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c gain_automatic=1&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c auto_exposure=0&lt;br /&gt;
v4l2-ctl -d /dev/v4l-subdev3 -c white_balance_automatic=1&lt;br /&gt;
&amp;gt; EOF &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Run your script (if you put some arguments, remember the entire pipeline must have the same configuration) and check that all pads have the same format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# .setCam.sh&lt;br /&gt;
#  media-ctl -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Try streaming to the framebuffer.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gst-launch-1.0 --no-position v4l2src ! &#039;video/x-bayer,format=bggr10le,width=640,height=480,bpp=10,framerate=(fraction)10/1&#039; ! bayer2rgbneon reduce-bpp=t show-fps=t silent=t ! fbdevsink device=/dev/fb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Going further==&lt;br /&gt;
* [[Using the i.MX27 video codec|Using the i.MX27 video codec]]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://linux.bytesex.org/v4l2/ Video4Linux]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vision]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Accessing_U-Boot_environment_variables_from_Linux&amp;diff=15279</id>
		<title>Accessing U-Boot environment variables from Linux</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Accessing_U-Boot_environment_variables_from_Linux&amp;diff=15279"/>
		<updated>2026-01-07T16:41:08Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Setting and verifying an environment variable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: U-Boot]]&lt;br /&gt;
&lt;br /&gt;
U-Boot makes use of environment variables which can be read and set from the U-Boot command line with &#039;&#039;printenv&#039;&#039; and &#039;&#039;setenv&#039;&#039;.  It can be helpful to read and set these variables from Linux as well, for ex. to remote control some U-Boot processes like software updates.  The U-Boot distribution has sources for these commands, named &#039;&#039;fw_printenv&#039;&#039; and &#039;&#039;fw_setenv&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
{{Note|U-Boot tools are now installed and configured on your APF since Armadeus 5.0. Therefore following installation procedure is only useful for reference information.}}&lt;br /&gt;
&lt;br /&gt;
Buildroot can automatically build these tools for you. You just have to:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and then select the following option:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
 Hardware handling  ---&amp;gt;&lt;br /&gt;
     [*] u-boot tools&lt;br /&gt;
         [*]   fw_printenv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tools will be installed in &#039;&#039;/usr/sbin/&#039;&#039; of your target&#039;s rootfs.&lt;br /&gt;
&lt;br /&gt;
Then you have to create the config file for the utilities. The file name is &#039;&#039;fw_env.config&#039;&#039; and it lives in &#039;&#039;/etc&#039;&#039;.&lt;br /&gt;
To create this file, you need to know informations about where U-Boot stores its env variables.  Specifically, you need the mtd device name, the device offset, the env size and the flash sector size. You can guess most of them by looking at &#039;&#039;/proc/mtd&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* For the [[APF27]] with U-Boot 1.3.4:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Configuration file for fw_(printenv/saveenv) utility.&lt;br /&gt;
# Up to two entries are valid, in this case the redundand&lt;br /&gt;
# environment sector is assumed present.&lt;br /&gt;
# Notice, that the &amp;quot;Number of sectors&amp;quot; is ignored on NOR.&lt;br /&gt;
# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors&lt;br /&gt;
/dev/mtd1                 0x0000          0x20000           0x20000                 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For the [[APF51]] with U-Boot 2010.03:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Configuration file for fw_(printenv/saveenv) utility.&lt;br /&gt;
# Up to two entries are valid, in this case the redundand&lt;br /&gt;
# environment sector is assumed present.&lt;br /&gt;
# Notice, that the &amp;quot;Number of sectors&amp;quot; is ignored on NOR.&lt;br /&gt;
# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors&lt;br /&gt;
/dev/mtd1                 0x0000          0x20000           0x20000                 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For the [[APF9328]] with U-Boot 1.3.4:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Configuration file for fw_(printenv/saveenv) utility.&lt;br /&gt;
# Up to two entries are valid, in this case the redundand&lt;br /&gt;
# environment sector is assumed present.&lt;br /&gt;
# Notice, that the &amp;quot;Number of sectors&amp;quot; is ignored on NOR.&lt;br /&gt;
# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors&lt;br /&gt;
/dev/mtd1                 0x0000          0x20000           0x20000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For the [[APF9328]] / [[APF27]] / [[APF28]] / [[APF51]] since U-Boot since 2012.04.01 (Armadeus-5.0 and upper):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# Configuration file for fw_(printenv/saveenv) utility.&lt;br /&gt;
# Up to two entries are valid, in this case the redundant&lt;br /&gt;
# environment sector is assumed present.&lt;br /&gt;
# Notice, that the &amp;quot;Number of sectors&amp;quot; is ignored on NOR and SPI-dataflash.&lt;br /&gt;
# Futhermore, if the Flash sector size is ommitted, this value is assumed to&lt;br /&gt;
# be the same as the Environment size, which is valid for NOR and SPI-dataflash&lt;br /&gt;
&lt;br /&gt;
# Armadeus boards default environment configuration&lt;br /&gt;
# MTD device name	Device offset	Env. size	Flash sector size	Number of sectors&lt;br /&gt;
/dev/mtd1                 0x0000          0x20000           0x20000                 4&lt;br /&gt;
/dev/mtd2                 0x0000          0x20000           0x20000                 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For the [[APF6]], as it uses an [[eMMC]] and no NOR/NAND Flash, there is a custom configuration file &#039;&#039;/etc/fw_env_apf6.config&#039;&#039; that should be moved to &#039;&#039;/etc/fw_env.config&#039;&#039; before going further.&lt;br /&gt;
* For the [[OPOS6UL]], as it uses an [[eMMC]] and no NOR/NAND Flash, there is a custom configuration file &#039;&#039;/etc/fw_env_opos6ul.config&#039;&#039; that should be moved to &#039;&#039;/etc/fw_env.config&#039;&#039; before going further.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
=== Printing all the environment variables===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# fw_printenv&lt;br /&gt;
bootdelay=1&lt;br /&gt;
baudrate=115200&lt;br /&gt;
ipaddr=192.168.0.2&lt;br /&gt;
serverip=192.168.0.1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Printing a single environment variable ===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# fw_printenv stdin&lt;br /&gt;
stdin=serial&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setting and verifying an environment variable ===&lt;br /&gt;
* Unlock Flash access (if needed):&lt;br /&gt;
** On [[APF6]], you have to do this first:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo 0 &amp;gt; /sys/block/mmcblk2boot0/force_ro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On [[OPOS6UL]], you have to do this first:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
echo 0 &amp;gt; /sys/block/mmcblk0boot0/force_ro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** On [[OPOS93]]:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# echo 0 &amp;gt; /sys/block/mmcblk0boot1/force_ro&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then set your variable:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
  # fw_setenv mytestvariable abcdefg&lt;br /&gt;
  # fw_printenv mytestvariable&lt;br /&gt;
  mytestenv=abcdefg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Care must be taken when changing env variables as a typo could easily render your system unbootable. Most problems can be fixed by connecting to the serial console and using U-Boot&#039;s command line to fix bad variable.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* This page is an adaptation on this one: http://elinux.org/U-boot_environment_variables_in_linux&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Wayland&amp;diff=15278</id>
		<title>Wayland</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Wayland&amp;diff=15278"/>
		<updated>2025-12-24T17:46:51Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
&lt;br /&gt;
Wayland is the new protocol dedicated to replace X11 windowing system. It&#039;s first Linux implementation is called &#039;&#039;weston&#039;&#039;. It uses KMS/DRM video drivers direct access, and so needs a recent kernel (4.4+). It currently works well on [[APF6]].&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Use corresponding config (&#039;&#039;apf6_wayland_defconfig)&#039;&#039;, or activate it in menuconfig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Target packages  ---&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    Graphic libraries and applications (graphic/text)  ---&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        [*] weston                                                                                 │ │  &lt;br /&gt;
│ │           default compositor (drm)  ---&amp;gt;                                                       │ │  &lt;br /&gt;
│ │     -*-   DRM compositor                                                                       │ │  &lt;br /&gt;
│ │     [ ]   RDP compositor                                                                       │ │  &lt;br /&gt;
│ │     [ ]   headless (testing) compositor                                                        │ │  &lt;br /&gt;
│ │     [ ]   Wayland (nested) compositor                                                          │ │  &lt;br /&gt;
│ │     [ ]   X11 (nested) compositor                                                              │ │  &lt;br /&gt;
│ │     [ ]   XWayland support                                                                     │ │  &lt;br /&gt;
│ │     [*]   desktop shell                                                                        │ │  &lt;br /&gt;
│ │     [*]   fullscreen shell                                                                     │ │  &lt;br /&gt;
│ │     [*]   ivi shell                                                                            │ │  &lt;br /&gt;
│ │     [*]   kiosk shell                                                                          │ │  &lt;br /&gt;
│ │     [*]   demo clients                                                                         │ │&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Launching ==&lt;br /&gt;
* Needs to be done from a graphical/framebuffer console. [[Framebuffer#Login.2FConsole|To activate one]].&lt;br /&gt;
* Login to graphical console / tty1&lt;br /&gt;
* Do some config the first boot:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir /tmp/runtime&lt;br /&gt;
# chmod 0700 /tmp/runtime&lt;br /&gt;
# export XDG_RUNTIME_DIR=/tmp/runtime&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Start weston&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# weston -B drm-backend.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tips==&lt;br /&gt;
* For OpenGL/ES demos, it is necessary to increase Linux kernel allocable video memory at boot:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;APF&amp;quot;&amp;gt;&lt;br /&gt;
BIOS&amp;gt; setenv extrabootargs &#039;${extrabootargs} cma=256M&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To rotate display in landscape mode on OPOS93Dev kit, one might create &#039;/etc/xdg/weston/weston.ini&#039; config file and add it:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;APF&amp;quot;&amp;gt;&lt;br /&gt;
[output]&lt;br /&gt;
name=DSI-1&lt;br /&gt;
mode=720x1280@60&lt;br /&gt;
transform=rotate-90&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Graphical User Interface]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=UsingSyslog&amp;diff=15277</id>
		<title>UsingSyslog</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=UsingSyslog&amp;diff=15277"/>
		<updated>2025-10-10T12:52:47Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Basis =&lt;br /&gt;
==Calling syslog method from shell==&lt;br /&gt;
To do that, use &#039;&#039;&#039;logger&#039;&#039;&#039; command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;target&amp;quot;&amp;gt;&lt;br /&gt;
# logger -t &amp;quot;MYTAGNAME&amp;quot; &amp;quot;I like otters with cream&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then see the message in /var/log/messages:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;target&amp;quot;&amp;gt;&lt;br /&gt;
# tail /var/log/messages &lt;br /&gt;
...&lt;br /&gt;
Oct 16 16:50:13 armadeus user.notice MYTAGNAME: I like otters with cream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calling syslog method from your C source code==&lt;br /&gt;
This part is quite simple, but we need to correctly use each parameter.&lt;br /&gt;
First step is to declare us as syslog client :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
#include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    ...&lt;br /&gt;
    openlog(&amp;quot;program_name&amp;quot;, LOG_PID, LOG_USER);&lt;br /&gt;
    ...&lt;br /&gt;
    closelog();&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Then, you can call syslog from your code using printf like format :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    syslog(LOG_INFO, &amp;quot;%s called with %d arguments\n&amp;quot;, argv[0], argc);&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If you compile the source file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
// log_syslog.c&lt;br /&gt;
#include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    openlog(&amp;quot;program_name&amp;quot;, LOG_PID, LOG_USER);&lt;br /&gt;
    syslog(LOG_INFO, &amp;quot;%s called with %d arguments&amp;quot;, argv[0], argc - 1);&lt;br /&gt;
    closelog();&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
With the command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ gcc log_syslog.c -o log-syslog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then run it 2 times :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ ./log_syslog&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ ./log_syslog pim pam poum&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You will probably obtain no result in shell, but you can take a look in your system log (/var/log/syslog or /var/log/messages)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ tail -n 2 /var/log/syslog&lt;br /&gt;
Sep 19 18:46:49 mycomputer program_name[3022]: ./log_syslog called with 0 arguments&lt;br /&gt;
Sep 19 18:46:53 mycomputer program_name[3023]: ./log_syslog called with 3 arguments&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
We can notice, that the lines contain program_name[PID] pattern showing us the name we have specified in openlog and the pid of the process because we ask it with LOG_PID argument.&lt;br /&gt;
&lt;br /&gt;
= Packages =&lt;br /&gt;
&lt;br /&gt;
== Busybox ==&lt;br /&gt;
&lt;br /&gt;
By default, syslog is managed by busybox, it can be configured using menuconfig :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make busybox-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configuration menu can be found here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
System Logging Utilities  ---&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Buildroot packages ==&lt;br /&gt;
&lt;br /&gt;
Some other packages are available under buildroot. To see it launch buildroot menuconfig :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select option :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    [*]   Show packages that are also provided by busybox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then go to following menu and choose your prefered syslog implementation ;-):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Target packages  ---&amp;gt;&lt;br /&gt;
    System tools  ---&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] rsyslog&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] sysklogd&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] syslog-ng&lt;br /&gt;
        ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
* By default logs are not persistent (/var/log points to /tmp). To have persistent logs with rotation every 1Mbytes, one can try to add this to his post_build.sh script:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# for persistent and rotating log messages&lt;br /&gt;
rm -rf $1/var/log&lt;br /&gt;
mkdir $1/var/log&lt;br /&gt;
sed -i -e &#039;s/SYSLOGD_ARGS=&amp;quot;&amp;quot;/SYSLOGD_ARGS=&amp;quot;-s 1024 -b 10&amp;quot;/&#039; $1/etc/init.d/S01syslogd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=UsingSyslog&amp;diff=15276</id>
		<title>UsingSyslog</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=UsingSyslog&amp;diff=15276"/>
		<updated>2025-10-10T12:50:43Z</updated>

		<summary type="html">&lt;p&gt;JulienB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Basis =&lt;br /&gt;
==Calling syslog method from shell==&lt;br /&gt;
To do that, use &#039;&#039;&#039;logger&#039;&#039;&#039; command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;target&amp;quot;&amp;gt;&lt;br /&gt;
# logger -t &amp;quot;MYTAGNAME&amp;quot; &amp;quot;I like otters with cream&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then see the message in /var/log/messages:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;target&amp;quot;&amp;gt;&lt;br /&gt;
# tail /var/log/messages &lt;br /&gt;
...&lt;br /&gt;
Oct 16 16:50:13 armadeus user.notice MYTAGNAME: I like otters with cream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calling syslog method from your C source code==&lt;br /&gt;
This part is quite simple, but we need to correctly use each parameter.&lt;br /&gt;
First step is to declare us as syslog client :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
#include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    ...&lt;br /&gt;
    openlog(&amp;quot;program_name&amp;quot;, LOG_PID, LOG_USER);&lt;br /&gt;
    ...&lt;br /&gt;
    closelog();&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Then, you can call syslog from your code using printf like format :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    syslog(LOG_INFO, &amp;quot;%s called with %d arguments\n&amp;quot;, argv[0], argc);&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If you compile the source file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
// log_syslog.c&lt;br /&gt;
#include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    openlog(&amp;quot;program_name&amp;quot;, LOG_PID, LOG_USER);&lt;br /&gt;
    syslog(LOG_INFO, &amp;quot;%s called with %d arguments&amp;quot;, argv[0], argc - 1);&lt;br /&gt;
    closelog();&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
With the command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ gcc log_syslog.c -o log-syslog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then run it 2 times :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ ./log_syslog&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ ./log_syslog pim pam poum&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You will probably obtain no result in shell, but you can take a look in your system log (/var/log/syslog or /var/log/messages)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ tail -n 2 /var/log/syslog&lt;br /&gt;
Sep 19 18:46:49 mycomputer program_name[3022]: ./log_syslog called with 0 arguments&lt;br /&gt;
Sep 19 18:46:53 mycomputer program_name[3023]: ./log_syslog called with 3 arguments&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
We can notice, that the lines contain program_name[PID] pattern showing us the name we have specified in openlog and the pid of the process because we ask it with LOG_PID argument.&lt;br /&gt;
&lt;br /&gt;
= Packages =&lt;br /&gt;
&lt;br /&gt;
== Busybox ==&lt;br /&gt;
&lt;br /&gt;
By default, syslog is managed by busybox, it can be configured using menuconfig :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make busybox-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configuration menu can be found here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
System Logging Utilities  ---&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Buildroot packages ==&lt;br /&gt;
&lt;br /&gt;
Some other packages are available under buildroot. To see it launch buildroot menuconfig :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select option :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    [*]   Show packages that are also provided by busybox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then go to following menu and choose your prefered syslog implementation ;-):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Target packages  ---&amp;gt;&lt;br /&gt;
    System tools  ---&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] rsyslog&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] sysklogd&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] syslog-ng&lt;br /&gt;
        ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tips ==&lt;br /&gt;
* By default logs are not persistent (/var/log points to /tmp). To have persistent logs with rotation every 1Mbytes, one can try to add this to his post_build.sh script:&lt;br /&gt;
&amp;lt;code source=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# for persistent and rotating log messages&lt;br /&gt;
rm -rf $1/var/log&lt;br /&gt;
mkdir $1/var/log&lt;br /&gt;
sed -i -e &#039;s/SYSLOGD_ARGS=&amp;quot;&amp;quot;/SYSLOGD_ARGS=&amp;quot;-s 1024 -b 10&amp;quot;/&#039; $1/etc/init.d/S01syslogd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=UsingSyslog&amp;diff=15246</id>
		<title>UsingSyslog</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=UsingSyslog&amp;diff=15246"/>
		<updated>2025-10-07T12:48:33Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Buildroot packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Basis =&lt;br /&gt;
==Calling syslog method from shell==&lt;br /&gt;
To do that, use &#039;&#039;&#039;logger&#039;&#039;&#039; command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;target&amp;quot;&amp;gt;&lt;br /&gt;
# logger -t &amp;quot;MYTAGNAME&amp;quot; &amp;quot;I like otters with cream&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then see the message in /var/log/messages:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;target&amp;quot;&amp;gt;&lt;br /&gt;
# tail /var/log/messages &lt;br /&gt;
...&lt;br /&gt;
Oct 16 16:50:13 armadeus user.notice MYTAGNAME: I like otters with cream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calling syslog method from your C source code==&lt;br /&gt;
This part is quite simple, but we need to correctly use each parameter.&lt;br /&gt;
First step is to declare us as syslog client :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
#include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    ...&lt;br /&gt;
    openlog(&amp;quot;program_name&amp;quot;, LOG_PID, LOG_USER);&lt;br /&gt;
    ...&lt;br /&gt;
    closelog();&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Then, you can call syslog from your code using printf like format :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    syslog(LOG_INFO, &amp;quot;%s called with %d arguments\n&amp;quot;, argv[0], argc);&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
If you compile the source file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
// log_syslog.c&lt;br /&gt;
#include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    openlog(&amp;quot;program_name&amp;quot;, LOG_PID, LOG_USER);&lt;br /&gt;
    syslog(LOG_INFO, &amp;quot;%s called with %d arguments&amp;quot;, argv[0], argc - 1);&lt;br /&gt;
    closelog();&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
With the command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ gcc log_syslog.c -o log-syslog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then run it 2 times :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ ./log_syslog&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ ./log_syslog pim pam poum&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You will probably obtain no result in shell, but you can take a look in your system log (/var/log/syslog or /var/log/messages)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
itsme@mycomputer:~/log_syslog$ tail -n 2 /var/log/syslog&lt;br /&gt;
Sep 19 18:46:49 mycomputer program_name[3022]: ./log_syslog called with 0 arguments&lt;br /&gt;
Sep 19 18:46:53 mycomputer program_name[3023]: ./log_syslog called with 3 arguments&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
We can notice, that the lines contain program_name[PID] pattern showing us the name we have specified in openlog and the pid of the process because we ask it with LOG_PID argument.&lt;br /&gt;
&lt;br /&gt;
= Packages =&lt;br /&gt;
&lt;br /&gt;
== Busybox ==&lt;br /&gt;
&lt;br /&gt;
By default, syslog is managed by busybox, it can be configured using menuconfig :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make busybox-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configuration menu can be found here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
System Logging Utilities  ---&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Buildroot packages ==&lt;br /&gt;
&lt;br /&gt;
Some other packages are available under buildroot. To see it launch buildroot menuconfig :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select option :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    [*]   Show packages that are also provided by busybox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then go to following menu and choose your prefered syslog implementation ;-):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Target packages  ---&amp;gt;&lt;br /&gt;
    System tools  ---&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] rsyslog&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] sysklogd&lt;br /&gt;
        ...&lt;br /&gt;
        [ ] syslog-ng&lt;br /&gt;
        ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Communicate&amp;diff=15175</id>
		<title>Communicate</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Communicate&amp;diff=15175"/>
		<updated>2025-09-16T12:45:43Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Install packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
How-To connect your Armadeus board to your development Host.&lt;br /&gt;
&lt;br /&gt;
==Forewords==&lt;br /&gt;
The default connection uses a simple Serial Link either with a RS232 Null-Modem cable (with or without USB&amp;lt;-&amp;gt;serial adapter) or with a miniUSB cable ([[APF51]] / [[APF28]] / [[APF6]]).&lt;br /&gt;
&lt;br /&gt;
As you will have to transfer some MBytes of data, the Ethernet link is nice to have, if not mandatory.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to use these two ways of transfer with the APF target, a terminal emulator (for Serial link) and a TFTP server (for Ethernet link) have to be configured.&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
At this stage, you should have something looking like that (IP addresses may change):&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:BoardConnection.png]]&lt;br /&gt;
&lt;br /&gt;
{{:RS232 Terminal configuration}}&lt;br /&gt;
&lt;br /&gt;
==TFTP server==&lt;br /&gt;
In order to send your image files (U-Boot, Linux, rootfs or FPGA&#039;s firmware) at higher speed (than serial port) to your Armadeus board, you can use the Ethernet link and [http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol a TFTP server].&lt;br /&gt;
Once the server configured, the files located in the server shared directory (&#039;&#039;/tftpboot&#039;&#039; by default) will be accessible from the U-Boot/Linux TFTP clients.&lt;br /&gt;
&lt;br /&gt;
===TFTP server installation===&lt;br /&gt;
====Install packages====&lt;br /&gt;
{| cellpadding=&amp;quot;20&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|* On *Ubuntu / Debian:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo apt-get install tftpd-hpa xinetd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or use your preferred graphical package manager&lt;br /&gt;
||&lt;br /&gt;
|* On Fedora:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ rpm -q tftpd xinetd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|* On OpenSUSE 11.3:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
sudo zypper install tftp yast2-tftp-server&lt;br /&gt;
sudo yast2 tftp-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Choose Enable to start the TFTP server. It might be required to open the TFTP port in your firewall.&lt;br /&gt;
For more details see: [http://en.opensuse.org/SDB:YaST_TFTP_Server YaST TFTP Server on OpenSUSE site]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Create server&#039;s directory====&lt;br /&gt;
* Then create the directory (&#039;&#039;/tftpboot/&#039;&#039;) that will contain all the files that the server will export:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo mkdir /tftpboot&lt;br /&gt;
$ sudo chmod 777 /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Server configuration===  &lt;br /&gt;
* &#039;&#039;&#039;As root user&#039;&#039;&#039; edit or create the &#039;&#039;/etc/xinetd.d/tftp&#039;&#039; configuration file and modify/add it the following lines:&lt;br /&gt;
 # default: off&lt;br /&gt;
 # description: The tftp server serves files using the trivial file transfer&lt;br /&gt;
 #       protocol.  The tftp protocol is often used to boot diskless&lt;br /&gt;
 #       workstations, download configuration files to network-aware printers,&lt;br /&gt;
 #       and to start the installation process for some operating systems.&lt;br /&gt;
 service tftp&lt;br /&gt;
 {&lt;br /&gt;
        socket_type             = dgram&lt;br /&gt;
        protocol                = udp&lt;br /&gt;
        wait                    = yes&lt;br /&gt;
        user                    = root&lt;br /&gt;
        server                  = /usr/sbin/in.tftpd&lt;br /&gt;
        server_args             = -s /tftpboot&lt;br /&gt;
 #       disable                 = yes&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Restart xinetd service:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo killall -HUP xinetd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
For more information regarding how-to setup a TFTP server please check one of many Web How-to:&lt;br /&gt;
* [https://linuxlink.timesys.com/docs/linux_tftp Another how-to configure a TFTP Server for Linux]&lt;br /&gt;
* [http://www.webune.com/forums/how-to-install-tftp-server-in-linux.html till another how-to...]&lt;br /&gt;
* [http://doc.ubuntu-fr.org/tftpd ubuntu TFTP server documentation in French]&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
====Timeout in U-Boot====&lt;br /&gt;
*On recent Debian distribution (sid?), it seems that installing &#039;&#039;ckermit&#039;&#039; package may switch inetd server from &#039;&#039;xinetd&#039;&#039; to &#039;&#039;openbsd-inetd&#039;&#039;. If you fall in that case, then you have to configure &#039;&#039;/etc/inetd.conf&#039;&#039; by adding the following line:&lt;br /&gt;
&amp;lt;pre class=host&amp;gt;&lt;br /&gt;
tftp		dgram	udp	wait	nobody	/usr/sbin/tcpd	/usr/sbin/in.tftpd -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Then restart inetd:&lt;br /&gt;
&amp;lt;pre class=host&amp;gt;&lt;br /&gt;
/etc/init.d/openbsd-inetd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Connection refused====&lt;br /&gt;
It looks like xinetd configuration is not sufficient in some recent versions of this tool. IPv6 is enabled by default and seems to be not compatible with the TFTP protocol. A simple inetd configuration should work for people who have this problem (&#039;&#039;connection refused&#039;&#039; in system logs with addresses like ::ffff:192.168.0.100).&lt;br /&gt;
&lt;br /&gt;
* Edit (as root user) - if necessary - the &#039;&#039;/etc/inetd.conf&#039;&#039; file and add this line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp		dgram	udp	wait	nobody	/usr/sbin/tcpd	/usr/sbin/in.tftpd -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install inetd tools&lt;br /&gt;
&lt;br /&gt;
On Ubuntu/Debian&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install inetutils-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Setup the hosts rules: edit (as root user) &#039;&#039;/etc/hosts.allow&#039;&#039; and add the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
in.tftpd: ALL&lt;br /&gt;
tftpd: ALL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Restart inetd&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /etc/init.d/openbsd-inetd restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s done... and should work for most people.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://www.columbia.edu/kermit/ Kermit Homepage]&lt;br /&gt;
* [http://www.jls-info.com/julien/linux/ GTKTerm Homepage]&lt;br /&gt;
* [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch16_:_Telnet,_TFTP,_and_xinetd#TFTP TFTP server quick how-to]&lt;br /&gt;
* [https://linuxlink.timesys.com/docs/linux_tftp Another how-to configure a TFTP Server for Linux]&lt;br /&gt;
* [http://www.webune.com/forums/how-to-install-tftp-server-in-linux.html till another how-to...]&lt;br /&gt;
* [http://doc.ubuntu-fr.org/tftpd ubuntu TFTP server documentation in French]&lt;br /&gt;
* [[Connection_with_U-Boot_under_Windows | configuring RS-232 and TFTP on Windows to communicate with your board]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15174</id>
		<title>LinuxInstall</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15174"/>
		<updated>2025-09-16T11:25:28Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Configure SDK/BSP options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;How-To install Armadeus Software Development Kit (SDK) on Linux systems. This SDK is currently based on the (excellent) [http://buildroot.net/ Buildroot].&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation was successfully tested on the following distributions:&lt;br /&gt;
* Debian Lenny (5.0),  Squeeze (6.0.x), Wheezy (7.2), Jessie (8.0)&lt;br /&gt;
* X/KUbuntu Edgy Eft (6.10), Gutsy Gibbon (7.10), Hardy Heron (8.04) &amp;amp; Jaunty Jackalope (9.04)&lt;br /&gt;
* Ubuntu  Lucid Lynx (10.04) (32 &amp;amp; 64bits), 12.04 LTS (32 &amp;amp; 64bits), 13.10 (32 &amp;amp; 64bits), 14.04, 15.04 &amp;amp; 16.04&lt;br /&gt;
* LUbuntu 17.10&lt;br /&gt;
* Mandriva 2006&lt;br /&gt;
* Fedora Core 3 &amp;amp; 4, Fedora 10, Laughlin (14)&lt;br /&gt;
* Red Hat Enterprise 5.2&lt;br /&gt;
* Gentoo 10.0 (32 &amp;amp; 64 bits)&lt;br /&gt;
* SuSE 10.1, OpenSUSE 11.3 - 12.3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The installation may fail on:&#039;&#039;&#039;&lt;br /&gt;
* Ubuntu Karmic Koala (9.10): tslib fails to build&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;APF28 requirements:&#039;&#039;&#039;&lt;br /&gt;
* APF28 board requires a Linux distribution with (GNU) tar version 1.20 or later to compile the Linux Kernel - Please update or upgrade your Linux distribution. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites for Linux installation==&lt;br /&gt;
{{Note|From here we assume that your Linux system has a &#039;&#039;make&#039;&#039; version &#039;&#039;&#039;greater or equal to&#039;&#039;&#039; 3.81. To check it: &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make -v&lt;br /&gt;
GNU Make 3.81&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
For armadeus up to 3.4, make should be &#039;&#039;&#039;strictly&#039;&#039;&#039; make-3.81 (make-3.82 is too strict). A Fedora (14 and 15) -specific solution can be found later; other recent distributions such as mageia1 also have make-3.82, and a generic solution, based on configure&amp;amp;&amp;amp; make&amp;amp;&amp;amp; sudo make install can be used to install make-3.81 (which can be retrieved from http://ftp.gnu.org/gnu/make/make-6.81.tar.gz) in /usr/local/bin (and , according to one&#039;s PATH, make 3-81 can be invoked directly or as /usr/local/bin/make). &lt;br /&gt;
 &lt;br /&gt;
Depending on your distribution, some additional packages are required:&lt;br /&gt;
&lt;br /&gt;
===Debian/Ubuntu based systems===&lt;br /&gt;
[[Ubuntu/Debian installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===Mandriva based systems=== &lt;br /&gt;
[[Mandriva installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===RPM-based systems (RedHat, Fedora, CentOS)===&lt;br /&gt;
[[RedHat/Fedora installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===OpenSuse based systems===&lt;br /&gt;
[[OpenSuse installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===Gentoo based systems===&lt;br /&gt;
[[Gentoo installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
==Get Armadeus software==&lt;br /&gt;
* &#039;&#039;&#039;If you are a &amp;quot;careful&amp;quot; user&#039;&#039;&#039;, then download [https://gitlab.com/armadeus/armadeus-bsp/-/tags the latest stable installation tarball from gitlab] and detar it wherever you want:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ tar xjvf armadeus-7.0.tar.bz2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;If you want the latest snapshot or if you have a recent SOM ([[OPOS6UL]]/[[OPOS8MM]])&#039;&#039;&#039;, the whole development tree can be checked out from our [[GIT]] repository.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git clone git@gitlab.com:armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
   or if you don&#039;t have a gitlab account:&lt;br /&gt;
 $ git clone https://gitlab.com/armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* depending on your previous choice, a directory named &#039;&#039;armadeus/&#039;&#039; or &#039;&#039;armadeus-7.0/&#039;&#039; will be created on your hard-disk and will contain all the files you need.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;Do not use spaces&#039;&#039;&#039; in the directory name !&lt;br /&gt;
* &#039;&#039;&#039;Do not use a directory path beginning with /usr.&#039;&#039;&#039; It is a known bug of Buildroot (until BR2012.11, at 2012-12).&lt;br /&gt;
* GIT write/push accesses are limited to the integrators ([[User:JulienB|JulienB]], [[User:SebastienSz|SebastienSz]], [[User:Jorasse|Jorasse]], [[User:FabienM|FabienM]], [[User:SebastienR|SebastienR]])&lt;br /&gt;
&lt;br /&gt;
==Configure SDK/BSP options==&lt;br /&gt;
{{Note|If you are new to Armadeus and have troubles compiling armadeus-5.x/armadeus-6.x using the following instructions, you may find some hints here: [[Releases]]}}&lt;br /&gt;
*Go to the directory where you put the Armadeus sources:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cd armadeus/  (or armadeus-7.0/)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*The first time you compile an Armadeus distribution you have to specify the target (here the [[APF9328]]) to work with. &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make apf9328_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command reloads the default configuration to support your target and automatically start a Buildroot&#039;s configuration menu.&lt;br /&gt;
&lt;br /&gt;
* Current valid default configurations are:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
apf9328_defconfig  apf27_defconfig  pps_defconfig  apf28_defconfig  apf51_defconfig  pps51_defconfig apf6_defconfig apf6legacy_defconfig opos6ul_defconfig opos6ulnano_defconfig opos6ulsp_defconfig opos8mm-legacy-5.10_defconfig opos93-legacy-6.1_defconfig opos93sp-legacy-6.1_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note| To get the full list of available config just type make, it will download buildroot and print following message :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
[...]&lt;br /&gt;
 System not configured. Use make &amp;lt;board&amp;gt;_defconfig &lt;br /&gt;
 armadeus valid configurations are:                &lt;br /&gt;
     opos6ul_legacy_defconfig opos6ulnano-preempt-rt_defconfig apf6_defconfig pps_defconfig opos6ultest_defconfig apf51_defconfig opos6ulsp_defconfig apf6dawnsmalllinux_defconfig apf27preempt-rt_defconfig apf27test_defconfig apf27_defconfig apf28legacytest_defconfig opos6ullegacy-4.14_defconfig opos6ulnano_defconfig apf28legacy_defconfig apf6mainline-4.19_defconfig opos6ul_defconfig apf6legacy_defconfig apf6xenomai_defconfig apf51test_defconfig opos6ul-preempt-rt_defconfig apf6legacy-preempt-rt_defconfig apf6legacy-4.1_defconfig pps51_defconfig apf6mainline-4.9_defconfig apf28test_defconfig apf28_defconfig apf6mediacenter_defconfig opos6ullegacy-4.9_defconfig opos6ul_recovery_defconfig apf6failsafe_defconfig apf6test_defconfig opos6ullegacy-4.1_defconfig apf27xenomai_defconfig&lt;br /&gt;
                                                   &lt;br /&gt;
Makefile:129: recipe for target &#039;/usr/local/projects/apf6_sp_419/buildroot/.configured&#039; failed&lt;br /&gt;
make: *** [/usr/local/projects/apf6_sp_419/buildroot/.configured] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For PPS boards, please see [[APF27_PPS]] or [[PPS51]] Wiki pages, as these boards have specific build.&lt;br /&gt;
&lt;br /&gt;
* After some downloads, you will get the Buildroot configuration interface:&lt;br /&gt;
&lt;br /&gt;
{{Note|If you ever made changes during the following steps, at any time, you can reload the default configuration with:&lt;br /&gt;
 $ make xxx_defconfig       (xxx depending on your module name)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Menuconfig3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
*If you are not familiar with Buildroot here are some tips:&lt;br /&gt;
*# you can move the highlighted item with the &amp;quot;up&amp;quot;/&amp;quot;down&amp;quot; arrow keys&lt;br /&gt;
*# with the &amp;quot;left&amp;quot;/&amp;quot;right&amp;quot; arrow keys you can choose between &amp;quot;Select&amp;quot;, &amp;quot;Exit&amp;quot; or &amp;quot;Help&amp;quot; buttons&lt;br /&gt;
*# &amp;quot;space&amp;quot;/&amp;quot;enter&amp;quot;:&lt;br /&gt;
*#* selects the currently highlighted item if you are on the &amp;quot;Select&amp;quot; button&lt;br /&gt;
*#* go back in previous menu if you are on &amp;quot;Exit&amp;quot; button&lt;br /&gt;
*#* show you some Help for current item if you are on &amp;quot;Help&amp;quot; button&lt;br /&gt;
*# for more Help about Buildroot commands, select &amp;quot;Help&amp;quot; in the main configuration screen&lt;br /&gt;
&lt;br /&gt;
* Update the memory configuration of your board (&#039;&#039;&#039;if needed&#039;&#039;&#039;; by default BSP is configured for the minimal memory configuration available on the corresponding board):&lt;br /&gt;
&lt;br /&gt;
:In menu:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;System configuration  ---&amp;gt;    [*] Armadeus Device Support  ---&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:you can check and change the quantity of RAM available on your Armadeus board:&lt;br /&gt;
:[[Image:Build_config_memory.png]]&lt;br /&gt;
:For [[APF9328]] the memory can be either 16 or 32MiB (be sure to select 1 RAM chip)&lt;br /&gt;
:For [[APF27]] it could be either 64MiB or 128MiB (2 x 64MiB) (in that case be sure to select 2 chips of 64MiB instead of 1 chip of 128MiB).&lt;br /&gt;
:For [[APF51]] it could be either 256MiB or 512MiB (2x256MiB) (in such case be sure to select 2 chips of 256MiB instead of 1 chip of 512).&lt;br /&gt;
:For [[APF28]] The memory can be 128, 256, 512 or 1024MiB (be sure to select 1 RAM chip).&lt;br /&gt;
:For [[APF6]]/[[APF6SP]] The memory can be 512 Mbytes or 1Gbytes with ram chip size of 512Mbytes.&lt;br /&gt;
:For [[OPOS6UL]]/[[OPOS6UL_NANO]] The memory size is automatically detected so you don&#039;t care ;-)&lt;br /&gt;
&lt;br /&gt;
* You may decrease the compilation time by increasing the number of parallel jobs running simultaneously on your system (the result is not guaranteed). This option is located in:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build Options ---&amp;gt;    (0) Number of jobs to run simultaneously&amp;lt;/pre&amp;gt;&lt;br /&gt;
0 means that Buildroot will try to guess automatically how much parallel jobs it can launch.&lt;br /&gt;
&lt;br /&gt;
* During the SDK/BSP build, a lot of software archives are downloaded from Internet. The downloaded files are put by default in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. &#039;&#039;&#039;If you have several views or plan to build the toolchain several times&#039;&#039;&#039;, we advise you to put all the downloaded files in &#039;&#039;/local/downloads&#039;&#039; (for example). This is done by configuring Buildroot to use this directory for all your views. Nevertheless, Buildroot will be downloaded separately for each build environment you set up.&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build options  ---&amp;gt;    (...) Download dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
:[[Image:Build_config_download.png]]&lt;br /&gt;
{{Note|Of course, &#039;&#039;/local/downloads&#039;&#039; should exists on your system and you should have writing rights on it !}}&lt;br /&gt;
* In recent Buildroot you can also use the following method:&lt;br /&gt;
 export BR2_DL_DIR=/local/downloads&lt;br /&gt;
&lt;br /&gt;
* After the build, we advise you to copy all the files in &#039;&#039;downloads/&#039;&#039; / &#039;&#039;/local/downloads&#039;&#039; on a removable medium, in case you want to install the development tools on other systems, without to have to reload all the archives.&lt;br /&gt;
&lt;br /&gt;
* Now, Exit the configuration tool and save your configuration&lt;br /&gt;
&lt;br /&gt;
* You can come back to this configuration menu, by typing (your changes will be kept): &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Launch build==&lt;br /&gt;
 $ make&lt;br /&gt;
The toolchain and the full distribution are automatically built. During this procedure, several files are downloaded from Internet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please wait for a while.... it takes at least one hour for the first run!&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
By default, the downloaded files/tarball are put in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. Please see the previous chapter to know how to optimize that if you plan to build several views or want to build faster.&lt;br /&gt;
&lt;br /&gt;
==Enjoy the result==&lt;br /&gt;
The generated binary files can be found in the subdirectory &#039;&#039;buildroot/output/images&#039;&#039;:&lt;br /&gt;
*&#039;&#039;apf9328-u-boot.brec&#039;&#039; (only on [[APF9328]]): BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working (see [[BootLoader]] page)&lt;br /&gt;
*&#039;&#039;xxx-u-boot.bin&#039;&#039;: U-Boot image file to be used with U-Boot itself, (see [[BootLoader#Update_U-Boot | updating U-Boot]])&lt;br /&gt;
*&#039;&#039;xxx-linux.bin&#039;&#039;: Linux image to use with U-Boot, (see [[Target_Software_Installation#Linux_kernel_installation | updating Linux]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.jffs2&#039;&#039;: JFFS2 filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ubi&#039;&#039; (not supported on [[APF9328]]): [[UBIFS|UBI]] filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ext4&#039;&#039;: EXT4 filesystem/rootfs image to use with U-Boot, (on [[APF6]] and [[OPOS6UL]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.tar&#039;&#039;: for an NFS/MMC based rootfs, (see [[Network_Configuration#Boot_from_NFS | Booting from NFS]] &amp;amp; [[MultiMediaCard#Booting_from_MMC.2FSD | Booting from a MMC/SD]])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note the new naming convention of binary files and directories (since Armadeus 4.0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;buildroot/output/build&#039;&#039;: contains all the build results for target root filesystem, Linux, Busybox and U-Boot...&lt;br /&gt;
*&#039;&#039;buildroot/output/toolchain/&#039;&#039;: cross compilation toolchain&#039;s build dir. Binaries usable for cross-compilation are in &#039;&#039;buildroot/output/host/usr/bin&#039;&#039;.&lt;br /&gt;
*&#039;&#039;buildroot/output/target/&#039;&#039;: target filessytem before generating rootfs images&lt;br /&gt;
&lt;br /&gt;
More information is available in the  [http://buildroot.uclibc.org/buildroot.html Buildroot&#039;s documentation]&lt;br /&gt;
&lt;br /&gt;
* Note: Previous versions (3.x) of Armadeus SDK stored the generated binary files at a different place: &#039;&#039; &#039;&#039;buildroot/binaries/XX/&#039;&#039; (where XX was the name of your board).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then copy the binary image to your server directory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==To keep your local copy/repository up-to-date with the armadeus GIT repository==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will update your working directory to the latest release.&lt;br /&gt;
&lt;br /&gt;
Note: if &amp;quot;git pull&amp;quot; fails because a directory or a file already exists, then do:&lt;br /&gt;
 $ rm -rf &amp;lt;this-directory/file&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&lt;br /&gt;
You can do a:&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
to have the latest features automatically activated.&lt;br /&gt;
&lt;br /&gt;
You have to do a &#039;&#039;&#039;make&#039;&#039;&#039; to rebuild binary files and then upload the binary files to your target.&lt;br /&gt;
&lt;br /&gt;
Note: if definitively everything goes wrong while it worked before the last update.&lt;br /&gt;
You can apply the following procedure (all your modifications in buildroot will be lost):&lt;br /&gt;
 $ rm -rf buildroot/&lt;br /&gt;
 $ rm Makefile&lt;br /&gt;
 $ git pull&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15173</id>
		<title>LinuxInstall</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15173"/>
		<updated>2025-09-16T11:22:41Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Get Armadeus software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;How-To install Armadeus Software Development Kit (SDK) on Linux systems. This SDK is currently based on the (excellent) [http://buildroot.net/ Buildroot].&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation was successfully tested on the following distributions:&lt;br /&gt;
* Debian Lenny (5.0),  Squeeze (6.0.x), Wheezy (7.2), Jessie (8.0)&lt;br /&gt;
* X/KUbuntu Edgy Eft (6.10), Gutsy Gibbon (7.10), Hardy Heron (8.04) &amp;amp; Jaunty Jackalope (9.04)&lt;br /&gt;
* Ubuntu  Lucid Lynx (10.04) (32 &amp;amp; 64bits), 12.04 LTS (32 &amp;amp; 64bits), 13.10 (32 &amp;amp; 64bits), 14.04, 15.04 &amp;amp; 16.04&lt;br /&gt;
* LUbuntu 17.10&lt;br /&gt;
* Mandriva 2006&lt;br /&gt;
* Fedora Core 3 &amp;amp; 4, Fedora 10, Laughlin (14)&lt;br /&gt;
* Red Hat Enterprise 5.2&lt;br /&gt;
* Gentoo 10.0 (32 &amp;amp; 64 bits)&lt;br /&gt;
* SuSE 10.1, OpenSUSE 11.3 - 12.3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The installation may fail on:&#039;&#039;&#039;&lt;br /&gt;
* Ubuntu Karmic Koala (9.10): tslib fails to build&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;APF28 requirements:&#039;&#039;&#039;&lt;br /&gt;
* APF28 board requires a Linux distribution with (GNU) tar version 1.20 or later to compile the Linux Kernel - Please update or upgrade your Linux distribution. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites for Linux installation==&lt;br /&gt;
{{Note|From here we assume that your Linux system has a &#039;&#039;make&#039;&#039; version &#039;&#039;&#039;greater or equal to&#039;&#039;&#039; 3.81. To check it: &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make -v&lt;br /&gt;
GNU Make 3.81&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
For armadeus up to 3.4, make should be &#039;&#039;&#039;strictly&#039;&#039;&#039; make-3.81 (make-3.82 is too strict). A Fedora (14 and 15) -specific solution can be found later; other recent distributions such as mageia1 also have make-3.82, and a generic solution, based on configure&amp;amp;&amp;amp; make&amp;amp;&amp;amp; sudo make install can be used to install make-3.81 (which can be retrieved from http://ftp.gnu.org/gnu/make/make-6.81.tar.gz) in /usr/local/bin (and , according to one&#039;s PATH, make 3-81 can be invoked directly or as /usr/local/bin/make). &lt;br /&gt;
 &lt;br /&gt;
Depending on your distribution, some additional packages are required:&lt;br /&gt;
&lt;br /&gt;
===Debian/Ubuntu based systems===&lt;br /&gt;
[[Ubuntu/Debian installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===Mandriva based systems=== &lt;br /&gt;
[[Mandriva installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===RPM-based systems (RedHat, Fedora, CentOS)===&lt;br /&gt;
[[RedHat/Fedora installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===OpenSuse based systems===&lt;br /&gt;
[[OpenSuse installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===Gentoo based systems===&lt;br /&gt;
[[Gentoo installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
==Get Armadeus software==&lt;br /&gt;
* &#039;&#039;&#039;If you are a &amp;quot;careful&amp;quot; user&#039;&#039;&#039;, then download [https://gitlab.com/armadeus/armadeus-bsp/-/tags the latest stable installation tarball from gitlab] and detar it wherever you want:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ tar xjvf armadeus-7.0.tar.bz2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;If you want the latest snapshot or if you have a recent SOM ([[OPOS6UL]]/[[OPOS8MM]])&#039;&#039;&#039;, the whole development tree can be checked out from our [[GIT]] repository.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git clone git@gitlab.com:armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
   or if you don&#039;t have a gitlab account:&lt;br /&gt;
 $ git clone https://gitlab.com/armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* depending on your previous choice, a directory named &#039;&#039;armadeus/&#039;&#039; or &#039;&#039;armadeus-7.0/&#039;&#039; will be created on your hard-disk and will contain all the files you need.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;Do not use spaces&#039;&#039;&#039; in the directory name !&lt;br /&gt;
* &#039;&#039;&#039;Do not use a directory path beginning with /usr.&#039;&#039;&#039; It is a known bug of Buildroot (until BR2012.11, at 2012-12).&lt;br /&gt;
* GIT write/push accesses are limited to the integrators ([[User:JulienB|JulienB]], [[User:SebastienSz|SebastienSz]], [[User:Jorasse|Jorasse]], [[User:FabienM|FabienM]], [[User:SebastienR|SebastienR]])&lt;br /&gt;
&lt;br /&gt;
==Configure SDK/BSP options==&lt;br /&gt;
{{Note|If you are new to Armadeus and have troubles compiling armadeus-5.x/armadeus-6.x using the following instructions, you may find some hints here: [[Releases]]}}&lt;br /&gt;
*Go to the directory where you put the Armadeus sources:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cd armadeus/  (or armadeus-7.0/)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*The first time you compile an Armadeus distribution you have to specify the target (here the [[APF9328]]) to work with. &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make apf9328_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command reloads the default configuration to support your target and automatically start a Buildroot&#039;s configuration menu.&lt;br /&gt;
&lt;br /&gt;
* Current valid default configurations are:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
apf9328_defconfig  apf27_defconfig  pps_defconfig  apf28_defconfig  apf51_defconfig  pps51_defconfig apf6_defconfig apf6legacy_defconfig opos6ul_defconfig opos6ulnano_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note| To get the full list of available config just type make, it will download buildroot and print following message :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
[...]&lt;br /&gt;
 System not configured. Use make &amp;lt;board&amp;gt;_defconfig &lt;br /&gt;
 armadeus valid configurations are:                &lt;br /&gt;
     opos6ul_legacy_defconfig opos6ulnano-preempt-rt_defconfig apf6_defconfig pps_defconfig opos6ultest_defconfig apf51_defconfig opos6ulsp_defconfig apf6dawnsmalllinux_defconfig apf27preempt-rt_defconfig apf27test_defconfig apf27_defconfig apf28legacytest_defconfig opos6ullegacy-4.14_defconfig opos6ulnano_defconfig apf28legacy_defconfig apf6mainline-4.19_defconfig opos6ul_defconfig apf6legacy_defconfig apf6xenomai_defconfig apf51test_defconfig opos6ul-preempt-rt_defconfig apf6legacy-preempt-rt_defconfig apf6legacy-4.1_defconfig pps51_defconfig apf6mainline-4.9_defconfig apf28test_defconfig apf28_defconfig apf6mediacenter_defconfig opos6ullegacy-4.9_defconfig opos6ul_recovery_defconfig apf6failsafe_defconfig apf6test_defconfig opos6ullegacy-4.1_defconfig apf27xenomai_defconfig&lt;br /&gt;
                                                   &lt;br /&gt;
Makefile:129: recipe for target &#039;/usr/local/projects/apf6_sp_419/buildroot/.configured&#039; failed&lt;br /&gt;
make: *** [/usr/local/projects/apf6_sp_419/buildroot/.configured] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For PPS boards, please see [[APF27_PPS]] or [[PPS51]] Wiki pages, as these boards have specific build.&lt;br /&gt;
&lt;br /&gt;
* After some downloads, you will get the Buildroot configuration interface:&lt;br /&gt;
&lt;br /&gt;
{{Note|If you ever made changes during the following steps, at any time, you can reload the default configuration with:&lt;br /&gt;
 $ make xxx_defconfig       (xxx depending on your module name)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Menuconfig3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
*If you are not familiar with Buildroot here are some tips:&lt;br /&gt;
*# you can move the highlighted item with the &amp;quot;up&amp;quot;/&amp;quot;down&amp;quot; arrow keys&lt;br /&gt;
*# with the &amp;quot;left&amp;quot;/&amp;quot;right&amp;quot; arrow keys you can choose between &amp;quot;Select&amp;quot;, &amp;quot;Exit&amp;quot; or &amp;quot;Help&amp;quot; buttons&lt;br /&gt;
*# &amp;quot;space&amp;quot;/&amp;quot;enter&amp;quot;:&lt;br /&gt;
*#* selects the currently highlighted item if you are on the &amp;quot;Select&amp;quot; button&lt;br /&gt;
*#* go back in previous menu if you are on &amp;quot;Exit&amp;quot; button&lt;br /&gt;
*#* show you some Help for current item if you are on &amp;quot;Help&amp;quot; button&lt;br /&gt;
*# for more Help about Buildroot commands, select &amp;quot;Help&amp;quot; in the main configuration screen&lt;br /&gt;
&lt;br /&gt;
* Update the memory configuration of your board (&#039;&#039;&#039;if needed&#039;&#039;&#039;; by default BSP is configured for the minimal memory configuration available on the corresponding board):&lt;br /&gt;
&lt;br /&gt;
:In menu:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;System configuration  ---&amp;gt;    [*] Armadeus Device Support  ---&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:you can check and change the quantity of RAM available on your Armadeus board:&lt;br /&gt;
:[[Image:Build_config_memory.png]]&lt;br /&gt;
:For [[APF9328]] the memory can be either 16 or 32MiB (be sure to select 1 RAM chip)&lt;br /&gt;
:For [[APF27]] it could be either 64MiB or 128MiB (2 x 64MiB) (in that case be sure to select 2 chips of 64MiB instead of 1 chip of 128MiB).&lt;br /&gt;
:For [[APF51]] it could be either 256MiB or 512MiB (2x256MiB) (in such case be sure to select 2 chips of 256MiB instead of 1 chip of 512).&lt;br /&gt;
:For [[APF28]] The memory can be 128, 256, 512 or 1024MiB (be sure to select 1 RAM chip).&lt;br /&gt;
:For [[APF6]]/[[APF6SP]] The memory can be 512 Mbytes or 1Gbytes with ram chip size of 512Mbytes.&lt;br /&gt;
:For [[OPOS6UL]]/[[OPOS6UL_NANO]] The memory size is automatically detected so you don&#039;t care ;-)&lt;br /&gt;
&lt;br /&gt;
* You may decrease the compilation time by increasing the number of parallel jobs running simultaneously on your system (the result is not guaranteed). This option is located in:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build Options ---&amp;gt;    (0) Number of jobs to run simultaneously&amp;lt;/pre&amp;gt;&lt;br /&gt;
0 means that Buildroot will try to guess automatically how much parallel jobs it can launch.&lt;br /&gt;
&lt;br /&gt;
* During the SDK/BSP build, a lot of software archives are downloaded from Internet. The downloaded files are put by default in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. &#039;&#039;&#039;If you have several views or plan to build the toolchain several times&#039;&#039;&#039;, we advise you to put all the downloaded files in &#039;&#039;/local/downloads&#039;&#039; (for example). This is done by configuring Buildroot to use this directory for all your views. Nevertheless, Buildroot will be downloaded separately for each build environment you set up.&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build options  ---&amp;gt;    (...) Download dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
:[[Image:Build_config_download.png]]&lt;br /&gt;
{{Note|Of course, &#039;&#039;/local/downloads&#039;&#039; should exists on your system and you should have writing rights on it !}}&lt;br /&gt;
* In recent Buildroot you can also use the following method:&lt;br /&gt;
 export BR2_DL_DIR=/local/downloads&lt;br /&gt;
&lt;br /&gt;
* After the build, we advise you to copy all the files in &#039;&#039;downloads/&#039;&#039; / &#039;&#039;/local/downloads&#039;&#039; on a removable medium, in case you want to install the development tools on other systems, without to have to reload all the archives.&lt;br /&gt;
&lt;br /&gt;
* Now, Exit the configuration tool and save your configuration&lt;br /&gt;
&lt;br /&gt;
* You can come back to this configuration menu, by typing (your changes will be kept): &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Launch build==&lt;br /&gt;
 $ make&lt;br /&gt;
The toolchain and the full distribution are automatically built. During this procedure, several files are downloaded from Internet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please wait for a while.... it takes at least one hour for the first run!&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
By default, the downloaded files/tarball are put in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. Please see the previous chapter to know how to optimize that if you plan to build several views or want to build faster.&lt;br /&gt;
&lt;br /&gt;
==Enjoy the result==&lt;br /&gt;
The generated binary files can be found in the subdirectory &#039;&#039;buildroot/output/images&#039;&#039;:&lt;br /&gt;
*&#039;&#039;apf9328-u-boot.brec&#039;&#039; (only on [[APF9328]]): BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working (see [[BootLoader]] page)&lt;br /&gt;
*&#039;&#039;xxx-u-boot.bin&#039;&#039;: U-Boot image file to be used with U-Boot itself, (see [[BootLoader#Update_U-Boot | updating U-Boot]])&lt;br /&gt;
*&#039;&#039;xxx-linux.bin&#039;&#039;: Linux image to use with U-Boot, (see [[Target_Software_Installation#Linux_kernel_installation | updating Linux]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.jffs2&#039;&#039;: JFFS2 filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ubi&#039;&#039; (not supported on [[APF9328]]): [[UBIFS|UBI]] filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ext4&#039;&#039;: EXT4 filesystem/rootfs image to use with U-Boot, (on [[APF6]] and [[OPOS6UL]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.tar&#039;&#039;: for an NFS/MMC based rootfs, (see [[Network_Configuration#Boot_from_NFS | Booting from NFS]] &amp;amp; [[MultiMediaCard#Booting_from_MMC.2FSD | Booting from a MMC/SD]])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note the new naming convention of binary files and directories (since Armadeus 4.0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;buildroot/output/build&#039;&#039;: contains all the build results for target root filesystem, Linux, Busybox and U-Boot...&lt;br /&gt;
*&#039;&#039;buildroot/output/toolchain/&#039;&#039;: cross compilation toolchain&#039;s build dir. Binaries usable for cross-compilation are in &#039;&#039;buildroot/output/host/usr/bin&#039;&#039;.&lt;br /&gt;
*&#039;&#039;buildroot/output/target/&#039;&#039;: target filessytem before generating rootfs images&lt;br /&gt;
&lt;br /&gt;
More information is available in the  [http://buildroot.uclibc.org/buildroot.html Buildroot&#039;s documentation]&lt;br /&gt;
&lt;br /&gt;
* Note: Previous versions (3.x) of Armadeus SDK stored the generated binary files at a different place: &#039;&#039; &#039;&#039;buildroot/binaries/XX/&#039;&#039; (where XX was the name of your board).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then copy the binary image to your server directory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==To keep your local copy/repository up-to-date with the armadeus GIT repository==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will update your working directory to the latest release.&lt;br /&gt;
&lt;br /&gt;
Note: if &amp;quot;git pull&amp;quot; fails because a directory or a file already exists, then do:&lt;br /&gt;
 $ rm -rf &amp;lt;this-directory/file&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&lt;br /&gt;
You can do a:&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
to have the latest features automatically activated.&lt;br /&gt;
&lt;br /&gt;
You have to do a &#039;&#039;&#039;make&#039;&#039;&#039; to rebuild binary files and then upload the binary files to your target.&lt;br /&gt;
&lt;br /&gt;
Note: if definitively everything goes wrong while it worked before the last update.&lt;br /&gt;
You can apply the following procedure (all your modifications in buildroot will be lost):&lt;br /&gt;
 $ rm -rf buildroot/&lt;br /&gt;
 $ rm Makefile&lt;br /&gt;
 $ git pull&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15172</id>
		<title>LinuxInstall</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=LinuxInstall&amp;diff=15172"/>
		<updated>2025-09-16T11:22:16Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Get Armadeus software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;How-To install Armadeus Software Development Kit (SDK) on Linux systems. This SDK is currently based on the (excellent) [http://buildroot.net/ Buildroot].&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation was successfully tested on the following distributions:&lt;br /&gt;
* Debian Lenny (5.0),  Squeeze (6.0.x), Wheezy (7.2), Jessie (8.0)&lt;br /&gt;
* X/KUbuntu Edgy Eft (6.10), Gutsy Gibbon (7.10), Hardy Heron (8.04) &amp;amp; Jaunty Jackalope (9.04)&lt;br /&gt;
* Ubuntu  Lucid Lynx (10.04) (32 &amp;amp; 64bits), 12.04 LTS (32 &amp;amp; 64bits), 13.10 (32 &amp;amp; 64bits), 14.04, 15.04 &amp;amp; 16.04&lt;br /&gt;
* LUbuntu 17.10&lt;br /&gt;
* Mandriva 2006&lt;br /&gt;
* Fedora Core 3 &amp;amp; 4, Fedora 10, Laughlin (14)&lt;br /&gt;
* Red Hat Enterprise 5.2&lt;br /&gt;
* Gentoo 10.0 (32 &amp;amp; 64 bits)&lt;br /&gt;
* SuSE 10.1, OpenSUSE 11.3 - 12.3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The installation may fail on:&#039;&#039;&#039;&lt;br /&gt;
* Ubuntu Karmic Koala (9.10): tslib fails to build&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;APF28 requirements:&#039;&#039;&#039;&lt;br /&gt;
* APF28 board requires a Linux distribution with (GNU) tar version 1.20 or later to compile the Linux Kernel - Please update or upgrade your Linux distribution. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites for Linux installation==&lt;br /&gt;
{{Note|From here we assume that your Linux system has a &#039;&#039;make&#039;&#039; version &#039;&#039;&#039;greater or equal to&#039;&#039;&#039; 3.81. To check it: &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make -v&lt;br /&gt;
GNU Make 3.81&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
For armadeus up to 3.4, make should be &#039;&#039;&#039;strictly&#039;&#039;&#039; make-3.81 (make-3.82 is too strict). A Fedora (14 and 15) -specific solution can be found later; other recent distributions such as mageia1 also have make-3.82, and a generic solution, based on configure&amp;amp;&amp;amp; make&amp;amp;&amp;amp; sudo make install can be used to install make-3.81 (which can be retrieved from http://ftp.gnu.org/gnu/make/make-6.81.tar.gz) in /usr/local/bin (and , according to one&#039;s PATH, make 3-81 can be invoked directly or as /usr/local/bin/make). &lt;br /&gt;
 &lt;br /&gt;
Depending on your distribution, some additional packages are required:&lt;br /&gt;
&lt;br /&gt;
===Debian/Ubuntu based systems===&lt;br /&gt;
[[Ubuntu/Debian installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===Mandriva based systems=== &lt;br /&gt;
[[Mandriva installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===RPM-based systems (RedHat, Fedora, CentOS)===&lt;br /&gt;
[[RedHat/Fedora installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===OpenSuse based systems===&lt;br /&gt;
[[OpenSuse installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
===Gentoo based systems===&lt;br /&gt;
[[Gentoo installation prerequisites]]&lt;br /&gt;
&lt;br /&gt;
==Get Armadeus software==&lt;br /&gt;
* &#039;&#039;&#039;If you are a &amp;quot;careful&amp;quot; user&#039;&#039;&#039;, then download [https://gitlab.com/armadeus/armadeus-bsp/-/tags the latest stable installation tarball from gitlab] and detar it wherever you want:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ tar xjvf armadeus-7.0.tar.bz2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;If you want the latest snapshot or if you have a recent SOM ([[OPOS6UL]]/[[OPOS8MM]])&#039;&#039;&#039;, the whole development tree can be checked out from our [[GIT]] repository.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git clone git@gitlab.com:armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
 or if you don&#039;t have a gitlab account:&lt;br /&gt;
 $ https://gitlab.com/armadeus/armadeus-bsp.git armadeus&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* depending on your previous choice, a directory named &#039;&#039;armadeus/&#039;&#039; or &#039;&#039;armadeus-7.0/&#039;&#039; will be created on your hard-disk and will contain all the files you need.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;Do not use spaces&#039;&#039;&#039; in the directory name !&lt;br /&gt;
* &#039;&#039;&#039;Do not use a directory path beginning with /usr.&#039;&#039;&#039; It is a known bug of Buildroot (until BR2012.11, at 2012-12).&lt;br /&gt;
* GIT write/push accesses are limited to the integrators ([[User:JulienB|JulienB]], [[User:SebastienSz|SebastienSz]], [[User:Jorasse|Jorasse]], [[User:FabienM|FabienM]], [[User:SebastienR|SebastienR]])&lt;br /&gt;
&lt;br /&gt;
==Configure SDK/BSP options==&lt;br /&gt;
{{Note|If you are new to Armadeus and have troubles compiling armadeus-5.x/armadeus-6.x using the following instructions, you may find some hints here: [[Releases]]}}&lt;br /&gt;
*Go to the directory where you put the Armadeus sources:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cd armadeus/  (or armadeus-7.0/)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*The first time you compile an Armadeus distribution you have to specify the target (here the [[APF9328]]) to work with. &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ make apf9328_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This command reloads the default configuration to support your target and automatically start a Buildroot&#039;s configuration menu.&lt;br /&gt;
&lt;br /&gt;
* Current valid default configurations are:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
apf9328_defconfig  apf27_defconfig  pps_defconfig  apf28_defconfig  apf51_defconfig  pps51_defconfig apf6_defconfig apf6legacy_defconfig opos6ul_defconfig opos6ulnano_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note| To get the full list of available config just type make, it will download buildroot and print following message :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
[...]&lt;br /&gt;
 System not configured. Use make &amp;lt;board&amp;gt;_defconfig &lt;br /&gt;
 armadeus valid configurations are:                &lt;br /&gt;
     opos6ul_legacy_defconfig opos6ulnano-preempt-rt_defconfig apf6_defconfig pps_defconfig opos6ultest_defconfig apf51_defconfig opos6ulsp_defconfig apf6dawnsmalllinux_defconfig apf27preempt-rt_defconfig apf27test_defconfig apf27_defconfig apf28legacytest_defconfig opos6ullegacy-4.14_defconfig opos6ulnano_defconfig apf28legacy_defconfig apf6mainline-4.19_defconfig opos6ul_defconfig apf6legacy_defconfig apf6xenomai_defconfig apf51test_defconfig opos6ul-preempt-rt_defconfig apf6legacy-preempt-rt_defconfig apf6legacy-4.1_defconfig pps51_defconfig apf6mainline-4.9_defconfig apf28test_defconfig apf28_defconfig apf6mediacenter_defconfig opos6ullegacy-4.9_defconfig opos6ul_recovery_defconfig apf6failsafe_defconfig apf6test_defconfig opos6ullegacy-4.1_defconfig apf27xenomai_defconfig&lt;br /&gt;
                                                   &lt;br /&gt;
Makefile:129: recipe for target &#039;/usr/local/projects/apf6_sp_419/buildroot/.configured&#039; failed&lt;br /&gt;
make: *** [/usr/local/projects/apf6_sp_419/buildroot/.configured] Error 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
For PPS boards, please see [[APF27_PPS]] or [[PPS51]] Wiki pages, as these boards have specific build.&lt;br /&gt;
&lt;br /&gt;
* After some downloads, you will get the Buildroot configuration interface:&lt;br /&gt;
&lt;br /&gt;
{{Note|If you ever made changes during the following steps, at any time, you can reload the default configuration with:&lt;br /&gt;
 $ make xxx_defconfig       (xxx depending on your module name)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Menuconfig3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
*If you are not familiar with Buildroot here are some tips:&lt;br /&gt;
*# you can move the highlighted item with the &amp;quot;up&amp;quot;/&amp;quot;down&amp;quot; arrow keys&lt;br /&gt;
*# with the &amp;quot;left&amp;quot;/&amp;quot;right&amp;quot; arrow keys you can choose between &amp;quot;Select&amp;quot;, &amp;quot;Exit&amp;quot; or &amp;quot;Help&amp;quot; buttons&lt;br /&gt;
*# &amp;quot;space&amp;quot;/&amp;quot;enter&amp;quot;:&lt;br /&gt;
*#* selects the currently highlighted item if you are on the &amp;quot;Select&amp;quot; button&lt;br /&gt;
*#* go back in previous menu if you are on &amp;quot;Exit&amp;quot; button&lt;br /&gt;
*#* show you some Help for current item if you are on &amp;quot;Help&amp;quot; button&lt;br /&gt;
*# for more Help about Buildroot commands, select &amp;quot;Help&amp;quot; in the main configuration screen&lt;br /&gt;
&lt;br /&gt;
* Update the memory configuration of your board (&#039;&#039;&#039;if needed&#039;&#039;&#039;; by default BSP is configured for the minimal memory configuration available on the corresponding board):&lt;br /&gt;
&lt;br /&gt;
:In menu:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;System configuration  ---&amp;gt;    [*] Armadeus Device Support  ---&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:you can check and change the quantity of RAM available on your Armadeus board:&lt;br /&gt;
:[[Image:Build_config_memory.png]]&lt;br /&gt;
:For [[APF9328]] the memory can be either 16 or 32MiB (be sure to select 1 RAM chip)&lt;br /&gt;
:For [[APF27]] it could be either 64MiB or 128MiB (2 x 64MiB) (in that case be sure to select 2 chips of 64MiB instead of 1 chip of 128MiB).&lt;br /&gt;
:For [[APF51]] it could be either 256MiB or 512MiB (2x256MiB) (in such case be sure to select 2 chips of 256MiB instead of 1 chip of 512).&lt;br /&gt;
:For [[APF28]] The memory can be 128, 256, 512 or 1024MiB (be sure to select 1 RAM chip).&lt;br /&gt;
:For [[APF6]]/[[APF6SP]] The memory can be 512 Mbytes or 1Gbytes with ram chip size of 512Mbytes.&lt;br /&gt;
:For [[OPOS6UL]]/[[OPOS6UL_NANO]] The memory size is automatically detected so you don&#039;t care ;-)&lt;br /&gt;
&lt;br /&gt;
* You may decrease the compilation time by increasing the number of parallel jobs running simultaneously on your system (the result is not guaranteed). This option is located in:&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build Options ---&amp;gt;    (0) Number of jobs to run simultaneously&amp;lt;/pre&amp;gt;&lt;br /&gt;
0 means that Buildroot will try to guess automatically how much parallel jobs it can launch.&lt;br /&gt;
&lt;br /&gt;
* During the SDK/BSP build, a lot of software archives are downloaded from Internet. The downloaded files are put by default in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. &#039;&#039;&#039;If you have several views or plan to build the toolchain several times&#039;&#039;&#039;, we advise you to put all the downloaded files in &#039;&#039;/local/downloads&#039;&#039; (for example). This is done by configuring Buildroot to use this directory for all your views. Nevertheless, Buildroot will be downloaded separately for each build environment you set up.&lt;br /&gt;
:&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;Build options  ---&amp;gt;    (...) Download dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
:[[Image:Build_config_download.png]]&lt;br /&gt;
{{Note|Of course, &#039;&#039;/local/downloads&#039;&#039; should exists on your system and you should have writing rights on it !}}&lt;br /&gt;
* In recent Buildroot you can also use the following method:&lt;br /&gt;
 export BR2_DL_DIR=/local/downloads&lt;br /&gt;
&lt;br /&gt;
* After the build, we advise you to copy all the files in &#039;&#039;downloads/&#039;&#039; / &#039;&#039;/local/downloads&#039;&#039; on a removable medium, in case you want to install the development tools on other systems, without to have to reload all the archives.&lt;br /&gt;
&lt;br /&gt;
* Now, Exit the configuration tool and save your configuration&lt;br /&gt;
&lt;br /&gt;
* You can come back to this configuration menu, by typing (your changes will be kept): &lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Launch build==&lt;br /&gt;
 $ make&lt;br /&gt;
The toolchain and the full distribution are automatically built. During this procedure, several files are downloaded from Internet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please wait for a while.... it takes at least one hour for the first run!&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
By default, the downloaded files/tarball are put in the &#039;&#039;armadeus/downloads/&#039;&#039; directory. Please see the previous chapter to know how to optimize that if you plan to build several views or want to build faster.&lt;br /&gt;
&lt;br /&gt;
==Enjoy the result==&lt;br /&gt;
The generated binary files can be found in the subdirectory &#039;&#039;buildroot/output/images&#039;&#039;:&lt;br /&gt;
*&#039;&#039;apf9328-u-boot.brec&#039;&#039; (only on [[APF9328]]): BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working (see [[BootLoader]] page)&lt;br /&gt;
*&#039;&#039;xxx-u-boot.bin&#039;&#039;: U-Boot image file to be used with U-Boot itself, (see [[BootLoader#Update_U-Boot | updating U-Boot]])&lt;br /&gt;
*&#039;&#039;xxx-linux.bin&#039;&#039;: Linux image to use with U-Boot, (see [[Target_Software_Installation#Linux_kernel_installation | updating Linux]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.jffs2&#039;&#039;: JFFS2 filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ubi&#039;&#039; (not supported on [[APF9328]]): [[UBIFS|UBI]] filesystem/rootfs image to use with U-Boot, (see [[Target_Software_Installation#Linux_rootfs_installation | updating rootfs]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.ext4&#039;&#039;: EXT4 filesystem/rootfs image to use with U-Boot, (on [[APF6]] and [[OPOS6UL]])&lt;br /&gt;
*&#039;&#039;xxx-rootfs.tar&#039;&#039;: for an NFS/MMC based rootfs, (see [[Network_Configuration#Boot_from_NFS | Booting from NFS]] &amp;amp; [[MultiMediaCard#Booting_from_MMC.2FSD | Booting from a MMC/SD]])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note the new naming convention of binary files and directories (since Armadeus 4.0)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;buildroot/output/build&#039;&#039;: contains all the build results for target root filesystem, Linux, Busybox and U-Boot...&lt;br /&gt;
*&#039;&#039;buildroot/output/toolchain/&#039;&#039;: cross compilation toolchain&#039;s build dir. Binaries usable for cross-compilation are in &#039;&#039;buildroot/output/host/usr/bin&#039;&#039;.&lt;br /&gt;
*&#039;&#039;buildroot/output/target/&#039;&#039;: target filessytem before generating rootfs images&lt;br /&gt;
&lt;br /&gt;
More information is available in the  [http://buildroot.uclibc.org/buildroot.html Buildroot&#039;s documentation]&lt;br /&gt;
&lt;br /&gt;
* Note: Previous versions (3.x) of Armadeus SDK stored the generated binary files at a different place: &#039;&#039; &#039;&#039;buildroot/binaries/XX/&#039;&#039; (where XX was the name of your board).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You then copy the binary image to your server directory:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==To keep your local copy/repository up-to-date with the armadeus GIT repository==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will update your working directory to the latest release.&lt;br /&gt;
&lt;br /&gt;
Note: if &amp;quot;git pull&amp;quot; fails because a directory or a file already exists, then do:&lt;br /&gt;
 $ rm -rf &amp;lt;this-directory/file&amp;gt;&lt;br /&gt;
 $ git pull&lt;br /&gt;
&lt;br /&gt;
You can do a:&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
to have the latest features automatically activated.&lt;br /&gt;
&lt;br /&gt;
You have to do a &#039;&#039;&#039;make&#039;&#039;&#039; to rebuild binary files and then upload the binary files to your target.&lt;br /&gt;
&lt;br /&gt;
Note: if definitively everything goes wrong while it worked before the last update.&lt;br /&gt;
You can apply the following procedure (all your modifications in buildroot will be lost):&lt;br /&gt;
 $ rm -rf buildroot/&lt;br /&gt;
 $ rm Makefile&lt;br /&gt;
 $ git pull&lt;br /&gt;
 $ make apfXX_defconfig&lt;br /&gt;
 $ make&lt;br /&gt;
 $ cp buildroot/output/images/* /tftpboot&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Ubuntu/Debian_installation_prerequisites&amp;diff=15171</id>
		<title>Ubuntu/Debian installation prerequisites</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Ubuntu/Debian_installation_prerequisites&amp;diff=15171"/>
		<updated>2025-09-16T11:04:40Z</updated>

		<summary type="html">&lt;p&gt;JulienB: /* Mandatory packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Mandatory packages==&lt;br /&gt;
* you can use the following commands (one at a time) to get them (assuming your userid is allowed to use &#039;&#039;sudo&#039;&#039; (execution of commands as root)):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get install -y build-essential gcc g++ autoconf automake libtool bison flex gettext&lt;br /&gt;
 sudo apt-get install -y patch subversion texinfo wget git-core&lt;br /&gt;
 sudo apt-get install -y libncurses6 libncurses-dev&lt;br /&gt;
 sudo apt-get install -y zlib1g-dev liblzo2-2 liblzo2-dev&lt;br /&gt;
 sudo apt-get install -y libacl1 libacl1-dev gawk cvs curl lzma&lt;br /&gt;
 sudo apt-get install -y uuid-dev mercurial unzip&lt;br /&gt;
 sudo apt-get install -y libftdi-dev&lt;br /&gt;
 sudo apt-get install -y bc quilt&lt;br /&gt;
 &lt;br /&gt;
 # for Linaro external toolchain of APF6 on 64bits Host:&lt;br /&gt;
 sudo apt-get install -y lib32stdc++6 lib32z1&lt;br /&gt;
 &lt;br /&gt;
 # to use recover tool if board is bricked:&lt;br /&gt;
 #            python 2 :                                               /                 python 3 :&lt;br /&gt;
 sudo apt-get install -y python-serial python-usb libusb-1.0-0-dev     /    sudo apt-get install -y python3-serial python3-usb libusb-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* you will need &#039;&#039;bash&#039;&#039; as system interpreter and &#039;&#039;&#039;NOT&#039;&#039;&#039; &#039;&#039;dash&#039;&#039;:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo dpkg-reconfigure dash      (choose No)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Localization===&lt;br /&gt;
* if your distribution is localized in a language different of English, you will need to install &amp;quot;en_US&amp;quot; locale in order to compile the toolchain (by default our toolchain (uClibc) is configured to only support English). If not, you will get compilation errors like this one:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 extra/locale/locale_mmap.h:46: error: &#039;__LOCALE_DATA_WCctype_II_LEN&#039; undeclared here (not in a function)&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To solve this, install en_US.UTF-8 locale with the following:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===64 bits Hosts===&lt;br /&gt;
* On Debian/Jessie, these packages seems to be required (on 64 bits Host):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libx32stdc++6 libx32stdc++-4.9-dev lib64stdc++6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* On Debian 9 the following seems also recommended:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get install libssl1.0-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On LUbuntu 16.04 it is:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get install libssl-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
otherwise you will get:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory&lt;br /&gt;
compilation terminated.&lt;br /&gt;
scripts/Makefile.host:90: recipe for target &#039;scripts/extract-cert&#039; failed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* On *Ubuntu 16.04, the following is required:&lt;br /&gt;
&amp;lt;pre class=host&amp;gt;&lt;br /&gt;
sudo apt-get install gcc-multilib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
otherwise you may get:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
In file included from ../../../libgcc/libgcc2.c:27:0:&lt;br /&gt;
../../../libgcc/../gcc/tsystem.h:87:19: fatal error: stdio.h: No such file or directory&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
                   ^&lt;br /&gt;
compilation terminated.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional packages==&lt;br /&gt;
Not mandatory but useful to add for compiling some Buildroot packages:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get -y install libglib2.0-dev &lt;br /&gt;
 # for fbtest&lt;br /&gt;
 sudo apt-get -y install libnetpbm10-dev&lt;br /&gt;
 # for Matchbox&lt;br /&gt;
 sudo apt-get -y install python-xcbgen&lt;br /&gt;
 # for mesa&lt;br /&gt;
 sudo apt-get -y install xutils-dev&lt;br /&gt;
 # for imx_usb&lt;br /&gt;
 sudo apt-get -y install pkg-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java devt===&lt;br /&gt;
{| cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
====Ubuntu====&lt;br /&gt;
* To compile java jamvm and gnu-classpath:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get -y install gcj-jdk &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
====Debian====&lt;br /&gt;
* To compile java jamvm and gnu-classpath:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get -y install java-gcj-compat-dev default-jdk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
	<entry>
		<id>http://wikilegacy.armadeus.com/index.php?title=Preempt-rt&amp;diff=15160</id>
		<title>Preempt-rt</title>
		<link rel="alternate" type="text/html" href="http://wikilegacy.armadeus.com/index.php?title=Preempt-rt&amp;diff=15160"/>
		<updated>2025-02-20T16:53:54Z</updated>

		<summary type="html">&lt;p&gt;JulienB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;preempt-rt are a series of patches to improve Linux kernel realtime performances. This page explain how to use it.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
* Depending on your board, you may have a Buildroot defconfig to apply preempt-rt patches automagically. For example for [[OPOS6UL]]:&lt;br /&gt;
&amp;lt;pre class=host&amp;gt;&lt;br /&gt;
$ make opos6ul-preempt-rt_defconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If no config is available, you will have to do the job yourself, by finding a kernel version compatible with preempt-rt patches from https://www.kernel.org/pub/linux/kernel/projects/rt/&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
* You can change realtime priority of tasks with &#039;&#039;chrt&#039;&#039;. For example to set process X to priority 20 in FIFO scheduling queue, you have to do:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# chrt -p -f 20 X&lt;br /&gt;
&lt;br /&gt;
pid X&#039;s current scheduling policy: SCHED_OTHER&lt;br /&gt;
pid X&#039;s current scheduling priority: 0&lt;br /&gt;
pid X&#039;s new scheduling policy: SCHED_FIFO&lt;br /&gt;
pid X&#039;s new scheduling priority: 20&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The more priority you set, the more your process is prioritary.&lt;br /&gt;
* Priority queues are OTHER (no realtime), FIFO (First In First Out), RR (Round Robin time share)&lt;br /&gt;
* You can validate realtime performances of your system with &#039;&#039;cyclictest&#039;&#039;. For example to launch 10 processes triggering on timer set to 10ms with different descending priorities, you can do:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cyclictest -t 10 -p 20 -n -i 10000 --priospread&lt;br /&gt;
&lt;br /&gt;
/dev/cpu_dma_latency set to 0us&lt;br /&gt;
policy: fifo: loadavg: 0.45 0.23 0.10 1/86 230          &lt;br /&gt;
&lt;br /&gt;
T: 0 (  219) P:99 I:10000 C:  34012 Min:     67 Act:  166 Avg:  174 Max:     536&lt;br /&gt;
T: 1 (  220) P:98 I:10500 C:  32393 Min:     76 Act:  228 Avg:  202 Max:     719&lt;br /&gt;
T: 2 (  221) P:97 I:11000 C:  30920 Min:     66 Act:  170 Avg:  197 Max:    1154&lt;br /&gt;
T: 3 (  222) P:96 I:11500 C:  29576 Min:     65 Act:  217 Avg:  194 Max:    1176&lt;br /&gt;
T: 4 (  223) P:95 I:12000 C:  28343 Min:     72 Act:  167 Avg:  194 Max:    1912&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* times are in microseconds&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/preemptrt_setup&lt;br /&gt;
* https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/application_base&lt;br /&gt;
&lt;br /&gt;
[[Category:Real-Time]]&lt;/div&gt;</summary>
		<author><name>JulienB</name></author>
	</entry>
</feed>