Keil Logo

Technical Support

On-Line Manuals

RL-ARM User's Guide (MDK v4)

RL-RTX RL-FlashFS RL-TCPnet TCP Socket Opening TCP Connection TCP Active Open TCP Passive Open Sending TCP Data Example for Sending Data Multiple TCP Connections UDP Socket Opening UDP Connection Sending UDP Data When DHCP Enabled When ARP Cache Empty Example for Sending Data IP Multicasting Multiple UDP Connections Configuring RL-TCPnet Static Configuration System Definitions Ethernet Network Interface PPP Network Interface SLIP Network Interface UDP Socket TCP Socket BSD Socket HTTP Server Telnet Server TFTP Server TFTP Client FTP Server FTP Client DNS Client SMTP Client SNMP Agent SNTP Client Error Function Runtime Configuration Library Files Using RL-TCPnet Stand Alone With RTX Kernel Event Driven Operation IP Address Assignment Ethernet Interface PPP Interface SLIP Interface Localhost Applications HTTP Server Script Language CGI Functions Ajax Support Using XML XML Example How it works SOAP Support SOAP Interface Large POST Messages Web Pages Default Page Error Pages Web on SD Card Web Update File System Interface Http Caching How it works Internal Web External Web Multi-user Authentication Using RAM File System FCARM File Converter PRINT Directive NOPRINT Directive PAGEWIDTH Directive PAGELENGTH Directive ROOT Directive Telnet Server Command Line Interface Multi-user Authentication Sending Reply Message Short Reply Long Reply Continuous Screen Update TFTP Server File System Interface TFTP Client File System Interface FTP Server File System Interface Multi-user Authentication Supported Commands FTP Client File System Interface SMTP Client SNMP Agent MIB Database MIB Interface MIB Entry MIB Table DNS Resolver Starting DNS Device Drivers Ethernet Driver Interrupt Mode Modem Driver Serial Driver Using Serial Link Cable Connection Modem Connection Windows Dial-up Add Direct Serial Link New Dial-up Connection Configure PPP Dial-up Configure SLIP Dial-up Debugging Enabling Debug Debug Level Redirecting Output Function Overview BSD Routines CGI Routines Ethernet Routines FTP Routines HTTP Routines IGMP Routines Miscellaneous Routines Modem Routines PPP Routines Serial Routines SLIP Routines SMTP Routines SNMP Routines System Functions TCP Routines Telnet Routines TFTP Routines UDP Routines RL-CAN RL-USB Example Programs Library Reference Appendix

FCARM File Converter

This file converter reformats all web files into a single C-file which is then included and compiled into the project. All files are stored in the Virtual ROM File System.

FCARM is invoked from the command line and has the syntax:

FCARM @commandfile

Where

commandfile is the name of a command file that can contain an inputlist, outputfile, and directives. (See below.)

or

FCARM <{>inputlist<}> <{> TO outputfile<}> <{>directives<}>

Where

inputlist a comma-separated list of files. The files get converted into one output file. Filenames must be specified with the file extension, but without the path information.
outputfile name of the output C-file containing the converted web files.
directives commands and parameters that control the operation of the file converter.

Available directives:

Directive Description
PRINT Specify the name of the listing file. Default is the base name of the output C-file with the extension *.LST.
NOPRINT Disables generation of the listing (LST) file.
PAGEWIDTH Specifies the number of characters on a line in the listing file.
PAGELENGTH Specifies the number of lines on a page in the listing file.
ROOT Specifies the root path where web files are located relative to the project directory path.

In addition to the output file, FCARM generates a listing file with the base name of the output file and the extension *.LST.

Optimization

FCARM integrates a file optimization algorithm to compress files and creates more compact and smaller executable images. FCARM decides on the file extension which kind of compression is used. Each file group has a different compression and optimization flavor.

When the filename has the tilde prefix (for example, ~doStuff.js) then compression or certain compression optimizations are disabled. This is useful when debugging a file. It is hard to trace code compacted to a single line with no spaces, no comments, and no line feeds.

Compression and optimization is performed in two iterations. In a 2nd pass, further optimization is performed resulting in better code density.

Group Extension Optimization ~Optimization (disabled)
HTML html
htm
inc
HTML compression
Performs the following optimizations:
  • replaces tab characters with spaces
  • removes line-termination CR-LF characters
  • replaces multiple spaces with a single space
  • removes leading and trailing spaces
  • removes space between two html tags (for example, "<ul> <li>")
no compression
CGI cgi
cgx
CGI compression
Optimizes scripts for maximum performance on TCPnet web server:
  • checks the script syntax
  • replaces T,C,I,# script commands with tokens
  • replaces tab characters with spaces
  • removes line-termination CR-LF characters
  • removes multiple spaces
  • removes comments from script lines
  • groups small t-commands
white space removal but without grouping of small t-commands
CSS css CSS compression
Parses and removes redundant information:
  • replaces multiple spaces with a single space
  • removes line-termination CR-LF characters
  • replaces tab characters with spaces
  • removes "/*" and "//" style comments
  • removes redundant spaces inserted in the 1st step
  • removes spaces nearby a delimiter: :;{}
no optimization
JS js JS compression
Parses and removes redundant information:
  • replaces tab characters with spaces
  • replaces multiple spaces with a single space
  • removes line-termination CR-LF characters
  • removes "/*" and "//" style comments
  • removes redundant spaces inserted in the 1st step
  • removes spaces nearby a delimiter: .,:;=!+-*/&|<>(){}"?
no optimization
others .* not affected not affected

Examples

The following command line converts and optimizes index.htm, creates the output C-file index.c, and creates the listing file index.lst.

FCARM index.htm

The following command line converts and optimizes a list of files, creates the output C-file web.c, and creates the listing file web.lst.

FCARM index.htm, keil.gif, llblue.jpg, system.cgi TO web.c

The following command line converts and optimizes a list of files, creates the output C-file web.c, and suppresses the creation of the listing file (nopr - directive). The files are located in the sub-folder Web_Files.

FCARM index.htm, keil.gif, llblue.jpg, system.cgi TO web.c nopr root(Web_Files)

The following command line converts and optimizes a list of files, creates the output C-file web.c, and creates the listing file web.lst. The file doStuff.js is excluded from optimization.

FCARM index.htm, keil.gif, llblue.jpg, system.cgi, ~doStuff.js TO web.c

The following command line uses a command file.

FCARM @FCARM_command_file
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.