Skip to content

Commit d3b7a07

Browse files
committed
M467: Support CAN bus
1. Update BSP CANFD driver 2. Notes for implementation (1) Each CANFD instance supports two IRQ lines. Use only line 0. Line 1 is not used. (2) For Rx disabling multiple filter handles, 1) Map all filter handles to filter handle 0 2) Use Rx FIFO 0 for filter handle 0 (3) For Rx enabling multiple filter handles, 1) Use Rx FIFO 0 for filter handle 0 2) Use Rx FIFO 1 for filter handle through first invoking can_filter() 3) Use dedicated Rx Buffer for other filter handles NOTE: H/W supports mask on Rx FIFO 0/1 but not on dedicated Rx Buffer. (4) For Tx, use only dedicated Tx Buffer. BSP CANFD driver doesn't support Tx FIFO/Queue. (5) Support no CAN FD.
1 parent 975dfcf commit d3b7a07

File tree

7 files changed

+1357
-312
lines changed

7 files changed

+1357
-312
lines changed

targets/TARGET_NUVOTON/TARGET_M460/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ target_sources(mbed-m460
1313
INTERFACE
1414
analogin_api.c
1515
analogout_api.c
16+
can_api.c
1617

1718
crypto/crypto-misc.cpp
1819

targets/TARGET_NUVOTON/TARGET_M460/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Nuvoton M460 series
22

3+
## CAN
4+
5+
Current CAN HAL implementation has the following characteristics:
6+
7+
1. By default, filter handle 0 is configured to accept all messages as requested.
8+
1. Support only single filter handle semantics, that is, filter handle 0.
9+
The `handle` argument passed to `can_filter()` or `can_read()` is ignored.
10+
All filter related operations are done on filter handle 0.
11+
312
## HyperRAM
413

514
HyperRAM, via Hyper Bus Interface Controller (HBI), is mapped to two regions: `0x0A00_0000``0x0BFF_FFFF` and `0x8000_0000``0x81FF_FFFF`, through which CPU can direct access.

0 commit comments

Comments
 (0)