SLCD Technical Note TN-100. Programming the SLCD bitmap / macro flash memory in an embedded system

Similar documents
Technical Specification. Third Party Control Protocol. AV Revolution

GNetPlus Communication Protocol

CTT MODBUS-RTU COMMUNICATION PROTOCOL TEMPERATURE MONITOR DEVICE

RS-232 Control of the Advantage EQ281/8, EQ282/8 and Advantage SMS200

ECE331 Homework 4. Due Monday, August 13, 2018 (via Moodle)

CSCI 2212: Intermediate Programming / C Chapter 15

A Discussion on Atmel Lock Byte and Firmware Protection Frank Armstrong June 2013

深圳市鼎泰克电子有限公司. Zigbee Module User Guide. Shenzhen DTK Electronics Co., Ltd V5.7. Shenzhen DTK Electronics CO., LTD. Zigbee Module User Guide DRF Series

Technical Information. Command overview of Vision Systems

Verve IPAC Plug-in Wireless AC Module. Software Setup 3. DolphinView Software 3. Preparations 4 Transmit LINK Signals 4.

UPB US1-40 Single Rocker Wall Switch with Dimmer Firmware Specification

Interface Card, Interface Box, Datalogger & Interface. Bedienungsanleitung. Kommunikationsprotokoll. Operating Instructions. Communications protocol

imetos LoRa Data payload structure

DRPC100-OLED UART PROTOCOL SPECIFICATION

Zigbee Module User Guide

SRF02 Ultrasonic range finder Technical Specification

PRE32 RS232 protocol v1.21 Tomas Andersson

The FAT File System. 1. FAT Overview. 2. Boot Sector, FAT, Root Directory, and Files The FAT F 䤀耄 le System

Input Channels: 4 differential or four single-ended. Address / Baud rate / range configurable by the user

Serial Communication Control Interface User s Manual

UPB US2-40 Series Quad Rocker Wall Switch with Dimmer Firmware Specification

Device: MOD This document Version: 1.0. Matches module version: v1. Date: 24 February Description: MP3 Audio Module

CS 4400 Fall 2018 Midterm Exam 2 Practice (Version 2)

Modbus/TCP is supported on some controllers. See QCI-AN028 Modbus TCP.

Graphical LCD Display Datasheet EB

13 Extended OAM for EPON

RS-232 Control of the Advantage DRI

CLOCKAUDIO. MR88 Automatic Microphone Mixer RS232 Programming Version 4.2

Serial Boot Loader For CC2538 SoC

THANK YOU. Control System Communication Protocol Manual RackLink. Monitor Control Alert Report Analyze. Thank you for purchasing a RackLink product.

App Note Application Note: State-Driven Control of a dpasp using a Microchip PIC.

PROTOCOL TRANSPORTS 4 RS232 SPECIFICATIONS 4 RS232 CABLING 4 TCP/IP 4 PROTOCOL DOCUMENT NOTES 4 COMMUNICATION 4

Venstar Thermostat Adapter

Control Codes. Viewing control state (Get control command) Controlling (Set control command) Command. No. Command type Command Value range

DMTME Multimeters. Communication protocol. Technical specification V1.2 ABB

Keywords: CRC, CRC-7, cyclic redundancy check, industrial output, PLC, programmable logic controller, C code, CRC generation, microprocessor, switch

Application Note: JN-AN-1003 JN51xx Boot Loader Operation

ECE251: Intro to Microprocessors Name: Solutions Mid Term Exam October 4, 2018

PRELIMINARY DESCRIPTION

Titan Dot Matrix Display (A05)

Picture Translation A Challenge

Computer Organization & Systems Exam I Example Questions

1 SETTING UP GENERAL FUNCTION TYPE PROTOCOL MESSAGES COMMAND RETURN CODES... 6 TRANSACTION EXAMPLES...

MTR-4. C8 Command to MODBUS Bridge User Manual F-1, No. 631, Chung Der Road, Sec 1, Taichung Taiwan.

The Extended MBR (version 1.05) (dated: 01 Nov 2018) by Benjamin David Lunt Copyright (c) Forever Young Software

PRELIMINARY DESCRIPTION. (*)Coil (Hex) 0x00A1 0x00A2 0x00A3

