Version: | 1.0.0I |
---|---|
Copyright: | (C)2016 Avnet Silica company |
Date: | 11 May 2015 |
Silica Louvre board is an useful product to evaluate the capabilities of NFC with NXP technology. The Louvre board doesn’t have any battery; when needed the power is supplied exclusively from the NFC antenna. The firmware provided will show the operation:
° Powerless Mode with two possible applications:
- Display will show a picture updatable via smartphone, see in Louvre Image Sender
- LPC11U37 firmware can be updated via smartphone, see in Louvre Firmware Update
° Power Mode:User interface will be displayed on e-paper when connected to USB (only as power source), see in Power Mode
- Showing sensor data
- (S1, S2, S3, S4) will show the last touched capacitive buttons
In this documentation we show step by step the features of the firmware and how debug it.
Note
If you want quickly see how the demos work, go here Quick Start Guide!
General Description
Contents:
In this page it is showed the unboxing of the Louvre and how to use the board with its software.
Warning
The applications have been tested with a nexus 5.
The product is supplied with the box like this:
And this is the content of box:
Note
The board itself has been programmed with the Bootloader Firmware and the Application Firmware.
The board can run two possible modalities:
In order to run the Power mode interface it is needed supply the board via a mini usb cable:
The powerless mode works with two different Android applications:
- Louvre Image Sender: it sends images to the Louvre and the board will show them.
- Louvre Firmware Update: it sends a newer Application Firmware to the Louvre board.
With this application :
Note
With this software a new Application Firmware is downloaded and programmed into the Louvre microcontroller, always getting energy only from the NFC. From this application it is possible also retrieve some tag settings.
Note
Now the board is programmed with a newer version of the Application Firmware. In order to have always the last application firmware, keep updated the Firmware Download Application via Google Play Store.
To develop on Louvre board are required:
The developement software used is LPCxpresso, we suggest to install at the least version 7.3. This application is freely downloadable from lpcware site. Go to lpcxpresso webpage Install the LPCxpresso following default procedure. In this guide the SDK is installed in the default path C:\nxp and we refer to this in our example. After the installation you need to register in order to activate the Free Edition of the LPCXpresso. Launch the SDK selecting as workspace folder C:\nxp\workspace.
Select from menu Help -> Activate -> Create serial number and register (Free Edition). Check the options Open in external browser and Copy Serial Number to clipboard then press Ok button.
From the website you need to register and insert the serial number. It will display your activation code.
The activation code must be inserted into the window-form selectionable from the menu Help -> Activate -> Activate (Free Edition)
If all is done correctly now you are able to deploy with the Free Edition LPCXpresso, permitting you to debug up to 256KB.
To get the last source of the firmware and bootloader, go to architechboards website. This site provides software and documentation needed to develop with the Louvre board. Save it in your bookmarks to be updated with the new releases. In the homepage select the Louvre board in the Products menu.
This is the software which permits to the Louvre to retrieve the images on the Louvre board via the Android application called Louvre Image Sender and run the Power Mode interface.
Import Application Project
You can import the project directly from the packed file downloaded before. In order to do this, press on Import Project:
Then browse and select the ArchiTech_Louvre_Firmware.zip file, click on next button:
Select all and click another time on next button:
Now you have the project loaded:
Project files will be moved under the workspace directory.
In order to download the firmware into Louvre board you have to:
1. Recompile the Louvre Firmware Update Android application with the firmware.hex file built previously. You can find the source project on github. To change the downloaded firmware, the file firmware.hex must be changed under the this folder.
Note
It is not possible debug the application due the relocation memory in order to be compatible with the bootloader firmware.
Firmware Details
All libreries code used is been imported directly into the project: i2c.c, ssp.c, gpio.c, timer.c and adc.c. The file adc.c is not used.The code for the e-paper is in the modules eink.c and fonts.c.The module driver.c is for manage temperature sensor, capacitive buttons and nfc protocol.To have more details, the source code is provided with comments.
This is the software which permits to the Louvre to retrieve a newer Application Firmware via the Android application called Louvre Firmware Update.
Import Bootloader Project
You can import the project directly from the packed file downloaded before. In order to do this, press on Import Project:
Then browse and select the ArchiTech_Louvre_Boot_Firmware.zip file, click on next button:
Select all and click another time on next button:
Now you have the project loaded:
Project files will be moved under the workspace directory.
Important
Once you have compiled the project you have the firmware.bin file outupt into debug folder. To upload it in the Louvre board you have two choice. The first, the easiest is with mini-USB cable:
The second choice is using the LPC-Link 1 or LPC-Link 2:
1. make sure that you have connected the LPC-Link to PC. Connect with a cable the J4 LPC-Link connector to the CN3 connector of the Louvre board. Here the connection scheme:
pin J4 | pin CN3 | Signal Names |
---|---|---|
3 | 2 | JTAG_TMS_SWDIO |
5 | 4 | JTAG_TCLK_SWCLK |
11 | 1 | JTAG_RESET |
15 | 3 | GND |
Note
LPC-Link 2 can draws a significative amount of current from the usb. The best solution is to connect LPC-Link 2 to a powered hub.
3. Connect LPC-Link 2 with the target with a cable the J4 LPC-Link connector to the CN3 connector of the Louvre board. Here the connection scheme:
pin J4 | pin CN3 | Signal Names |
---|---|---|
2 | 2 | JTAG_TMS_SWDIO |
4 | 4 | JTAG_TCLK_SWCLK |
10 | 1 | JTAG_RESET |
3 or 5 or 9 | 3 | GND |
Bootloader Details
The bootloader is the first program executed, located in the first two blocks of the flash memory (0x0000 - 0x1FFF) for a total size of 8K bytes. It controls the presence of a NFC segnal with a new valid application; if so, received data are written in flash. After, it calculates the validity of the CRC flash memory, if it is valid then copies the applicative interrupt vectors ram memory (0x10000000 - 0x100000bf) and launches it. If the application is not valid then it checks continuosly NFC signal waiting a new program to download.
Flash memory map:0000 00BF bootloader code vector table00C0 1FFB bootloader code1FFC 1FFF software versionRam memory map:0x10000000 0x100000BF applicative interrupt vectors table0x100000C0 bootloader/applicative ram memoryApplicative:Flash memory map:2000 2003 applicative checkusm (used by bootloader to verify the code)2004 2007 applicative lenght2008 200B applicative version200C 20BF applicative code vector table (will be copied in the ram memory)20C0 applicative codeRam memory map:0x10000000 0x100000BF applicative interrupt vectors table0x100000C0 ram memory
Important
The Louvre board demo is fitted with these devices:
To download the schematics please visit architechboards Louvre webpage.