Study_Embedded (19) 썸네일형 리스트형 [오제이 튜브의 임베디드 실전 강의] 9강 회로도 딱 필요한 만큼만 배우자! 필요한 만큼 회로도 공부 : 임베디드 소프트웨어 개발자가 최소한으로 알아야 할 만큼 참고 서적 : 전자공학 만능 레시피, 짜릿짜릿 전자회로 DIY 전자공학 분야는 프로그래밍과는 달리 새로운 기능들이 자주 나오지 않는다 - 회로도 : 약속된 기호로 그려진 전기회로. 실제로 보이는 모양과는 차이가 있다 ex) 화장실에서 남녀 그림 -> 언어의 장벽을 뛰어넘어 국적 상관없이 모두가 이해할 수 있음 - 임베디드 소프트웨어 개발자는 회로도를 어느정도로 알아야 하는가 회로도를 보고 내가 제어할 부품이 무엇인지, 어떻게 제어해야 하는지 (어떤게 올바른 동작인지) 알아야 함 회로도 상의 부품을 실제 보드에서 찾을 수 있어야 함 전원 (Vcc)와 GND의 위치를 찾을 수 있어야 함 하드웨어 debugging시 어디에 멀.. [오제이 튜브의 임베디드 실전 강의] 8강 지금까지 배운 것을 큰 그림에 저장하기 - GPIO 제어 과정 Power On -> Startup Code -> main() 예전에는 Stack Pointer를 코드로 (어셈블리만 이용가능했었음) 설정해줬어야 했으나 요즘에는 하드웨어에서 자동으로 설정해줌 (바로 C코드로 접근 가능) SP, PC 설정 후 전원 공급 -> Startup Code로 이동 Stack Pointer : 현재 연산에 필요한 stack 영역에 저장되어있는 memory의 주소 저장. 저장시 자동으로 memory address가 바뀜 Program Counter : 다음에 실행될 program code의 memory의 address 저장 1) Power On 보드의 동작 전원은 3.3V 가정에 AC로 들어오는 220V를 3.3V로 전환해줌 2) Startup Code mai.. [오제이 튜브의 임베디드 실전 강의] 7강 GPIO제어 고아 먹기 - GPIO 수동 제어 2 지난 시간에 공부했던 MX_GPIO_Init( ) 중 static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, GPIO_PIN_SET); /*Configure GPIO pin : GPIO_LED_Pin */// 이부분 공부 GPIO_InitStruct.Pin = GPIO_LED_Pin; GP.. [오제이 튜브의 임베디드 실전 강의] 6강 GPIO제어 뿌셔 먹기 0. Cube IDE의 IOC 화면에서 각 GPIO 설정값들의 의미 1) GPIO output level (High / Low) 최초 동작시의 GPIO Output값 설정High 설정 시 Low 설정 시 GPIO_PIN_RESET = 0GPIO_PIN_SET = 1 2) GPIO mode (Output Push Pull / Output Open Drain) 회로의 방식을 설정Push Pull : MCU에서 제공하는 3.3V를 통해 장치를 제어함 Open Drain : 단순히 Ground를 열고 닫음 A. Push - PullPush - Pull 방식의 기본적인 회로도 sw1이 연결되면 3.3V가 연결되며 Output에 High가 출력 sw2가 연결되면 Ground(0V)가 연결되어 Low가 출력 (어떠한.. [오제이 튜브의 임베디드 실전 강의] 5강 혼자서 임베디드 고수 되는 법 1. 강의 목표WritePin부분을 HAL Driver를 사용하지 않고 순수 코딩만으로 만들어보기 HAL Driver의 코드를 분석하고 Datasheet를 보며 필요한 것들만 뽑아 코드를 만들 것MX_GPIO_Init();HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, 0);위 두개의 코드 분석Data Sheet를 보며 해당하는 주소값을 보며 코딩을 해야 함Embedded Programming은 Source Code는 몇 줄 안되나 이해하고 코드로 표현을 하기까지 수많은 공부가 필요회로, 컴퓨터 등의 알아야 할 배경 지식이 너무 많음코드를 분석하기 쉬운 방법소스가 어떤 환경에서 작동하는지 이해 후 환경 구성Breakpoint를 찍어가며 Debugging 진행 .. [오제이 튜브의 임베디드 실전 강의] 3-1강 개발 환경 구축하기, 4강 Hello!! GPIO!! 1. 개발 환경 구축1.1. 개발 환경 구축이란- 개발을 할 수 있는 환경을 구축하는 준비과정보통 컴파일 + "Hello World"가 출력되는 상황 + 디버깅이 되는 상황을 환경구축이 완료되었다고 한다임베디드 분야는 환경 구축이 유난히 어려움임베디드 계열의 "Hello World" 는 GPIO 제어 : 이번 강의의 목적 1.2. IDE란- IDE (Integrated Development Environment) : 통합 개발 환경을 의미Coding, Debugging, Compile, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리할 수 있는 환경을 제공하는 SoftwareEx) Visual Studio, JupyterIDE = Source code editor + Compi.. [오제이 튜브의 임베디드 실전 강의] 3강 전기 기본 상식 - 모르면 보드 태워먹는다 0. Embedded Software 개발에 전기 기본 상식을 알아야 하는 이유1) DC 뿐만 아니라 매우 위험함 고압의 AC 전류가 흐르는 환경에서 작업을 할 수 있음DC (Direct Current) : 직류라는 뜻으로, (+)극, (-)극이 정해져 있으며 전류의 방향이 바뀌지 않는 전원저압이라 크게 위험하지 않음배터리에서 사용AC (Alternating Currnet) : 교류라는 뜻으로, 시간에 따라 크기와 극성(방향)이 주기적으로 변하는 전류1초 사이에 전류의 극성이 변하는 횟수를 Frequency(주파수) [Hz]라고 한다.가정에서 사용AC 값은 최고점과 최저점 간의 차이 값을 의미고압이라 잘못하면 사망으로 이어질 수도 있음 또한 전류의 방향이 계속 바뀌므로 몸이 전기가 흐르는 물체에 달라 붙.. [오제이 튜브의 임베디드 실전 강의] 2강 실무자는 어떻게 칩을 고르나요? 0. 큰 그림을 반드시 그려야 하는 이유큰 그림 : 나만의 개념을 잡고 그 개념들이 조각조각 분산되어 있는 것이 아니라 서로 연결되어 있는 것을 의미큰 그림을 그릴 줄 알면 다양한 문제점을 만나더라도 쉽게 해결을 할 수 있음Ex 1) NPM, PIP, Apt-get, 마켓 플레이스모두 어떤 프로그램을 저장소에서 다운받을 수 있는 기능 -> 이 개념을 잡고 있으면 다양한 것을 해결할 수 있음저장소와 관련된 문제 파악 및 해결 가능무엇을 배우던 간에 큰 그림을 그려야 함 위와 같은 큰 그림을 머리 속에 하나씩 그려가야 함문제를 만날 때 마다 해결하기가 쉬워짐 - Ex 2) Visual Studio Code와 Visual Studio의 차이점둘 모두 개발 Tool개발 Tool : 메모장 + Compiler .. 이전 1 2 3 다음