SCYLAR INT 7. Communication description. Software Version 01

COMMUNICATION M-BUS PROTOCOL CE4DMID0M (MBus meter)

Rotel RS232 Serial Bus Communication

ENCM 369 Winter 2016 Lab 11 for the Week of April 4

variable 1. Start of Packet - is used to provide synchronization when parsing packets. Always 0xFC

SHARKY BR773. Communication Description. Software Version 28

Aeroflex Colorado Springs Application Note

Dell 7609WU RS232 Protocol Document

Table of Contents. Cisco Xmodem Console Download Procedure Using ROMmon

Futaba MDM166A display

DL-LN3X Series 2.4G Ad-hoc Network Wireless Communication Module

C1098 JPEG Module User Manual

Dual-axis Electronic Digital Magnetic Compass Module User s Guide

AFRecorder 4800R Serial Port Programming Interface Description For Software Version 9.5 (Last Revision )

INGICS. ibs01 Payload Format. Jul, 2016 rev. 3

OPTIGRID MOTORIZATION USB HID CLASS INTERFACE INSTRUCTION. Approved by:... Steve Mounnarat, Director of Engineering

variable 1. Start of Packet - is used to provide synchronization when parsing packets. Always 0xFC

NATIONAL CONTROL DEVICES Fusion ProXR Advanced Quick Start Guide

C628 Enhanced JPEG Module. User Manual

Kinetis Bootloader to Update Multiple Devices in a Field Bus Network

MCW Application Notes 24 th February 2017

11/10/2016. Review the Problem to Be Solved. ECE 120: Introduction to Computing. What Shall We Keep in the Registers? Where Are the Pieces in Memory?

1. Introduction Related Documents Binary Format Command Set Overview Common Commands...

Dell S500/S500wi RS232 Protocol Document

Application Note. Introduction AN2471/D 3/2003. PC Master Software Communication Protocol Specification

Solutions - Homework 2 (Due date: October 4 5:30 pm) Presentation and clarity are very important! Show your procedure!

Understanding FAT12. Introduction to Computer Forensics. Kessler/Schirling

SXH Protocol by Spinel Version 3.0 Date:

Modbus Protocol Guide for ZP2 Series Control Panels

DRF1605H Zigbee Module 1.6km Transfer CC2530 Wireless Module UART to Zigbee

UNH-IOL MIPI Alliance Test Program

SIMCom_3G_CSD_Application Note_V1.00

SC1602LC 16x2 Large Characters RS232 LCD Module. User s Manual. Large Viewing Area 99mm x 24mm. Large Character Size. 4.84mm x 9.66mm.

Chapter 2: Secret Key

Lab 7 Linux Debugging. EECS 448: Software Engineering I Mark Calnon October 17, 2011

The Ensoniq EPS/EPS16+/ASR-10 Bank Format

HT32 Series In-System / In-Application Programmer User Manual

University of Texas at El Paso Electrical and Computer Engineering Department

LanBox LCX Reference Chart Version 3.04

The Roboteq Modbus Implementation User Manual

SC2004MBS 20x4 Characters MODBUS RTU Slave LCD

Baseboard Management Controller Messages

INSTEON Hidden Door Sensor

About the Motherboard and Daughtercard EEPROM on USRP Devices

Microcontroller Systems. ELET 3232 Topic 8: Structures, Arrays, & Pointers

[MS-WFDAA]: Intellectual Property Rights Notice for Open Specifications Documentation

USB-BASED 8-CHANNEL DATA ACQUISITION MODULE

Boot Loader. Bootloader

Next Generation Intelligent LCDs

POWERLINC PROGRAMMING MANUAL v1.2a

Memory, Data, & Addressing II CSE 351 Spring

ECE251: Tuesday September 18

MODEL TDAI-2170 INTEGRATED AMPLIFIER EXTERNAL CONTROL MANUAL

Quick Talking to ControlLogix (PCCC-style)

Transcription:

SLCD Technical Note TN-100 Programming the SLCD bitmap / macro flash memory in an embedded system December 3, 2004 Copyright Reach Technology Inc. 2004 All Rights Reserved Reach Technology, Inc. sales@reachtech.com (503) 675-6464 SLCD Technical Note TN-100 December 3, 2004 Page 1

