etherforth_logo

Utilities module

This module provides some debug and development utilities as well as access to CS signal (allowing selection between the onboard SPI flash memory and MMC), and RESET line and synchronous serial line to the target chip.

node 700 node 600 node 500 node 400 node 300 node 106 utilities module floorplan

Description

Utilities module combines several functions. It allows control of CS line, which selects SPI devices between the onboard serial flash memory and MMC card. It is controlled via an ether message sent to node 600. This message is sent from node 704 of MMC module when the onboard flash is no longer needed. Another external line is RESET signal to the target chip, which is controlled via an ether message to node 500. This node takes care of RESET active level duration itself. The message is issued by Loader module.

Node 600 also receives requests from Interpreter to show content of a target node's RAM and its stack. The ether message bears a path to the target node to be inspected, and starts execution of code in nodes 600 and 700, which reads the target node's memory and stack via SERDES line. The data received back are formated in node 500, and sent via another ether message to node 106, which can store them as text in block 001. When all data has been "printed", node 500 sends yet another message to node 208 to display block 001.

The printing capability of this module can be used for applications too. Node 300 runs code that listens to the synchronous serial line from the target node, and sends whatever it receives to node 400. This node defines several words that allow the application to open a link to node 106 (via node 500), print whatever information it likes, close the link, and call code in node 500 that refreshes the content of video buffer with the updated block 001. As this process can be repeated as many times as needed, an appliction can continuously send a stream of data that are periodically displayed on screen.