|
Latest Release Files This section provides downlodable files for the up-to-date release of A2F-Linux. If you are a customer of A2F-Linux, please login using your existing registration, in case you have registered with us before. In case you haven't registered, login using the email address you provided at the on-line store when making your purchase of A2F-Linux (retrieve your password by pressing "Forgot login?") Active customers, please login to the site to activate the link to the release files.
Documentation
White Papers
Application Notes
Downloadable Materials
Videos
FAQ Generally, the pre-loaded U-boot is enough to use the device out of the box. U-boot supports loading a bootable Linux image (kernel + RAM-based filesystem) from both the network and external Flash. External Flash is configured as the default boot device on any board that comes with a kit. In this mode, on a power-up the board boots from a Linux image stored in Flash in a standalone mode. A typical development cycle is to have U-boot load a Linux image to RAM from the network and run it on the target. Of course U-boot supports updating images in Flash with custom Linux configurations, as soon you have a stable version of your application to program onto the target. The only scenario when you might need FlashPro is when you attempt to self-upgrade U-boot with your custom version (in case you decide to add some functionality to U-boot or re-configure it) and accidentially program a wrong image to the internal NVM of SmartFusion. In this scenario, the only resort is reprogramming U-boot onto the SmartFusion using FlashPro. As long as you don't attempt to re-program U-boot though, you shouldn't need FlashPro.
The Microsemi board doesn't provide an external RAM on it. The internal eSRAM of SmartFusion is only 64K, the internal eNVM of A2F200 is 256K. That amount of memory is not sufficient to run even ultra-tiny configurations of Linux on the board. Emcraft's eval board provides 16M of external PSRAM and 8M of NOR Flash, which is quite enough to run reasonably complex Linux applications on the board.
and the kernel panics. By default, panic prints out a dump of the registers and freezes the target. Is it possible to change it so that the kernel resets the SmartFusion on a panic? Yes, it is possible. Pass a panic=N to the kernel as part of the bootargs environment variable to make the kernel reset the target on a panic. N is a positive integer that specifies the number of seconds the kernel waits before resetting the target. SmartFusion doesn’t provide a USB host interface in the MSS hardware so a USB host controller would have to be implemented using an FPGA-based IP block or an external USB device (eg. USB controller with an SPI interface). Linux provides a robust implementation of the upper layers of the USB host stack as well as a number of low-level device drivers for various USB controllers, which can be used as a starting point for development of new device drivers for an USB controller IP.
Yes, the Libero project for the A2F-LNX-EVB board is included in the Emcraft Linux for SmartFusion distribution.
The standard Linux serial device driver for the 16550-style UART is compatible with the Core16500 IP. Similarly, the Ethernet and SPI device drivers for the MSS interfaces are compatible with the CoreMAC and CoreSPI IPs, respectively. The standard Linux GPIO device driver should be very easy to configure for operation with the CoreGPIO IP.
Linux takes 3 to 5 seconds to boot up from a power-on reset to the shell prompt on SmartFusion. Actual boot-up times depend on a specific U-Boot / Linux configuration. The most obvious way to improve the boot-up time is to carefully fine-tune the build-time configuration of the uClinux kernel in order to remove features and capabilities that are not required by a specific application.
The Expansion Interface of the A2F-LNX-EVB board is documented in Board Support Package Guide for the Emcraft A2F-LNX-EVB board. This document is available from the Emcraft web site.
A reasonably powerful Linux configuration (shell, networking, Flash management / JFFS2 and more) would fit into under 2MB of Flash. Less if the boot is from a compressed image.
A very minimal Linux configuration would fit into 2 MBytes of RAM. For a reasonably powerful configuration we recommend at least 8MBytes of RAM.
This is not correct. You will have to obtain the Libero IDE and other FPGA tools directly from Microsemi.
Linux Cortex-M provides the standard synchronization APIs defined by POSIX, including full-fledged mutliprocessing and multithreading.
The Linux kernel provides "soft real-time response", which means that in most situations interrupt and task switching latencies are adequate, however in certain scenarios, infrequently, there can be surges in response times. This type of real-time behavior is not acceptable for "hard real-time applications", where not a single event can be missed, however it is quite adequate for many applications in which Cortex-M generally and SmartFusion in particular are used. There are certain projects that aim to improve the real-time response of the Linux kernel even further by applying patches that remove long interrupt lock-up times and generally improve the kernel pre-emptiness. Depending on demand from our customers, we may decide to add such patches to our distribution moving forward.
The ssh daemon included with Linux SmartFusion is implemented using the popular 'dropbear' package. It is a "standalone" application.
Please refer to the Linux Cortex-M User's Manual available from Emcraft's web site. It provides several snapshots of the boot-up console.
The absolutely minimal amount of RAM required by Linux is 2MB. It is impossible to run Linux just from the on-chip eNVM, without external RAM.
Libero IDE is used to set up various aspects of the SmartFusion operation, including configuration of the analog engine. Linux is used to control various hardware interfaces of SmartFusion at run time using appropriate device drivers. Note however that the Linux SmartFusion development environment is not integrated with the Libero IDE.
Emcraft’s Linux for Cortex-M provides a kernel build-time configuration option which allows to run various kernel sub-systems from the fast on-chip eNVM.
External Resources
|