1. Introduction The SLCD controller contains user programmable flash memory that stores bitmaps and macros for the Graphical User Interface (GUI). This is referred to as external flash since the SLCD microcontroller itself contains flash memory. Reach provides the Microsoft Windows program BMPload.exe to download bitmaps and macro files into this memory via the SLCD serial port. Once deployed in an embedded system, there needs to be a mechanism to update the installed bitmaps and macros. This technical note describes the protocol necessary to program the SLCD external flash memory. The BMPload program version 1.5.4 and above allows the user to either update the SLCD flash or save the equivalent memory data to a binary file. This file can be used by the embedded host processor to update the SLCD external flash. Note that the external flash memory needs a specially formatted version of the macro and bitmap files. This formatting is performed by the BMPload program. Partial updating or in-place modification not supported. The flash must be cleared and have the complete binary file written to it for correct operation. The sequence of commands necessary to program the external flash is as follows: 1. Erase external flash 2. Enter special programming mode 3. Send programming data with escape codes inserted as needed 4. Exit special programming mode This note assumes the reader is familiar with the SLCD Controller Manual, the general SLCD serial command syntax and operation, and C programming language data representation. SLCD Technical Note TN-100 December 3, 2004 Page 2

2. Protocol 2.1. Erase External Flash The external flash memory must be erased before new data can be programmed. The erase command is SLCD software version dependent. For software version 2.1.1 and above, the command is as follows. There is a delay between the first response string and the second while the memory is erased. This delay is typically 11 seconds; there is no maximum specified by the part manufacturer but it would be safe to assume a maximum of 22 seconds. Command: xmc 0xFEEB<return> First Response: Erasing chip...<return> Second Response (if chip erase successful): Erased chip <return> Second Response (if chip erase fails): Erased failed <return> SLCD Technical Note TN-100 December 3, 2004 Page 3

2.2. Enter External Flash Programming Mode The flash is programmed on a byte-by-byte basis. A programming mode supporting a special protocol is used to allow binary programming within the standard SLCD command structure. The programming mode is entered by the xmp command. Note that the command allows programming to start at any address in flash, however you must start at address 0 (see example) for correct operation. Command: xmp <hiaddr><loaddr><debug><return> Arguments: <hiaddr> = C style 4 hex digit number, e.g. 0x0000 <loaddr> = C style 4 hex digit number, e.g. 0x0000 programming starts at the 32 bit address (hiaddr<<16) loaddr <debug> = 0 do not provide debug messages = 1 provide debug messaged Successful Response: Failure Response: (if programming address illegal) ><return> Example: xmp 0x0000 0x0000 0<return> SLCD Technical Note TN-100 December 3, 2004 Page 4

2.3. Sending data Once the special programming mode has been entered as indicated by the prompt, the binary data is sent in a sequence of data packets. Each packet contains one or more binary data bytes followed by a <return>. An escape code is used for control and compatibility with the basic SLCD protocol. The mapping of raw binary data to escape code sequence is as follows: Character to be sent C style Escape sequence (2 bytes) Escape sequence, C style 0x20 0x20 0x20 0x00 \0 0x20 0x30 0 0x0A \n 0x20 0x4E N 0x0D \r 0x20 0x52 R 0x08 \b 0x20 0x42 B (exit programming mode) 0x20 0x51 Q As the binary data is received the flash memory address to be written next is automatically incremented. The <return> at the end of each packet is not written to the memory. If more data is sent than there is room in the memory, the failure response will be sent to the host. Data packet example: (9 bytes total) 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08<return> Successful Response: Failure Response: <return>cannot write past end of external memory!<return> SLCD Technical Note TN-100 December 3, 2004 Page 5

2.4. Exiting Programming mode To exit programming mode, send the 2 byte escape code Q (space followed by the letter Q) equivalent to hex 0x20 0x51 followed by <return>. 2.5. External memory size query A command is available to determine the size of the external memory in bytes. This can be useful to prevent programming overrun or to determine the memory size when several OEM size options are offered. Note 1K = 1024 bytes, so 512K is 524,288 bytes Command: xma<return> Response: (for units with 512K external flash) 524288<return> SLCD Technical Note TN-100 December 3, 2004 Page 6

