Tutorial: Running ERIKA on Mico32 and FPG-EYE
From ErikaWiki
Contents |
Introduction
This tutorial shows how to compile and program the webserver_camera demo application on the FPG-EYE bord (the one that is pre-loaded on the board).
To begin with this tutorial: install Mico32/FPG-EYE development environment, get a local copy of ERIKA Enterprise repository and then follow the Tutorial: Building a Mico32 platform for FPG-EYE.
Below mentioned paths are all relative paths of the local ERIKA Enterprise repository.
Create Mico32 Library for fpg_eye_mico32 platform
After importing fpg_eye_mico32 platform in LatticeMico System software, switch to C/C++ Perspective. Right click to open the C/C++ Project View and select New->Mico32 Library Project command:
Make sure to select the correct target hardware by selecting ee\examples\mico32\demo\platforms\fpg_eye_isplever\msb\soc\fpg_eye_mico32.msb if you are using ispLever tools else ee\examples\mico32\demo\platforms\fpg_eye_diamond\msb\soc\fpg_eye_mico32.msb if are using Diamond tools. To compile the fpg_eye_mico32 demo without making any changes to the project files, select the follow directory as library location ee\trunk\ee\examples\mico32\demo\platforms\fpg_eye_isplever\library (if you use ispLever tools) while ee\trunk\ee\examples\mico32\demo\platforms\fpg_eye_diamond\library (if you use Diamond tools)
and fpg_eye_mico32 as project name:
Build the brand new project:
Create webserver_camera demo project
Create a Mico32 Standard Make C Project in ee\examples\mico32\demo\sw_projects\webserver_camera directory, and build it.
Please note that lm32-elf-objdump may fail with a segmentation fault. You can run make output/out.elf (where output is the output folder) instead of make all to avoid the execution of the objdump step.
Program the flash with send_prog.py bootloader script
Before flashing the application with send_prog.py bootloader client script, you need to connect the FPG-EYE board with a serial cable too you computer. Use serial-to-usb coverter if required:
After connecting the board with serial cable, get the send_prog.py script from FPG-EYE Software Packet and copy it in a directory under your cygwin environment path. Open a cygwin shell in webserver_camera project directory output and execute the following command:
send_prog.py --flash /dev/comX out.elf
Note: Change the comX value to that of your actual com port value.
When the script is launched, it is not synchronized with the bootloader, and it should look like:
To synchronize the script with the bootloader, hold down Button 1 and push the reset button.
The application is saved on FPG_EYE external flash as shown below, and the bootloader is ready to read and copy it in XP2 ram.
Test webserver_camera demo application
Connect Ethernet cable to the FPG-EYE board. The webserver_camera demo has ethernet address to 192.168.0.2. Change your local net address to the same subnet of the FPG-EYE board.
Open a web browser window and type in the address bar http://192.168.0.2:
Test demo_camera application
In the Erika repository you can find a application called demo_camera more simpler than web_camera. The demo uses the camera and the uart serial port without the ethernet interface. Its location, in the Erika repository, is as follows: /ee/examples/mico32/demo/sw_projects/demo_camera. To use this demo you have to follow the same steps described above about web_camera application. The picture than you can downloading is in 640x480 b/w format. Once the program has been launched via bootloader, open HyperTerminal connection with 115200 bps, 8N1 (on the right serial port on your pc). Now a communications with the application is now possible. The program asks you if you want download the picture:
Now click on Text acquired... in the Transfer menu voice.
Now please select the place, in your file system, where you want storage the camera picture. Important: the file extension must be PMG!!! (something like this: <file_name>.pmg).
After press any key on the keyboard, the picture downloading starts:
At end of the downloading you can close the Text acquired..., and then with a program graphics open the picture (GIMP in this case):
If you're using Linux you not have available the program HyperTerminal. In this case you can use another good program called minicom. Minicom is a text-based modem control so, maybe, it's a bit more complicate to use than HyperTerminal. Minicom starts with the follow shell command (sudo minicom):
After entering the password (evidence), minicom is ready to accept commands:
With Ctrl-Z and Z you to enter in the Minicom menu configuration menu configuration. Here you can select the name of the serial-com, the bit-rate, the name of the file where the data will be storage, etc.