inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

FreeRTOS 프로그래밍

포팅 완벽 가이드-내가 가진 뉴클레오보드로 강의 따라가기

[문의]STM32F Chip 내부의 Flash의 종류는?

1274

chucky2
2

안녕하세요.

RTOS , ARM 관련 교육 수강시 ST사에서 나온 STM32F Serise 마이크로콘트롤러를 사용하는데,

해당 마이크로콘트롤러 내부의 Flash에 Image가 프로그램되어 동작하는 것으로 알고 있습니다. SRAM과 Flash가 들어 있는 것으로 보이는데 해당 Flash는 Nor-Flash인가요 아니면 Nand-Flash 인가요?

운영체제 임베디드 FreeRTOS

답변 1

0

홍영기

안녕하세요. chucky2님!

질문하신 STM32 MCU 에는 3가지 종류의 메모리가 탑재되어 있습니다

(1)NOR FLASH : 사용자가 이용하는 플래시 메모리입니다

(2)SRAM : 사용자가 이용하는 RAM 메모리입니다

(3)SYSTEM MEMORY : MCU 제조사가 칩 부팅을 위해 프로그램을 넣어놓은 부팅용 메모리입니다. 소자는 NOR FLASH 를 이용하였을 것으로 추정됩니다.

0

chucky2

강사님 안녕하세요. 답변 감사합니다.

nor flash가 탑재되었군요.

아래 플로우를 좀 세부적으로 알고싶습니다.

pc(cubeide에서 생성한 axf 파일)에서 생성한 이미지 파일이 어떤 절차를 거쳐서 보드의 플래시에 download되고 수행되는 건가요?

회로도 상으로는 pc와 usb i/f를 통해 bd의 st-link로 연결되고, st-link는 uart i/f를 통해서 stm32 controller와 연결된 듯 보입니다.

st-link의 fw 및 stm32 system memory의 fw 가 연동해서 nor flash에 프로그램한 후, 재 부팅하는 것으로 추정되는데... 세부적인 내용을 알고 싶습니다.

플래쉬에는 axf가 아닌 bin파일로 프로그램 할 것 같고, st-link에는 tarce32 같은 jtag 디버거 기능도 있는 것 같고, ... 모든게 모호한 데 정확한 절차 좀 알려주세요.

 

0

홍영기

질문하신 부분에 대하여는 죄송하게도 제가 깊이있는 학습이 되어있지는 않습니다.

그래서, 약간의 검색과 고민을 통해 정보를 전달합니다. 설명에 오류가 있을 수도 있는 점을 고려하시어 제 글은 참고로만 이용해 주시길 바랍니다.

여기서부터는 STLINK 에 대한 설명입니다.

ST-LINK/V2-1(STLINK)은 STM32 Nucleo 보드용 회로 내 디버거프로그래머입니다.

  1. STMicroelectronics STM32F103 마이크로컨트롤러 장치(MCU)를 기반으로 합니다.

  2. 직렬 와이어 디버그(SWD) 인터페이스를 통해 STM32 Nucleo 보드와 통신하고 Nucleo의 MCU에 디버깅 및 프로그래밍 기능을 제공합니다.

  3. Nucleo 보드와 PC 사이에 브리지를 제공하여 개발자가 Nucleo에서 애플리케이션을 프로그래밍, 디버그 및 테스트할 수 있도록 합니다.

  4. 실행 중 펌웨어의 실시간 디버깅은 물론 Nucleo의 MCU에 대한 펌웨어 로딩을 지원합니다. 또한 대량 생산 환경에서 사용되는 것과 같은 맞춤형 회로 내 프로그래밍 솔루션 생성을 지원합니다.

  5. STM32 Nucleo 보드 사용자를 위한 저렴하고 사용하기 쉬운 솔루션을 제공하여 컴팩트하고 다양한 디버깅 및 프로그래밍 솔루션을 제공합니다.

  6. STLINK의 펌웨어는 업그레이드가 가능하여 사용자가 새로운 기능과 버그 수정을 이용할 수 있습니다.

 

뉴클레오 보드 매뉴얼 10페이지 중간 보시면 다음과 같이 설명하고 있습니다.

image

위 데이터북들의 정보를 종합해보면 다음과 같이 동작하는 것으로 추정됩니다.

  • STLINK 인터페이스는 디버깅과 플래시 프로그래밍 이 두 가지 핵심기능을 갖는다

  • 보드내 TARGET 메인 MCU 내의 플래시 메모리는 STLINK 로 FLASHING 된다.

  • 사용자가 원한다면 STLINK 을 통하지 않고 MCU 내장 부트로더 작동에 의하여도 프로그래밍 할 수 있다.

  • FLASH MEMORY 에 기록하는데 사용되는 파일은 AXF 파일을 이용할 가능성이 높긴 하지만 이는 확정적이진 않습니다.(둘다 다 가능하기 때문입니다)

  • STLINK 내부 STM32F103 과 메인 MCU 와의 UART 통신은 컴퓨터와의 Virtual COM 포트 구현을 위해 사용한다.

도움이 되셨길 바랍니다.

0

chucky2

감사합니다.

stlink가 trace32같은 jtag debugger 였군요.

swd 방식으로 mcu와 연결되어, 디버깅 및 mcu내부의 플래시 프로그램이 가능했던거네요.

stlink도 stm32f103을 사용하는군요. stm32f103의 fw가 usb host인 pc와 데이터 통신을 위한 usb device 및 debugger 기능을 수행하나봅니다.

저도 좀 찾아보고 추가로 알게되면 공유드리죠.

개발자 후배로서 질문이있습니다.

0

158

1

안녕하세요..

1

188

1

해당 강의 수강시 cnn으로 활용가능한 영역 , fpga가속기 설계강의 추가 수강에 대해

1

306

1

선생님 조언 부탁드립니다.

0

241

0

임베디드 세부전공(랩실관련) 고민이 있습니다.

1

385

1

대학원 관련 질문

1

405

1

vivado 설치 오류

1

339

1

FPGA로 ADC구동

1

429

1

블로그 기록

0

359

1

개인적 질문

1

370

1

전자책

0

383

1

안녕하세요 혼자 열심히 공부하고 있는데 질문이 있습니다.

0

369

1