FAQs (Axel)

From DAVE Developer's Wiki
Jump to: navigation, search

WorkInProgress.gif

Info Box
Axel-04.png Applies to Axel Ultra
Axel-lite 02.png Applies to Axel Lite

Introduction[edit | edit source]

This page collects all the Frequently Asked Question regarding Axel Ultra/Lite SOMs

General[edit | edit source]

Q: Where can I found Axel SOMs information?[edit | edit source]

A: please refer to the following table:

Resource Description
Axel Ultra category page This page lists all the wiki pages regarding the Axel Ultra CPU module
Axel Lite category page This page lists all the wiki pages regarding the Axel Lite CPU module
Axel Ultra SOM This page reports Axel Ultra SOM specification and basic information
Axel Lite SOM This page reports Axel Lite SOM specification and basic information
Axel Ultra Hardware Manual This page points to the Axel Ultra Hardware Manual
Axel Lite Hardware Manual This page points to the Axel Lite Hardware Manual
Axel Ultra product page This is Axel Ultra web page on DAVE Embedded Systems website
Axel Lite product page This is Axel Lite 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 Axel, please refer to the Axel Integration Guide Integration_guide_(Axel)

Using XELK[edit | edit source]

Q: I've received the XELK 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
  4. Start your terminal emulator program
  5. Switch on the power supply
  6. Monitor the boot process on the serial console
  7. Install and configure the development environment as described in the XELK Quick Start Guide.
  8. Check for updates of the source tree repositories provided with the kit, as described in XELK Updates

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

A: All XELK source trees (U-Boot and Linux kernel) are provided as git repositories. This means that these components can be kept in sync and up to date with DAVE Embedded Systems repositories. Once the a git account is enabled, the developer can clone the repository and synchronize a source tree using git commands. For further details, please refer to XELK Updates.

Q: Where can I found the XELK Quick Start Guide document?[edit | edit source]

A: This document is included in the XELK distribution and can be downloaded from XELK_Quick_Start_Guide.

Q: Does XELK include support for the Yocto build system?[edit | edit source]

A: Yes, starting from version 2.0.0, XELK provides the axel-bsp repository and a meta-axel layer for integration with the Yocto build system. For additional details, please refer to XELK_Quick_Start_Guide.

Q: How can I configure the Axel 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: How can I access GPIOs from user space[edit | edit source]

A: Users can access GPIOs using SYSFS entries from user space. This feature is enabled by default in the AXEL Linux kernel configuration. For further details, please refer to:

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

A: To evaluate the performances of the system with a specific amount of available RAM, the user can pass the mem parameter to the kernel, by setting the command line arguments in u-boot (for detailed instruction, please refer to the Change_Linux_Command_Line_Parameter_from_U-boot page).

For example, to limit the amount of RAM to 128 MB, create the following variables in u-boot:

setenv mem 128MB
setenv addmem 'setenv bootargs ${bootargs} mem=${mem}'

And add the addmem variable to the boot macro:

setenv net_nfs 'run loadk loadfdt nfsargs addip addcons addmem; bootm ${buf} ${dtb_addr}'

For further details, please refer to the linux-am33x/Documentation/kernel-parameters.txt file of the kernel source tree provided with the XELK.

Q: How can I limit the number of active CPU cores?[edit | edit source]

A: To evaluate the performances of the system with reduced number of CPU cores, the user can pass the maxcpus parameter to the kernel, by setting the command line arguments in u-boot (for detailed instruction, please refer to the Change_Linux_Command_Line_Parameter_from_U-boot page).

For example, to set the number of active cores to 2, add the maxcpus parameter to the addmisc environment variable:

setenv addmisc 'setenv bootargs ${bootargs} maxcpus=2'

And add the addmisc variable to the boot macro:

setenv net_nfs 'run loadk loadfdt nfsargs addip addcons addmisc; bootm ${buf} ${dtb_addr}'

For further details, please refer to the linux-am33x/Documentation/kernel-parameters.txt file of the kernel source tree provided with the XELK.

Q: How can I change the CPU clock frequency?[edit | edit source]

A: The frequency of the CPU can be changed on the run using the Cpufreq framework (please refer to the documentation included into the Documentation/cpu-freq directory of the kernel source tree). The cpufreq framework works in conjunction with the related driver & governor.

Cpufreq implementation controls the Linux OPP (Operating Performance Points) adjusting the CPU core voltages and frequencies. CPUFreq is enabled by default in the AXEL kernel configuration.

To view the available governors:

root@axel-lite:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
interactive conservative ondemand userspace powersave performance

To view the supported OPP's (frequency in KHz):

root@axel-lite:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
396000 792000 996000

To change the OPP:

root@axel-lite:~# echo 396000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

Please note that OPP can be changed only using the userspace governor. If governors like ondemand is used, OPP change happens automatically based on the system load.

Q: How can I read the CPU temperature?[edit | edit source]

A: CPU temperature is reported by the Anatop Thermal driver. To read the he temperature, enter this command from the Linux shell:


root@axel-lite:~# cat /sys/class/thermal/thermal_zone0/temp