123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #include "k24f_hal.h"
- #include <stdio.h>
- #include "fsl_uart.h"
- #include "fsl_gpio.h"
- #include "fsl_port.h"
- #include "fsl_clock.h"
- #include "clock_config.h"
- #include "fsl_mmcau.h"
- #include "fsl_rnga.h"
- #include <stdint.h>
- static uint32_t AES_KEY_SCH[44];
- void platform_init(void)
- {
- BOARD_BootClockRUN();
- RNGA_Init(RNG);
- RNGA_SetMode(RNG, kRNGA_ModeNormal);
- }
- void init_uart(void)
- {
- uart_config_t config;
- CLOCK_EnableClock(kCLOCK_PortE); //enable port e clock
- CLOCK_EnableClock(kCLOCK_Uart1); //enable UART clock
- port_pin_config_t uart_pins = {
- .pullSelect = kPORT_PullUp,
- .slewRate = kPORT_FastSlewRate,
- .passiveFilterEnable = kPORT_PassiveFilterDisable,
- .driveStrength = kPORT_LowDriveStrength,
- .mux = kPORT_MuxAlt3
- };
- PORT_SetPinConfig(PORTE, 1, &uart_pins);
- PORT_SetPinConfig(PORTE, 0, &uart_pins);
- UART_GetDefaultConfig(&config);
- config.baudRate_Bps = 38400u;
- config.rxFifoWatermark = 0;
- config.enableTx = true;
- config.enableRx = true;
- volatile uint32_t uartclock = CLOCK_GetFreq(UART1_CLK_SRC);
- UART_Init(UART1, &config, uartclock);
- }
- void trigger_setup(void)
- {
- PORT_SetPinMux(PORTE, 3, kPORT_MuxAsGpio);
- gpio_pin_config_t trigconf = {
- kGPIO_DigitalOutput, 0
- };
- GPIO_PinInit(GPIOE, 3, &trigconf);
- GPIO_WritePinOutput(GPIOE, 3, 0);
- }
- void trigger_high(void)
- {
- GPIO_WritePinOutput(GPIOE, 3, 1);
- }
- void trigger_low(void)
- {
- GPIO_WritePinOutput(GPIOE, 3, 0);
- }
- char getch(void)
- {
- char c;
- UART_ReadBlocking(UART1, &c, 1);
- return c;
- }
- void putch(char c)
- {
- UART_WriteBlocking(UART1, &c, 1);
- }
- uint32_t get_rand(void)
- {
- uint32_t value;
- RNGA_GetRandomData(RNG, &value, sizeof(value));
- return value;
- }
- //nothing needed?
- void HW_AES128_Init(void)
- {
- }
- void HW_AES128_LoadKey(uint8_t* key)
- {
- MMCAU_AES_SetKey(key, 16, AES_KEY_SCH);
- }
- void HW_AES128_Enc(uint8_t* pt)
- {
- MMCAU_AES_EncryptEcb(pt, AES_KEY_SCH, 10, pt);
- }
- void HW_AES128_Dec(uint8_t *pt)
- {
- MMCAU_AES_DecryptEcb(pt, AES_KEY_SCH, 10, pt);
- }
- void HW_AES128_Enc_pretrigger(uint8_t* pt){;}
- void HW_AES128_Enc_posttrigger(uint8_t* pt){;}
|