Difference between revisions of "FAQs (Diva)"

From DAVE Developer's Wiki
Jump to: navigation, search
m
m
 
(15 intermediate revisions by one other user not shown)
Line 4: Line 4:
 
{{InfoBoxBottom}}
 
{{InfoBoxBottom}}
  
=Introduction=
+
= Introduction =
  
 
This page collects all the Frequently Asked Question regarding Diva
 
This page collects all the Frequently Asked Question regarding Diva
 +
 +
= General =
  
 
=== Q: Where can I found Diva SOM information? ===  
 
=== Q: Where can I found Diva SOM information? ===  
Line 23: Line 25:
 
| [[Software_Manual_(Diva) | Diva Software Manual]] || This page points to the Diva Software Manual
 
| [[Software_Manual_(Diva) | Diva Software Manual]] || This page points to the Diva Software Manual
 
|-
 
|-
| [http://www.dave.eu/dave-cpu-module-am335x-diva.html Diva product page] || This is Diva web page on Dave's website
+
| [http://www.dave.eu/dave-cpu-module-am335x-diva.html Diva product page] || This is Diva web page on '''DAVE Embedded Systems''' website
 
|-
 
|-
 
|}
 
|}
 +
 +
= System design =
 +
 +
=== Q: Can you suggest some guidelines for the carrier board design? ===
 +
'''A''': As a starting point, you can refer to the Wiki page dedicated to the [[Carrier_board_design_guidelines_%28SOM%29]], that will highlight some best practices that applies to all SOMs. For specific information on Diva, please refer to the Diva Integration Guide [[Integration_guide_%28Diva%29]]
 +
 +
=== Q: Where can I found information regarding the PRUs? ===
 +
'''A''': the Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS) consists of dual 32-bit RISC cores (Programmable Real-Time Units, or PRUs), memories, interrupt controller, and internal peripherals that enable additional peripheral interfaces and protocols. The programmable nature of the PRUs, along with their access to pins and events, provide flexibility in implementing custom peripheral interfaces, fast real-time responses, power saving techniques, specialized data handling and DMA operations, and in offloading tasks from the other processor cores of the system-on-chip (SoC). For detailed information, please refer to the following pages:
 +
* http://elinux.org/Ti_AM33XX_PRUSSv2
 +
* http://processors.wiki.ti.com/index.php/Category:PRU
 +
* http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit
 +
* http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem
 +
* http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Software_Development
 +
 +
= Using DIVELK =
  
 
=== Q: I've received the DIVELK package. How am I supposed to start working with it? ===
 
=== Q: I've received the DIVELK package. How am I supposed to start working with it? ===
Line 39: Line 56:
  
 
=== Q: How can I update the DIVELK version? ===
 
=== Q: How can I update the DIVELK version? ===
'''A''': please refer to the following page on the Dave Developer's Wiki: [[Software_Manual_%28Diva%29#DIVELK_Updates | DIVELK updates]]
+
'''A''': please refer to the following page on the '''DAVE Embedded Systems''' Developer's Wiki: [[Software_Manual_%28Diva%29#DIVELK_Updates | DIVELK updates]]
 +
 
 +
=== Q: How can I reduce the clock frequency and RAM amount to evaluate the performances of the low-end versions of the Diva SoM? ===
 +
'''A''': please refer to the following page on the '''DAVE Embedded Systems''' Developer's Wiki: [[Software_Manual_(Diva)#DIVA_Frequency_Scaling | Frequency scaling]] and [[Software_Manual_(Diva)#Forcing_the_kernel_to_use_a_limited_amount_of_RAM | Forcing the kernel to use a limited amount of RAM]]
  
 
=== Q: How can I work with the XYZ peripheral/interface? ===
 
=== Q: How can I work with the XYZ peripheral/interface? ===
Line 45: Line 65:
 
'''A''': please refer to the following page: http://processors.wiki.ti.com/index.php/AM335x_PSP_User%27s_Guide#Various_Module_User.27s_Guide
 
'''A''': please refer to the following page: http://processors.wiki.ti.com/index.php/AM335x_PSP_User%27s_Guide#Various_Module_User.27s_Guide
  
=== How can I configure the Diva system to boot from network? ===
+
=== Q: I need the QT libraries for my application. Does the DIVELK contains the QT libraries? Are there demos and examples (with included source code)? ===
 +
 
 +
'''A''': the root file system provided with the DIVELK (/home/dvdk/divelk/rfs/tisdk on the DVDK virtual machine) contains a pre-built version (4.8.0) of the QT libraries:
 +
 
 +
<pre>
 +
dvdk@dvdk-vm:~/divelk/rfs/tisdk/usr/lib$ ll libQ*
 +
....
 +
....
 +
