Fabriqué en France Drapeau français

stm32 fsmc 예제

이 은행은 특별히 우리의 장치를 위해 설계되었기 때문에 두 예에서 우리는 은행 1 (0x6000000에서 0x6FFFFFFFFFF)에만 관심이 있습니다. 첫 번째 예에서 Olimex-P407 보드에 SRAM의 칩 선택은 NE1에 연결되어 있으므로 우리의 메모리는 0x6000000에서 시작됩니다. 마지막으로 BCRx 비트는 고려해야 합니다. 예제에서는 FSMC_BCR2_MWID_0을 사용하여 16비트 데이터 너비를 허용하고 두 RAM 예제모두 이 데이터 너비를 지원합니다. FSMC_BCR2_WREN을 설정하여 쓰기 액세스를 활성화하고 은행 자체는 FSMC_BCR1_MBKEN으로 활성화됩니다. 첫 번째 예제에서는 RAM을 하위 은행 1에 연결하고 FSMC_Bank1→BTCR[0]과 FSMC_Bank1→BTCR[1]으로 구성합니다. 두 번째 예에서는 RAM을 구성하기 위해 FSMC_Bank1→BTCR[2]과 FSMC_Bank1→BTCR[3]이 필요합니다. 이 자습서에서는 ChibiOS/RT 2.6.2를 실행하는 두 가지 예제를 살펴보겠습니다. 예제 2에서 1MBYRAM(IS66WV51216BLL)을 예로 들어 보겠습니다. AN2784에서 우리는 만족해야 할 3 방정식을 얻을 : 두 번째 예에서 LCD는 은행 1 하위 은행 1 (0x60000000h)에 매핑되고 우리는 SRAM (FSMC_NE2에서 칩 사용 및 기본 0x64000000h에서 해결)에 대한 하위 뱅크 2를 사용합니다. Olimex P407 보드 (예 1)에 대한 작업 FSMC 초기화는 다음과 같이 보일 것입니다 :이 예는 일반적인 경우에 대한 가이드로 제공되며, 모든 크기의 SRAM및 필요한 인터페이스를 제공하는 STM32F 컨트롤러와 함께 작동합니다.

이 컨트롤러 패밀리의 하위 집합만 이 인터페이스를 구현합니다. FSMC 주변 장치를 추가하면 추가 메모리를 사용할 수 있습니다. 예를 들어, 보드의 내장 된 외부 SRAM 칩과 인터페이스메이플 네이티브에 사용됩니다. 그러나, 이 여분의 메모리 비용에 온다: FSMC 는 GPIOs의 상당히 많은 수를 사용. 초기화 코드에서 먼저 display_fsmc_setup()을 호출하고 SRAM_fsmc_setup()에 대한 호출로 따릅니다. LCD FSMC 설정은 μGFX에서 가져온 것입니다. 그러나 타이밍이 체크 아웃하더라도 초기화 코드에서 RAM 정신 확인을 하고 표준 부팅 절차의 일부로 유지해야 합니다: 클럭은 ~ 54MHz이지만 최대 클럭은 HCLK/2 = 168/2=84MHz입니다. 이. 힙에서 할당할 수 있는 최대 크기는 실제 힙 크기보다 작습니다.

MENU