3. Example The example presented here is the serial data exchange between the Host and the SLCD needed to write the file TN-100.bin into external flash. This is the binary file produced by BMPload Version 1.5.4 with a single bitmap 01_check.bmp and the macro file TN-100.mac. These files are available in the TN-100.zip file associated with this Technical Note. In this example, the host sends 64 bytes of binary data at a time to the SLCD. Due to the escape code insertion, the actual number of bytes sent per packet is greater than 64. The file TN-100.bin contains 218 bytes of the following data (in hex): EB FE 02 00 03 16 00 10 00 01 00 00 00 01 37 00 10 00 A3 00 00 00 01 1D 00 10 00 03 00 7A 00 66 20 32 34 42 00 74 20 22 48 65 6C 6C 6F 22 20 31 30 30 20 31 30 30 00 20 00 20 00 04 00 01 00 5A 00 10 00 4B 00 10 00 00 00 00 00 02 00 00 52 00 10 00 00 00 00 00 FF FF FF 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FC 00 00 3F FC 00 00 3F FC FF FF 3F FC FF FD 3F FC FF F3 3F FC FF E7 3F FC FF CF 3F FC FF 9F 3F FC E7 1F 3F FC C2 3F 3F FC 80 3F 3F FC C0 7F 3F FC E0 7F 3F FC F0 FF 3F FC F8 FF 3F FC FD FF 3F FC FF FF 3F FC FF FF 3F FC 00 00 3F FC 00 00 3F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF SLCD Technical Note TN-100 December 3, 2004 Page 7

The serial data exchange used to program this file is as follows: Host Sends: <return> xmc 0xFEEB<return> xmp 0x0 0x0 0<return> 0xEB 0xFE 0x02 0x20 0x30 0x03 0x16 0x20 0x30 0x10 0x20 0x30 0x01 0x20 0x30 0x20 0x30 0x20 0x30 0x01 0x37 0x20 0x30 0x10 0x20 0x30 0xA3 0x20 0x30 0x20 0x30 0x20 0x30 0x01 0x1D 0x20 0x30 0x10 0x20 0x30 0x03 0x20 0x30 0x7A 0x20 0x30 0x66 0x20 0x20 0x32 0x34 0x42 0x20 0x30 0x74 0x20 0x20 0x22 0x48 0x65 0x6C 0x6C 0x6F 0x22 0x20 0x20 0x31 0x30 0x30 0x20 0x20 0x31 0x30 0x30 0x20 0x30 0x20 0x20 0x20 0x30 0x20 0x20 0x20 0x30 0x04 0x20 0x30 0x01 0x20 0x30 0x5A<return> 0x20 0x30 0x10 0x20 0x30 0x4B 0x20 0x30 0x10 0x20 0x30 0x20 0x30 0x20 0x30 0x20 0x30 0x20 0x30 0x02 0x20 0x30 0x20 0x30 0x52 0x20 0x30 0x10 0x20 0x30 0x20 0x30 0x20 0x30 0x20 0x30 0x20 0x30 0xFF 0xFF 0xFF 0x20 0x30 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFC 0x20 0x30 0x20 0x30 0x3F 0xFC 0x20 0x30 0x20 0x30 0x3F 0xFC 0xFF 0xFF 0x3F 0xFC 0xFF<return> 0xFD 0x3F 0xFC 0xFF 0xF3 0x3F 0xFC 0xFF 0xE7 0x3F 0xFC 0xFF 0xCF 0x3F 0xFC 0xFF 0x9F 0x3F 0xFC 0xE7 0x1F 0x3F 0xFC 0xC2 0x3F 0x3F 0xFC 0x80 0x3F 0x3F 0xFC 0xC0 0x7F 0x3F 0xFC 0xE0 0x7F 0x3F 0xFC 0xF0 0xFF 0x3F 0xFC 0xF8 0xFF 0x3F 0xFC 0xFD 0xFF 0x3F 0xFC 0xFF 0xFF 0x3F 0xFC 0xFF 0xFF 0x3F 0xFC 0x20 0x30 0x20 0x30 0x3F 0xFC 0x20 0x30<return> 0x20 0x30 0x3F 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF<return> #20#51<return> SLCD Sends: ><return> Erasing chip...<return> Erased chip <return> <return> ><return> SLCD Technical Note TN-100 December 3, 2004 Page 8