458
edits
As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com. |
Changes
Change header levels
== Hardware Cryptography ==
- Hardware support for ECB, CTR, CBC, and OFB AES modes
- DMA interface to SRAM, shared with Hash engine
- Support for SHA-1, SHA-256, SHA-512
- DMA interface to SRAM, shared with AES engine
- Hardware support for RSA and Elliptic Curve public key algorithms
- Microcoded support for standard public key algorithms
- True Random Number Generator
The firmware provided with Chipwhisperer (or its own repo) is designed to work with the [http://www.mikroe.com/mikroc/arm MikroC PRO for ARM IDE]. This IDE supports the many peripherals of the CEC1702, including the hardware security features and comes with extensive libraries and example code. The board layout has been designed to be compatible with many of the provided examples, while some others can be easily modified to work with the CW308T-CEC1702. After the binaries have been created, they can either be loaded into SPI Flash or directly into RAM via JTAG.
The following notes may prove useful when using mikroC PRO examples or creating your own:
* Any example which uses UART1 needs to be changed to use UART0 by changing the UART1_* functions to UART0_*.
* There are no GPIO library functions to write or read from pins. Instead, use GPIO_OUTPUT_xxx_xxx.Bn/GPIO_INPUT_xxx_xxx.Bn for bit n of pin range xxx-xxx.
'''Project > Edit Project'''
The CEC1702 supports loading code in two ways: from external flash memory into RAM and directly into RAM over JTAG.
The [http://ww1.microchip.com/downloads/en/DeviceDoc/20005262C.pdf SST26VF016B] flash chip on the target board can be programmed by an SPI programmer attached to the SPI pins of the CW308. To program the chip, the nRST chip must be pulled to ground by holding the nRST button down or by connecting a jumper to J8 on the CW308. Additionally, the SDIC pin must be driven high during the programming process the enable communication through a buffer chip.
|}
In addition to the SPI flash method, the CEC1702 can be temporarily (until power off) programmed using a JTAG debugger. This has been tested using Ozone V2.56d with a j-Trace Pro from Segger. The mikroC PRO IDE also supports programming and debugging using the Segger.
Load the image binary on to the flash chip and verify that the write was performed. If verification fails, ensure the nRST pin was held low for the entirety of the erase/write/verify cycle. If verification still fails, refer to the data sheet and your programming software manual to make sure the necessary command codes were sent in the appropriate order.
If you programmed the device via SPI flash, remove the nRST jumper/release the nRST button and disconnect the 3.3V source from PDIC. If you loaded your code from JTAG, hit go on your debugging software.