C언어에는 printf 와 같은 I/O를 핸들하기 위한 많은 라이브러리가 있습니다.
이를 TrueStudio와 같은 임베디드 플랫폼에서 사용하기 위해서는 함수 설정(리다이렉트, redirect)을 해주어야 합니다.
TrueStudio에서는 아래의 설정에 의해 syscalls.c 파일에서 I/O 리다이렉트 시킵니다.
syscalls.c 파일이 없다면, 아래와 같이 syscalls.c를 생성합니다.
프로젝트 오른쪽 클릭 -> 새로 만들기 -> 기타 ->System calls -> Minimal System Calls Implementations
그러면 아래와 같이 파일 트리에 syscalls.c 가 생성됩니다.
그 후 main.c에 아래와 같은 코드를 넣어주어야 합니다.
* HAL Library사용
int _write(int file, char *ptr, int len){ HAL_UART_Transmit(&huart1, (uint8_t*)ptr, len, 100); return (len); } |
여기서 huart1은 사용하는 usart 인터페이스 변수를 넣으면 됩니다.
반응형
'MCU > TrueStudio' 카테고리의 다른 글
TrueStudio에서 STM32CubeIDE로 넘어가세요! (0) | 2020.05.18 |
---|---|
[TrueStudio] 자동 줄 맞춤 (0) | 2019.02.17 |
[TrueStudio] 빌드 후 TrueStudio에서 실행(Run)하기 (0) | 2019.02.10 |
[TrueStudio] Dead Code 지우기, malloc을 위한 힙 영역 설정하기 (0) | 2019.02.09 |
[TrueStudio]컴파일러 최적화(Optimization) 설정 (0) | 2019.02.09 |
[TrueStudio].hex 파일이 생성되도록 빌드하기 (0) | 2019.02.09 |
[TrueStudio]병렬 빌드(Parallel Build) (0) | 2019.02.09 |
[TrueStudio]printf에 %f 사용하기 (4) | 2019.02.03 |