본문 바로가기

목록

(199)
MCU의 메모리 및 SRAM 구조 메모리 구조 1. C 컴파일러 C 컴파일러는 메모리 영역을 4개의 Segment로 나누어 사용한다. 1) Code Segment 작성한 코드가 저장되는 영역 2) Data Segment Static 변수 및 전역변수가 저장되는 영역 ※ Reset 후에 각 Segment 영역을 설정한 뒤 Flash Memory에 있는 변수를 SRAM에 복사하는 방식으로 동작한다. 3) Heap Segment 동적 메모리가 할당되는 영역 4) Stack Segment 함수에 선언된 지역변수 또는 매개변수들이 저장되며, 서브 루틴 또는 인터럽트 서비스 루틴들이 Call 되었을 때 돌아가야 할 주소들을 저장하는 영역 ※ 프로그램이 Booting 될 때 가장 먼저 Stack 영역부터 형성한다. 서브 루틴: 반복되어 사용하는 것을..
STM32CubeIDE 설치방법 1. STM32 CUBE IDE 검색 https://www.st.com/en/development-tools/stm32cubeide.html STM32CubeIDE - STMicroelectronics STM32CubeIDE - Integrated Development Environment for STM32, STM32CubeIDE-RPM, STM32CubeIDE-Lnx, STM32CubeIDE-Win, STM32CubeIDE-DEB, STM32CubeIDE-Mac, STMicroelectronics www.st.com 2. 환경에 맞는 Software 선택 후 Get lastest를 누른다. 3. 프로그램을 설치할 폴더(programs)를 만든다. 4. 다운받은 실행파일을 실행한다. 5. 3번에서 만든..
I2C 통신 라인에 Pull-up저항을 붙이는 이유 결론부터 말하면 I2C 통신라인에 Pull-up저항을 붙이는 이유는 I2C 통신은 GPIO 출력모드 중 Open-drain 출력모드로 구성되어 있기 때문이다. GPIO의 출력모드는 대표적으로 Push-pull과 Open-drain이 있으며 자세한 내용은 아래와 같다. 1. Push-pull 1) 동작원리 위 그림처럼 Push-pull은 두 개의 트랜지스터로 이루어져있다. GPIO를 HIGH로 설정하면 G1(Gate1)에 전류가 흐르면서 3.3V가 OUTPUT으로 나오고, GPIO를 LOW로 설정하면 G2(Gate2)에 전류가 흐르면서 OUTPUT이 GND에 연결되어 0V가 나온다. 2) 특징 Push-pull 구성은 두 개의 트랜지스터로 구성되기 때문에 신호를 HIGH, LOW에서 모두 능동적으로 구동한..
데이터 단위 바이트의 단위는 1024배씩 커지는데 이는 컴퓨터가 이진법을 따르기 때문이다. 원래는 1KByte -> 1000Byte이지만 이를 2의 제곱으로 표현하면 2^10 = 1024이다. 따라서 1Kbyte는 1024Byte, 1Mbyte는 1024Kbyte로 1024배씩 커진다. https://semiconductor.samsung.com/kr/support/tools-resources/dictionary/bits-and-bytes-units-of-data/ 아리송한 데이터의 단위 ‘바이트(Byte)’ | 삼성반도체 삼성반도체 공식 웹사이트 기술 블로그에서 바이트(Byte)에 대해 알아보세요. semiconductor.samsung.com
GitHub에 CMD로 파일 올리고 받기 1. GitHub 설치하기 https://taewow.tistory.com/13 [GITHUB 입문] Git 설치하기(2.35.1 이상, 상세한 설치법) [GITHUB 입문] 깃허브 사용법 - 2 Git 설치하기 Git과 GitHub에 관해 다룬 이전 글([GITHUB 입문] Git과 GitHub의 차이)을 작성하다 보니 한 가지 아쉬움이 있었습니다. 독자가 Git을 설치하여 직접 따라 하면 taewow.tistory.com 2. 사용자 이름/이메일을 등록한다. 3. 등록정보를 확인한다. 1) 명령어 입력 2) 등록정보 확인 변경할 부분이 있다면 q를 입력 후 Enter를 눌러서 빠져 나온 뒤 2번처럼 변경할 부분을 변경하면 된다. 4. GitHub 폴더로 이동한다. 5. GitHub와 연동한다. 1) ..
윈도우에서 리눅스 서버에 파일을 보내고 받는 방법 1. PowerShell을 실행한다. 윈도우 환경에서 리눅스 환경에 파일 전송 시 OS가 다르기 때문에 윈도우 환경에서는 보통 PowerShell을 자주 사용한다. 2. ssh-server을 설치한다. 1) ssh-server 설치 명령어 입력 2) 정상적으로 작동하는지 확인하는 명령어 입력 3) 확인 정상적인 설치가 완료되면, 22번 포트가 열려있다는 것을 확인할 수 있다. 3. 전송할 파일 경로로 이동한다. 위의 그림은 D드라이브에 파일이 있어서 D드라이브로 이동한 것이다. 4. 리눅스 서버로 파일을 보낸다(리눅스 서버의 IP, ID, PW 필요) scp [파일명] [서버계정ID]@[서버계정IP]:[받을 경로(리눅스)] 리눅스 서버에서 파일을 받을 때는 아래와 같다. scp -r [서버계정ID]@[서..
VirtualBox 설치 후 ova파일 가져오기 1. VirtualBox-6.1.28버전을 다운로드 한 뒤 설치한다. 2. 폴더를 하나 만든 뒤 가져올 파일들을 넣어놓는다. 3. 파일 탭에서 가상 시스템 가져오기를 누른다. 4. 2번에서 만든 폴더에서 ova파일을 가져온다. 5. 가상 시스템 설정에서 MAC 주소 정책을 으로 변경하고 추가 옵션에 체크를 해제한 뒤 가져오기를 누른다.
Linux 명령어 1. ifconfig 네트워크 인터페이스의 구성과 상태를 확인하고 제어하기 위한 유닉스 및 리눅스 기반 시스템에서 사용되는 명령어입니다. 아래는 “ifconfig” 명령의 몇 가지 주요 기능 및 옵션입니다. 1) 인터페이스 정보 표시 옵션 없이 "ifconfig"를 실행하면 시스템의 모든 활성 네트워크 인터페이스에 대한 정보가 표시됩니다. 인터페이스 이름(예: eth0, lo), IP 주소, MAC 주소, 네트워크 마스크, 전송 및 수신 패킷과 같은 다양한 통계와 같은 세부 정보를 보여줍니다. ※ eth0 네트워크 통신에 사용되는 물리적 이더넷 인터페이스를 나타냅니다. ※ lo 동일한 시스템에서 로컬 네트워크 통신을 가능하게 하는 가상 루프백 인터페이스입니다. ※ IP 주소 네트워크 환경에서 컴퓨터간 통..