요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
1
What: /sys/devices/platform/at91_can/net/<iface>/mb0_id
2
Date: January 2011
3
KernelVersion: 2.6.38
4
Contact: Marc Kleine-Budde <[email protected]>
5
Description:
6
Value representing the can_id of mailbox 0.
8
Default: 0x7ff (standard frame)
10
Due to a chip bug (errata 50.2.6.3 & 50.3.5.3 in
11
"AT91SAM9263 Preliminary 6249H-ATARM-27-Jul-09") the
12
contents of mailbox 0 may be send under certain
13
conditions (even if disabled or in rx mode).
15
The workaround in the errata suggests not to use the
16
mailbox and load it with an unused identifier.
18
In order to use an extended can_id add the
19
CAN_EFF_FLAG (0x80000000U) to the can_id. Example:
21
- standard id 0x7ff::
23
echo 0x7ff > /sys/class/net/can0/mb0_id
25
- extended id 0x1fffffff::
27
echo 0x9fffffff > /sys/class/net/can0/mb0_id
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
AT91 CAN mailbox sysfs ABI: mb0 id
1-27| 항목 | 한국어 전문 번역 |
|---|---|
| What | /sys/devices/platform/at91_can/net/<iface>/mb0_id |
| Date | 2011년 1월 |
| KernelVersion | 2.6.38 |
| Contact | Marc Kleine-Budde <[email protected]> |
| Description | `/sys/devices/platform/at91_can/net/<iface>/mb0_id`는 mailbox 0의 `can_id`를 나타냅니다. Default는 standard frame identifier `0x7ff`입니다. Chip bug인 `AT91SAM9263 Preliminary 6249H-ATARM-27-Jul-09`의 errata `50.2.6.3` 및 `50.3.5.3` 때문에 mailbox 0이 disable 상태이거나 receive mode여도 특정 조건에서 contents를 send할 수 있습니다. Errata의 workaround는 mailbox를 사용하지 않고 unused identifier를 load하는 것입니다. Extended `can_id`를 사용하려면 `CAN_EFF_FLAG`(`0x80000000U`)를 `can_id`에 더합니다. Standard ID `0x7ff`는 `echo 0x7ff > /sys/class/net/can0/mb0_id`, extended ID `0x1fffffff`는 flag를 포함한 `echo 0x9fffffff > /sys/class/net/can0/mb0_id`로 설정합니다. |
Erratum 50.2.6.3 / 50.3.5.3→Mailbox 0 may transmit unexpectedly→Do not use mailbox 0→Load an unused identifier
Extended CAN ID→Add CAN_EFF_FLAG 0x80000000U→Write flagged can_id
Disabled 또는 RX mailbox가 예기치 않게 전송될 수 있는 silicon bug를 identifier 선택으로 완화합니다.
echo 0x7ff > /sys/class/net/can0/mb0_id
echo 0x9fffffff > /sys/class/net/can0/mb0_id
Mailbox 0 erratum workaround
sysfs-platform-at91:1-27오동작으로 전송될 수 있는 mailbox 0에 unused identifier를 넣고 extended ID에는 CAN_EFF_FLAG를 명시적으로 합칩니다.