lrwxrwxrwx 1 root root      19 Dec 17  2012 libQtCoreE.so.4 -> libQtCoreE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      19 Dec 17  2012 libQtCoreE.so.4.8 -> libQtCoreE.so.4.8.0*
 +
-rwxr-xr-x 1 root root  3233396 Dec 16  2012 libQtCoreE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      19 Dec 17  2012 libQtDBusE.so.4 -> libQtDBusE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      19 Dec 17  2012 libQtDBusE.so.4.8 -> libQtDBusE.so.4.8.0*
 +
-rwxr-xr-x 1 root root  497236 Dec 16  2012 libQtDBusE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      26 Dec 17  2012 libQtDeclarativeE.so.4 -> libQtDeclarativeE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      26 Dec 17  2012 libQtDeclarativeE.so.4.8 -> libQtDeclarativeE.so.4.8.0*
 +
-rwxr-xr-x 1 root root  3850720 Dec 16  2012 libQtDeclarativeE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      33 Dec 17  2012 libQtDesignerComponentsE.so.4 -> libQtDesignerComponentsE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      33 Dec 17  2012 libQtDesignerComponentsE.so.4.8 -> libQtDesignerComponentsE.so.4.8.0*
 +
-rwxr-xr-x 1 root root  3012324 Dec 16  2012 libQtDesignerComponentsE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      23 Dec 17  2012 libQtDesignerE.so.4 -> libQtDesignerE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      23 Dec 17  2012 libQtDesignerE.so.4.8 -> libQtDesignerE.so.4.8.0*
 +
-rwxr-xr-x 1 root root  5246140 Dec 16  2012 libQtDesignerE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      18 Dec 17  2012 libQtGuiE.so.4 -> libQtGuiE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      18 Dec 17  2012 libQtGuiE.so.4.8 -> libQtGuiE.so.4.8.0*
 +
-rwxr-xr-x 1 root root  9852452 Dec 16  2012 libQtGuiE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      19 Dec 17  2012 libQtHelpE.so.4 -> libQtHelpE.so.4.8.0*
 +
lrwxrwxrwx 1 root root      19 Dec 17  2012 libQtHelpE.so.4.8 -> libQtHelpE.so.4.8.0*
 +
-rwxr-xr-x 1 root root  523292 Dec 16  2012 libQtHelpE.so.4.8.0*
 +
...
 +
...
 +
...
 +
dvdk@dvdk-vm:~/divelk/rfs/tisdk/usr/lib
 +
</pre>
 +
 
 +
The root file system also provides a lot of pre-built demos and examples (with the related source code and project files), contained in the following directories:
 +
 
 +
* /home/dvdk/divelk/rfs/tisdk/usr/bin/qtopia/demos
 +
* /home/dvdk/divelk/rfs/tisdk/usr/bin/qtopia/examples
 +
 
 +
