TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (405 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (133 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (141703 times)
  2. FAT32 Library (74779 times)
  3. Network Ethernet Library (59221 times)
  4. USB Device Library (49226 times)
  5. Network WiFi Library (44999 times)
  6. FT800 Library (44536 times)
  7. GSM click (31203 times)
  8. mikroSDK (30104 times)
  9. microSD click (27586 times)
  10. PID Library (27543 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

Secure 6 click

Rating:

0

Author: MIKROE

Last Updated: 2019-08-15

Package Version: 1.0.0.0

mikroSDK Library: 1.0.0.0

Category: Encryption

Downloaded: 502 times

Not followed.

License: MIT license  

Secure 6 Click includes the ATSHA204A, a secure CryptoAuthentication device from Microchip, which is equipped with an EEPROM array which can be used for storing of up to 16 keys, certificates, consumption logging, security configurations and other types of secure data.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "Secure 6 click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "Secure 6 click" changes.

Do you want to report abuse regarding "Secure 6 click".

  • Information
  • Comments (0)
DOWNLOAD LINK RELATED COMPILER CONTAINS
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc

mikroSDK Library Blog

Secure 6 Click

Secure 6 Click

Native view of the Secure 6 Click board.

View full image
Secure 6 Click

Secure 6 Click

Front and back view of the Secure 6 Click board.

View full image

Library Description

The library demonstrates the operation of the software single wire interface implementation.

Key functions:

  • int8_t secureswi_init(T_SECURESWI_DIRSET inSet, T_SECURESWI_DIRSET outSet) - Initialize the SWI interface and pass the pin direction setting functions.
  • void secureswi_sendBytes(uint8_t len,uint8_t *stBuf) - Encode data buffer and send the data to the SWI bus.
  • void secureswi_receiveBytes(uint8_t len,uint8_t *stBuf) - Receive and decode data from the SWI bus.

Examples description

The application is composed of three sections :

  • System Initialization - Initialize the GPIO sturcture and configure the serial port for logging data.
  • Application Initialization - Initialize the driver and configure swi for communication.
  • Application Task - Data is read from the secure chip. If the readout is successful the data is then printed on the serial port in the hex format.
void applicationTask()
{
     uint8_t bufferOut[128];

     cfg_atsha204a_swi_default.iface_type  = ATCA_SWI_IFACE;
     cfg_atsha204a_swi_default.devtype     = ATSHA204A;
     cfg_atsha204a_swi_default.atcaswi.bus = 1;
     cfg_atsha204a_swi_default.wake_delay  = 2560;
     cfg_atsha204a_swi_default.rx_retries  = 10;

     atcab_init(&cfg_atsha204a_swi_default);

     mikrobus_logWrite("Starting test",_LOG_LINE);

     memset(bufferOut,0,127);

     if (atcab_read_serial_number(bufferOut) == ATCA_SUCCESS)
     {
         mikrobus_logWrite("rn Serial number: ",_LOG_LINE);
         secureswi_printHex(bufferOut,9);
     }
     else
     {
         mikrobus_logWrite("rn Reading serial number failed...",_LOG_LINE);
         secureswi_printHex(bufferOut,sizeof(bufferOut));
     }

     Delay_ms (1500);
     memset (bufferOut, 0x00, 128);
     if (atcab_read_config_zone(bufferOut) == ATCA_SUCCESS)
     {
        mikrobus_logWrite("rnrn First 32 bytes of device configuration: ",_LOG_LINE);
        secureswi_printHex(bufferOut,32);
     }
     else
     {
        mikrobus_logWrite("rnrn Reading config zone failed...",_LOG_LINE);
        secureswi_printHex(bufferOut,sizeof(bufferOut));
     }

     while(1)
     {

     }
}

Other mikroE Libraries used in the example:

  • Conversions
  • C_String
  • UART

Additional notes and informations

Depending on the development board you are using, you may need USB UART clickUSB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.

ALSO FROM THIS AUTHOR

OSD click

0

This is a sample program which demonstrates the use of OSD click. Program shows the time and date in corners of the screen and enable you to set the time and date, using the OSD menu.

[Learn More]

Load Cell 3 Click

0

Load Cell 3 Click is a compact add-on board that represents a weigh scale solution. This board features the PGA302, a low-drift, low-noise, programmable signal-conditioner device designed for various resistive bridge-sensing applications from Texas Instruments. It creates 2.5V of bridge excitation and a current output source with programmable current output up to 1mA. Two identical analog front-end (AFE) channels followed by a 16-bit Sigma-Delta ADC are available at the input, where each AFE channel has a dedicated programmable gain amplifier with gain up to 200V/V. It also comes with an on-chip temperature sensor and integrated EEPROM memory for device configuration, calibration, and user data.

[Learn More]

GNSS RTK Click

0

GNSS RTK Click is a compact add-on board used to enhance the precision of position data derived from satellite-based positioning systems. This board features the ZED-F9P, a multi-band GNSS module with integrated multi-band Real Time Kinematics (RTK) technology offering centimeter-level accuracy from U-blox. This module concurrently uses GNSS signals from all four GNSS constellations (GPS, GLONASS, Galileo, and BeiDou), and provides multi-band RTK with fast convergence times, reliable performance, and easy integration. It also includes moving base support, allowing both base and rover to move while computing a centimeter-level accurate position between them.

[Learn More]