---
title: "Stm32 계열 레지스터 접근문제"
url: "https://maker.wiznet.io/forum/9726"
markdown_url: "https://maker.wiznet.io/forum/9726/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "wellup0704"
created: "2013-12-07T01:35:32+09:00"
last_activity: "2017-05-04T08:31:05+09:00"
language: "ko"
views: 3354
replies: 2
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# Stm32 계열 레지스터 접근문제

## Question

Asked by wellup0704 on 2013-12-07 in Ethernet Chips.

현재 Coretex M3 : STM32L1 시리즈를 이용해서 개발중인데요 FSMC를 이용한 레지스터접근에 문제가 있어서 문의드립니다. 16bit 데이터버스를 사용하여 접근하려고 하거든요. 연결상태는 아래와 같습니다. W5300 D[0:15] ---- FSMC Data bus D[0:15] W5300 A[0:9] ---- FSMC Address bus A[0:9] W5300 WR ---- FSMC NWE W5300 RD ---- FSMC NOE W5300 CS ---- FSMC NE W5300 BIT16EN ---- High W5300 RESET ---- GPIO IN W5300 TESTMODE ---- GND 문제는 아래와 같습니다. 예를들어 예제코드 기준으로 W5300의 SHAR에 MAC 주소를 적기위해 (uint16) (SHAR) = 0x0123; (uint16) (SHAR2) = 0x4567; (uint16) (SHAR4) = 0x89AB; 를 차례대로 수행하게되면 레지스터 메모리값이 아래와같은 순서로 바뀌게됩니다. 마치 주소번지의 0, 1비트가 Don’t care 인것처럼 동작하는데 무엇이 문제일까요? 혹 설정이 잘못됐다던가. FSMC 설정할때 주의할것이 있다면 알려주십시오. 감사합니다. 아. 참고로 RESET을 하고나면 [MR : 0x000] : 0xB800 이되는데 또한 [IR : 0x002] : 0xB800으로 같이 바뀌어있습니다. 0x000, 0x002 이것도 0, 1비트가 Don’t care인것처럼 동작해서 그런건지 참고해주십시오. [SHAR : 0x008] : 0x0123; [SHAR2 : 0x00A] : 0x0123; [SHAR4 : 0x00C] : 0x0000; [Reserv : 0x00E] : 0x0000; [SHAR : 0x008] : 0x4567; [SHAR2 : 0x00A] : 0x4567; [SHAR4 : 0x00C] : 0x0000; [Reserv : 0x00E] : 0x0000; [SHAR : 0x008] : 0x4567; [SHAR2 : 0x00A] : 0x4567; [SHAR4 : 0x00C] : 0x89AB; [Reserv : 0x00E] : 0x89AB;

## Replies

### Reply 1 by wellup0704, 2013-12-09

STM32L1 FSMC는
8bit 단위 ADDRESS ACCESS가 가능하며
16bit 데이터버스를 사용합니다.

WIZNET에 W5300이 아니더라도 유사 칩에서 FSMC를 이용하여 16bit ACCESS한
펌웨어 소스가 있다면 공유해주시면 활용하고 싶습니다. (wellup0704@naver.com)

### Reply 2 by jybae1210, 2013-12-09

W5300의 16bit/8bit address 관련해서 헷갈릴 소지가 있게 설명이 되어 있습니다.
ST의 STM32F와 STM32L1의 경우 FSCMC에서 16bit로 설정하게 되면, 외부 A(0)가 A(1)으로 자동으로 내부적으로 바뀌게 됩니다.
귀하께서 설계한 pin map을 보면 FSMC와 W5300에서 8bit로 변경해야 사용이 가능할거 같습니다.
16bit로 사용할려면 MCU의 A(0)을 W5300의 A(1)으로 연결해서 사용해야 됩니다. Databus는 16bit로 그대로 두고 단지 설정만 변경하시면…
참고가 되었으면 합니다.

---

Source: https://maker.wiznet.io/forum/9726