The Matrix-Gui application (http://processors.wiki.ti.com/index.php/Matrix_Users_Guide) that launched automatically after DIVELK startup is based on QT and can directly show some demos (simply touching the QT icon). Moreover, additional examples can be launched, for example the "calculator" QML demo:
 +
 
 +
<pre>
 +
/etc/init.d/matrix-gui-2.0 stop
 +
cd /usr/bin/qtopia/demos/declarative/calculator
 +
./calculator -qws
 +
</pre>
 +
 
 +
For additional information, please refer to the following pages:
 +
 
 +
* http://processors.wiki.ti.com/index.php/Category:Qt
 +
* http://processors.wiki.ti.com/index.php/Qt_Tips
 +
* http://processors.wiki.ti.com/index.php/Using_Qt_4.7
 +
* http://processors.wiki.ti.com/index.php/Building_Qt
 +
* http://qt-project.org/doc/qt-5/gettingstarted.html
 +
 
 +
=== Q: How can I configure the Diva system to boot from network? ===
 
'''A''': Booting from network is very helpful during the software development (both for kernel and applications). The kernel image is downloaded via TFTP while the root file system is remotely mounted via NFS from the host. It is assumed that the development host:
 
'''A''': Booting from network is very helpful during the software development (both for kernel and applications). The kernel image is downloaded via TFTP while the root file system is remotely mounted via NFS from the host. It is assumed that the development host:
 
* is connected with the target host board through an Ethernet LAN
 
* is connected with the target host board through an Ethernet LAN
Line 51: Line 127:
 
* runs a TFTP server.
 
* runs a TFTP server.
 
* has a proper subnet IP address
 
* has a proper subnet IP address
For detailed information, please refer to [[http://wiki.dave.eu/index.php/Booting_Linux_Kernel#Configuration_net_nfs | Configuration net_nfs]]
+
For detailed information, please refer to [[Booting_Linux_Kernel#Configuration_net_nfs | Configuration net_nfs]]
 +
 
 +
=== Q: The system doesn't boot anymore. On the serial console I see just “CCCC” characters... Is there a recovery procedure? ===
  
=== Q: Where can I found information regarding the PRUs? ===
+
'''A''': "CCCC" characters are the output of the internal bootrom that tries to boot from UART. It's likely that the first stage bootloader is missing or corrupted. System recovery is possible using one of the following strategies:
'''A''': the Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS) consists of dual 32-bit RISC cores (Programmable Real-Time Units, or PRUs), memories, interrupt controller, and internal peripherals that enable additional peripheral interfaces and protocols. The programmable nature of the PRUs, along with their access to pins and events, provide flexibility in implementing custom peripheral interfaces, fast real-time responses, power saving techniques, specialized data handling and DMA operations, and in offloading tasks from the other processor cores of the system-on-chip (SoC). For detailed information, please refer to the following pages:
 
* http://elinux.org/Ti_AM33XX_PRUSSv2
 
* http://processors.wiki.ti.com/index.php/Category:PRU
 
* http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit
 
* http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem
 
* http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Software_Development
 
  
=== Q: Can you suggest some guidelines for the carrier board design? ===
+
* bootable SD card (if available, for example the one provided with the DIVELK)
'''A''': As a starting point, you can refer to the Wiki page dedicated to the [[Carrier_board_design_guidelines_%28SOM%29]], that will highlight some best practices that applies to all SOMs. For specific information on Diva, please refer to the Diva Integration Guide [[Integration_guide_%28Diva%29]]
+
* serial file transfer (via XMODEM/YMODEM) - please refer to http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide#Boot_Over_UART
 +
* JTAG (requires dedicated hardware - JTAG port, debugger/programmer - and software tools)

Latest revision as of 10:21, 21 April 2016

WorkInProgress.gif

Info Box
Diva-am335x-overview.png Applies to Diva

Introduction[edit | edit source]

This page collects all the Frequently Asked Question regarding Diva

General[edit | edit source]

Q: Where can I found Diva SOM information?[edit | edit source]

A: please refer to the following table:

Resource Description
Diva category page This page lists all the wiki pages regarding the Diva CPU module
Diva SOM This page reports Diva SOM specification and basic information
Diva Hardware Manual This page points to the Diva Hardware Manual
Diva Software Manual This page points to the Diva Software Manual
Diva product page This is Diva web page on DAVE Embedded Systems website

System design[edit | edit source]

Q: Can you suggest some guidelines for the carrier board design?[edit | edit source]

A: As a starting point, you can refer to the Wiki page dedicated to the Carrier_board_design_guidelines_(SOM), that will highlight some best practices that applies to all SOMs. For specific information on Diva, please refer to the Diva Integration Guide Integration_guide_(Diva)

Q: Where can I found information regarding the PRUs?[edit | edit source]

A: the Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS) consists of dual 32-bit RISC cores (Programmable Real-Time Units, or PRUs), memories, interrupt controller, and internal peripherals that enable additional peripheral interfaces and protocols. The programmable nature of the PRUs, along with their access to pins and events, provide flexibility in implementing custom peripheral interfaces, fast real-time responses, power saving techniques, specialized data handling and DMA operations, and in offloading tasks from the other processor cores of the system-on-chip (SoC). For detailed information, please refer to the following pages:

Using DIVELK[edit | edit source]

Q: I've received the DIVELK package. How am I supposed to start working with it?[edit | edit source]

A: You can follow the steps listed below:

  1. Check the kit contents with the packing list included in the box
  2. Insert the SD into the card slot on the carrier board
  3. Connect the power supply adapter and the serial cable as described in Section 3.2
  4. Start your terminal emulator program
  5. Switch on the power supply
  6. Monitor the boot process on the serial console
  7. Install the DVDK virtual machine image (Section 3.4)
  8. Check the virtual machine components (please refer to Section 4.4)

Q: How can I update the DIVELK version?[edit | edit source]

A: please refer to the following page on the DAVE Embedded Systems Developer's Wiki: DIVELK updates

Q: How can I reduce the clock frequency and RAM amount to evaluate the performances of the low-end versions of the Diva SoM?[edit | edit source]

A: please refer to the following page on the DAVE Embedded Systems Developer's Wiki: Frequency scaling and Forcing the kernel to use a limited amount of RAM

Q: How can I work with the XYZ peripheral/interface?[edit | edit source]

A: please refer to the following page: http://processors.wiki.ti.com/index.php/AM335x_PSP_User%27s_Guide#Various_Module_User.27s_Guide

Q: I need the QT libraries for my application. Does the DIVELK contains the QT libraries? Are there demos and examples (with included source code)?[edit | edit source]

A: the root file system provided with the DIVELK (/home/dvdk/divelk/rfs/tisdk on the DVDK virtual machine) contains a pre-built version (4.8.0) of the QT libraries:

dvdk@dvdk-vm:~/divelk/rfs/tisdk/usr/lib$ ll libQ*
....
....
lrwxrwxrwx 1 root root       19 Dec 17  2012 libQtCoreE.so.4 -> libQtCoreE.so.4.8.0*
lrwxrwxrwx 1 root root       19 Dec 17  2012 libQtCoreE.so.4.8 -> libQtCoreE.so.4.8.0*
-rwxr-xr-x 1 root root  3233396 Dec 16  2012 libQtCoreE.so.4.8.0*
lrwxrwxrwx 1 root root       19 Dec 17  2012 libQtDBusE.so.4 -> libQtDBusE.so.4.8.0*
lrwxrwxrwx 1 root root       19 Dec 17  2012 libQtDBusE.so.4.8 -> libQtDBusE.so.4.8.0*
-rwxr-xr-x 1 root root   497236 Dec 16  2012 libQtDBusE.so.4.8.0*
lrwxrwxrwx 1 root root       26 Dec 17  2012 libQtDeclarativeE.so.4 -> libQtDeclarativeE.so.4.8.0*
lrwxrwxrwx 1 root root       26 Dec 17  2012 libQtDeclarativeE.so.4.8 -> libQtDeclarativeE.so.4.8.0*
-rwxr-xr-x 1 root root  3850720 Dec 16  2012 libQtDeclarativeE.so.4.8.0*
lrwxrwxrwx 1 root root       33 Dec 17  2012 libQtDesignerComponentsE.so.4 -> libQtDesignerComponentsE.so.4.8.0*
lrwxrwxrwx 1 root root       33 Dec 17  2012 libQtDesignerComponentsE.so.4.8 -> libQtDesignerComponentsE.so.4.8.0*
-rwxr-xr-x 1 root root  3012324 Dec 16  2012 libQtDesignerComponentsE.so.4.8.0*
lrwxrwxrwx 1 root root       23 Dec 17  2012 libQtDesignerE.so.4 -> libQtDesignerE.so.4.8.0*
lrwxrwxrwx 1 root root       23 Dec 17  2012 libQtDesignerE.so.4.8 -> libQtDesignerE.so.4.8.0*
-rwxr-xr-x 1 root root  5246140 Dec 16  2012 libQtDesignerE.so.4.8.0*
lrwxrwxrwx 1 root root       18 Dec 17  2012 libQtGuiE.so.4 -> libQtGuiE.so.4.8.0*
lrwxrwxrwx 1 root root       18 Dec 17  2012 libQtGuiE.so.4.8 -> libQtGuiE.so.4.8.0*
-rwxr-xr-x 1 root root  9852452 Dec 16  2012 libQtGuiE.so.4.8.0*
lrwxrwxrwx 1 root root       19 Dec 17  2012 libQtHelpE.so.4 -> libQtHelpE.so.4.8.0*
lrwxrwxrwx 1 root root       19 Dec 17  2012 libQtHelpE.so.4.8 -> libQtHelpE.so.4.8.0*
-rwxr-xr-x 1 root root   523292 Dec 16  2012 libQtHelpE.so.4.8.0*
...
...
...
dvdk@dvdk-vm:~/divelk/rfs/tisdk/usr/lib

The root file system also provides a lot of pre-built demos and examples (with the related source code and project files), contained in the following directories:

  • /home/dvdk/divelk/rfs/tisdk/usr/bin/qtopia/demos
  • /home/dvdk/divelk/rfs/tisdk/usr/bin/qtopia/examples

The Matrix-Gui application (http://processors.wiki.ti.com/index.php/Matrix_Users_Guide) that launched automatically after DIVELK startup is based on QT and can directly show some demos (simply touching the QT icon). Moreover, additional examples can be launched, for example the "calculator" QML demo:

/etc/init.d/matrix-gui-2.0 stop
cd /usr/bin/qtopia/demos/declarative/calculator
./calculator -qws

For additional information, please refer to the following pages:

Q: How can I configure the Diva system to boot from network?[edit | edit source]

A: Booting from network is very helpful during the software development (both for kernel and applications). The kernel image is downloaded via TFTP while the root file system is remotely mounted via NFS from the host. It is assumed that the development host:

  • is connected with the target host board through an Ethernet LAN
  • exports the directory containing the root file system for the target through the NFS server
  • runs a TFTP server.
  • has a proper subnet IP address

For detailed information, please refer to Configuration net_nfs

Q: The system doesn't boot anymore. On the serial console I see just “CCCC” characters... Is there a recovery procedure?[edit | edit source]

A: "CCCC" characters are the output of the internal bootrom that tries to boot from UART. It's likely that the first stage bootloader is missing or corrupted. System recovery is possible using one of the following strategies: