Graphics PICtail™ Plus boards and PIC24FJ256DA210 Development Boards features flash memories. These are useful resources to store images, fonts and application data running on the mentioned demos. The following manual describes how these memories can be programmed.

 

All programming are initiated through a PC utility (memory_programmer.jar) provided with the Graphics Library Demos. You can find this utility in this path of your Microchip Application Libraries installation path:

..\<Installed Directory >\Microchip\Graphics\bin\memory_programmer

 

The hex files are generated by the “Graphics Resource Converter” located in:

..\ <Installed Directory> \Microchip\Graphics\bin\grc

 

Where: Installed Directory – is the directory where Microchip Application Libraries is installed (this includes the installation of the Graphics Library).

The demo projects that include flash programming are created to run on supported Microchip Demo Boards and development hardware. Pre-generated hex files are available on the "Precompiled Demos" sub-directory found in the demo directory. These hex files are generated using the alternative hardware profiles found in the sub-directory named "Alternative Configurations". Use the "Demo Compatibility Matrix" when running pre-generated hex files appropriate for your hardware. 

This programmer allows downloading Intel Hex file into memory installed on selected hardware.  Refer to the memory_programmer help file for details on the programmer utility operation. Instructions on how to install drivers for USB Device programming mode can also be found on this help file.

The figure below shows the possible combination of your hardware that requires programming. Depending on the hardware selected, the programming sequence will be the same but the required user interface (such as button press) may be different. Please refer to the different configurations below for details.

 

Configuration 1: PIC24FJ256DA210 Development Board. 1

Configuration 1: Troubleshooting. 1

Configuration 2: Explorer 16. 1

Configuration 2: Troubleshooting. 2

Configurations 3, 4, 5, and 6. 2

 

 

 

Configuration 1: PIC24FJ256DA210 Development Board

There are two flash memories on this board. The following steps sets up the Parallel or the SPI flash memory for programming and usage.

1)     To use SPI Flash

a.  Set jumper (JP23) to PMCS2-SPI

2)     To use Parallel Flash

a.  Set jumper (JP23) to PMCS2-PARALLEL

b.  Depending on the memory range to be used

·         set jumper (JP11) to 1-2 when using 17 PMP address lines (PMP[16:0])

·         set jumper (JP11) to 2-3 when using 18 PMP address lines (PMP[17:0])

 

Note: Firmware must also initialize the EPMP SFRs to use the address lines. Please refer to EPMP FRM Chapter (DS39730a) for details.

 

3)     To program (using Serial Communications)

a.  Program the PIC24FJ256DA210 with the application hex code that contains the programming routine.

b.   Connect the PIC24FJ256DA210 Development Board to the PC with a RS232 cable.

c.   With the PIC24FJ256DA210 Development Board powered up, hold down button S2.

d.   While holding button S2, push down and release button S4 (MCLR) to erase the data in flash memory then release the S2 button. This will put the application in programming mode.

 

 

e.  Run “memory_programmer.jar” on the PC side.

f.  Follow the steps described in the memory_programmer help files to program external memory (“External Memory Programmer Help.pdf” or “External Memory Programmer Help.chm”).

 

 

4)     To program (using USB Communications)

a.  Program the PIC24FJ256DA210 with the application hex code that contains the programming routine.

b.  Enable the USB Device port by setting jumper (JP7) to short.

c.   Connect the PIC24FJ256DA210 Development Board to the PC with a USB cable on J2.

d.   With the PIC24FJ256DA210 Development Board powered up, hold down button S2.

e.   While holding button S2, push down and release button S4 (MCLR) to erase the data in flash memory then release the S2 button. This will put the application in programming mode.

 

Configuration 1: Troubleshooting

In some cases, programming will fail due varied reasons.

1)     Only 1 line is transferred and the number of retries reaches the maximum. Check if the jumper (JP23) is setting the chip select to the correct flash memory.

2)     When programming the parallel flash it always fails on a specific line number. Check jumper (JP11) if set to use 17 or 18 EPMP address lines.

3)     “Programming Failed” message always appears. Check if the correct COM port is selected. This can be verified by looking at the Windows “Device Manager”. Verify the COM port under the “Ports (COM & LPT)”.

4)      

Configuration 2: Explorer 16

The explorer 16 can be connected to the following boards:

·         Graphics LCD Controller PICtail™ Plus SSD1926 Board (AC164127-5)

·         Graphics LCD Controller PICtail™ Plus S1D13517 Board (AC164127-7)

·         Low Cost Controllerless (LCC) Graphics PICtail™ Plus  Board (AC164144)

 

Programming the SPI Memory of the Graphics PICtail boards connected to Explorer 16 is possible through the UART connector P1.

 

1)     For each Graphics PICtail:

a.     Graphics LCD Controller PICtail™ Plus SSD1926 Board ->  Set jumper (JP3) to FLASH CS-RD1 to select SPI flash.

b.    Graphics LCD Controller PICtail™ Plus S1D13517 Board -> Set jumpers (JP3, JP4, JP5 and JP6) to 1-2 for SPI channel 1 or 2-3 for SPI channels 2 for the SPI flash connection.

c.     Low Cost Controllerless (LCC) Graphics PICtail™ Plus  Board -> SPI Flash is always connected no jumper settings required.

 

2)     To program (using Serial Communications)

a.     Program the selected PIC device (PIM mounted on the Explorer 6 board) with the application hex code that contains the programming routine.

b.    Connect the Explorer 16 Board PC with a RS232 cable.

c.     Connect the Graphics LCD Controller PICtail™ Plus SSD1926 Board or Graphics PICtail™ Plus Daughter Board to the Explorer 16 Board using the J9 edge connector.

d.    With the Explorer 16 Board powered up, hold down button S6.

e.     While holding button S6 push down and release button S1 (MCLR) to erase the data in flash memory then release the S1 button. This will put the application in programming mode.

 

 

f.  Follow the steps described in the memory_programmer help files to program external memory (“External Memory Programmer Help.pdf” or “External Memory Programmer Help.chm”).

 

Configuration 2: Troubleshooting

In some cases, programming will fail due varied reasons.

1.     Only 1 line is transferred and the number of retries reaches the maximum. If using Graphics LCD Controller PICtail™ Plus SSD1926 Board, check if the jumper (JP3) is using the correct SPI flash memory chip select signal.

2.     When using Graphics PICtail™ Plus Daughter Board, programming the parallel flash it always fails on a specific line number. Check the address lines of the parallel flash. One or more address lines may not be connected to the parallel flash properly.

3.     “Programming Failed” message always appears. Check if the correct COM port is selected. This can be verified by looking at the Windows “Device Manager”. Verify the COM port under the “Ports (COM & LPT)”.

 

Configurations 3, 4, 5, and 6

            Configuration 3: Graphics LCD Controller PICtail™ Plus SSD1926 Board (AC164127-5)

            Configuration 4: Graphics LCD Controller PICtail™ Plus S1D13517 Board (AC164127-7)

            Configuration 5: Low Cost Controllerless (LCC) Graphics PICtail™ Plus  Board (AC164144)

            Configuration 6: Multimedia Expansion Board (DM320005)

 

Programming the SPI Memory of the Graphics PICtail boards connected to Starter Kits are only possible through the USB ports.

Only Starter Kits that USB features can be used.

PIC32 USB Starter Kit II (DM320003-2)

PIC32 Ethernet Starter Kit (DM320004)

 

Refer to each demo for details on how to enable the external flash programming mode.

Follow the steps described in the memory_programmer help files to program external memory using the USB mode (“External Memory Programmer Help.pdf” or “External Memory Programmer Help.chm”).