Skip to content

[NuMaker] Add PFM-M453 and Migrate PFM-NUC472 Crypto #2861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 37 commits into from
Oct 12, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
69f4a20
Add NUC472 support for USBH
ccli8 Aug 3, 2016
8ba94e2
Remove sal-stack-lwip.a from IAR linker configuration file
ccli8 Aug 5, 2016
b954780
Support NUMAKER_PFM_M453
ccli8 Aug 9, 2016
537beb5
NUMAKER_PFM_M453 support for USB host
ccli8 Aug 11, 2016
aa4e880
Fix USB re-plugin not detected in NUMAKER_PFM_NUC472
ccli8 Aug 11, 2016
7fbd2b6
Integrate NUC472 DES/TDES accelerator
ccli8 Aug 19, 2016
1eabed0
Integrate NUC472 AES
cyliangtw Aug 23, 2016
c4605e5
Integrate NUC472 SHA accelerator
ccli8 Aug 25, 2016
2bcb1f7
Fix aes compile error with gcc
ccli8 Aug 25, 2016
0a966e7
Organize NUC472 crypto files
ccli8 Aug 25, 2016
591a54c
Integrate AES S/W algorithm for verifying NUC472 AES accelerator
ccli8 Aug 25, 2016
ab5996a
Support HW AES CBC block chain & AES CFB
cyliangtw Aug 26, 2016
be9e74b
Support block chain & partial block in HW AES CFB mode
cyliangtw Aug 29, 2016
f332ef7
Improve HW AES CFB mode performance for byte cnt non-word alignment
cyliangtw Aug 30, 2016
cf3d6e0
[NUC472] Fix SHA accelerator errors
ccli8 Aug 31, 2016
0ab2d44
[NUC472] Fix no wait for finish of SHA block process
ccli8 Sep 5, 2016
dee2f27
aes_alt support GCC
cyliangtw Sep 5, 2016
516efa3
[NUC472/M453] Fix greentea lp_ticker failed tests
ccli8 Sep 7, 2016
9b7642d
[NUC472/M453] Fix us_ticker/lp_ticker alarm error
ccli8 Sep 8, 2016
da15379
[NUC472/M453] Remove fix of lp_ticker wrap-around
ccli8 Sep 8, 2016
5044657
move aes ZI data into external SRAM for mbed client example
cyliangtw Sep 8, 2016
ef36f2f
[NUC472/M453] Refine us_ticker.c code
ccli8 Sep 9, 2016
107d633
[NUC472/M453] Disable GPIO IRQ debounce by default
ccli8 Sep 19, 2016
dfc3240
[NUC472/M453] Refine comment for two-region model
ccli8 Sep 19, 2016
a9d65e4
[NUC472] Fix warnings generated by armcc
ccli8 Sep 19, 2016
21e8c5b
[M453] Fix warnings generated by armcc
ccli8 Sep 19, 2016
82ef4ef
remove warnings
cyliangtw Sep 19, 2016
a1b383a
support mesh in GCC tool chain
cyliangtw Sep 20, 2016
11c05af
support mesh in IAR tool chain
cyliangtw Sep 20, 2016
c629eba
Fix warnings in aes_alt
cyliangtw Sep 29, 2016
c2b9089
[NUC472] Fix buffer overflow in BSP SD driver
ccli8 Oct 5, 2016
1c1257d
EMAC buffer address word alignment
cyliangtw Oct 5, 2016
c75d54c
[NUC472] Fix pin definition error regarding SD, I2C, and SPI
ccli8 Oct 6, 2016
1f2f4e3
[NUC472/M453] Move files to match ARM mbed's restructure
ccli8 Oct 7, 2016
6683032
[NUC472] Fix SD pinmaps are not extern'ed
ccli8 Oct 7, 2016
7ba4d8f
[M453] Add device_name into targets.json
ccli8 Oct 7, 2016
15dbd36
[M453] Move files to match ARM mbed's restructure
ccli8 Oct 11, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include "nuc472_eth.h"
#include "lwip/opt.h"
#include "lwip/def.h"

#include "toolchain.h"

#define ETH_TRIGGER_RX() do{EMAC->RXST = 0;}while(0)
#define ETH_TRIGGER_TX() do{EMAC->TXST = 0;}while(0)
Expand All @@ -33,6 +33,7 @@
#define ETH_DISABLE_TX() do{EMAC->CTL &= ~EMAC_CTL_TXON;}while(0)
#define ETH_DISABLE_RX() do{EMAC->CTL &= ~EMAC_CTL_RXON;}while(0)

/*
#ifdef __ICCARM__
#pragma data_alignment=4
struct eth_descriptor rx_desc[RX_DESCRIPTOR_NUM];
Expand All @@ -41,13 +42,18 @@ struct eth_descriptor tx_desc[TX_DESCRIPTOR_NUM];
struct eth_descriptor rx_desc[RX_DESCRIPTOR_NUM] __attribute__ ((aligned(4)));
struct eth_descriptor tx_desc[TX_DESCRIPTOR_NUM] __attribute__ ((aligned(4)));
#endif
*/
struct eth_descriptor rx_desc[RX_DESCRIPTOR_NUM] MBED_ALIGN(4);
struct eth_descriptor tx_desc[TX_DESCRIPTOR_NUM] MBED_ALIGN(4);

struct eth_descriptor volatile *cur_tx_desc_ptr, *cur_rx_desc_ptr, *fin_tx_desc_ptr;

u8_t rx_buf[RX_DESCRIPTOR_NUM][PACKET_BUFFER_SIZE];
u8_t tx_buf[TX_DESCRIPTOR_NUM][PACKET_BUFFER_SIZE];
u8_t rx_buf[RX_DESCRIPTOR_NUM][PACKET_BUFFER_SIZE] MBED_ALIGN(4);
u8_t tx_buf[TX_DESCRIPTOR_NUM][PACKET_BUFFER_SIZE] MBED_ALIGN(4);

extern void ethernetif_input(u16_t len, u8_t *buf, u32_t s, u32_t ns);
extern void ethernetif_loopback_input(struct pbuf *p);
extern void ack_emac_rx_isr(void);

// PTP source clock is 84MHz (Real chip using PLL). Each tick is 11.90ns
// Assume we want to set each tick to 100ns.
Expand Down Expand Up @@ -256,7 +262,6 @@ unsigned int m_status;

void EMAC_RX_IRQHandler(void)
{
unsigned int cur_entry, status;

m_status = EMAC->INTSTS & 0xFFFF;
EMAC->INTSTS = m_status;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ struct netif *_netif;

unsigned char my_mac_addr[6] = {0x02, 0x00, 0xac, 0x55, 0x66, 0x77};
extern u8_t my_mac_addr[6];
extern int ETH_link_ok(void);
extern void EMAC_RX_Action(void);

sys_sem_t RxReadySem; /**< RX packet ready semaphore */

Expand Down Expand Up @@ -421,7 +423,7 @@ err_t
/* Packet receive task */

err = sys_sem_new(&RxReadySem, 0);
LWIP_ASSERT("RxReadySem creation error", (err == ERR_OK));
if(err != ERR_OK) LWIP_ASSERT("RxReadySem creation error", (err == ERR_OK));
// In GCC code, DEFAULT_THREAD_STACKSIZE 512 bytes is not enough for rx_task
#if defined (__GNUC__)
// mbed OS 2.0, DEFAULT_THREAD_STACKSIZE*3
Expand Down Expand Up @@ -482,10 +484,10 @@ typedef struct {

static void __phy_task(void *data) {
struct netif *netif = (struct netif*)data;
PHY_STATE crt_state = {STATE_UNKNOWN, (phy_speed_t)STATE_UNKNOWN, (phy_duplex_t)STATE_UNKNOWN};
PHY_STATE prev_state;
// PHY_STATE crt_state = {STATE_UNKNOWN, (phy_speed_t)STATE_UNKNOWN, (phy_duplex_t)STATE_UNKNOWN};
// PHY_STATE prev_state;

prev_state = crt_state;
// prev_state = crt_state;
while (1) {
// Get current status
// Get the actual PHY link speed
Expand Down
Loading