본문 바로가기

분류 전체보기63

I2C 통신으로 16x2 LCD 디스플레이 출력하기 개발 환경대상버전OSWindows 10 24H2(Desktop), MacOS Sequoia 15.5(24F74)(MacBook M2 Air)STM32CubeIDE1.18.1STM32CubeMX6.14.1STM32CubeProg2.19.0STM32CubeCLT1.18.0보드Nucleo-F103RB펌웨어V24J46M32사용한 모듈과 데이터 시트모듈데이터시트B10K Potentiometerhttps:www.mouser.com/datasheet/2/13/RV24AF1658492.pdfHD44780Uhttps:www.mouser.com/datasheet/2/13/RV24AF-1658492.pdfHD44780Uhttps:cdn.sparkfun.com/assets/9/5/f/7/b/HD44780.pdfPCF8574https://www.ti.com/lit/ds/symlink/pcf8574.pdfI2C는?Inter-In.. 2025. 6. 30.
SPI 통신으로 8x8 LED Matrix를 조작하기 개발 환경대상버전OSWindows 10 24H2(Desktop), MacOS Sequoia 15.5(24F74)(MacBook M2 Air)STM32CubeIDE1.18.1STM32CubeMX6.14.1STM32CubeProg2.19.0STM32CubeCLT1.18.0보드Nucleo-F103RB펌웨어V24J46M32사용한 모듈과 데이터 시트모듈데이터시트MAX7219https://www.alldatasheet.co.kr/datasheet-pdf/view/73745/MAXIM/MAX7219.htmlSPI는?Serial Peripheral Interface bus의 줄임말이다. Master-Slave 구조이며, 하나의 Master가 여러 Slave들에게 데이터를 송신하거나 수신받을 수 있다.SerialSeri.. 2025. 6. 28.
STM32CubeMX프로젝트를 VSCode에서 실행하기 환경대상버전OSWindows 10 24H2(Desktop), MacOS Sequoia 15.5(24F74)(MacBook M2 Air)STM32CubeIDE1.18.1STM32CubeMX6.14.1STM32CubeProg2.19.0STM32CubeCLT1.18.0보드Nucleo-F103RB펌웨어V24J46M32VSCode를 선택한 이유내 맥북에서 CubeIDE를 키려면 굉장히 긴 시간을 기다려야 한다. 또한 아직까지는 공부를 하고 있어서 깊은 디버깅을 요구하지 않는다. 그래서 VSCode로 빌드+플래쉬까지 가능하다면 환경에 의해 소모되는 시간을 많이 줄일 수 있겠다 싶어 개발환경을 구축하려고 했다.STM32 VSCode Extension 설치STM32Cube for Visual Studio CodeVSC.. 2025. 6. 19.
운영체제 (11) - I/O Management and Disk Scheduling 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.Disk Performance Parameters디스크 내부는 얇은 판이 여러 개 겹쳐져 있고 각 판 사이에 데이터를 읽는 헤드가 존재한다. 판을 회전시키거나 헤드를 앞뒤로 움직여 데이터를 읽는데, 헤드를 이동하는 시간(seek time)보다 판이 회전하는 시간이 월등히 빠르다. 또한 데이터를 읽는 시간은 굉장히 짧으므로 실제로 고려해야하는 것은 어떻게 헤드를 이동시키는가이다.판은 수십개의 트랙이 겹쳐져 있고 헤드는 이 트랙을 왔다갔다하며 데이터를 읽는다.예시로 0부터 200까지의 트랙이 있다고 가정하고, 다음의 트랙을 방문해야한다고 하자. 그리고 헤드의 시작 위치를 100으로 고정한다... 2025. 6. 19.
운영체제 (10) - Multiprocessor and Real-Time Scheduling 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.멀티프로세서라는 단어는 한 메모리를 공유하는 여러 CPU들의 집합이다.Scheduling Design Issues멀티프로세서를 사용한 스케줄링은 3가지 디자인 이슈를 갖는다.Assignment of Processes to ProcessorsCPU에게 어떻게 프로세스를 할당해줄 것인지를 말한다. 각 CPU마다 큐를 가질 경우 CPU가 큐에 있는 프로세스를 바로 꺼내와 실행시킬 수 있지만, 각각 실행시간이 다른 프로세스들을 골고루 분배할 수 없는 단점이 있다. 그러므로 이 문제를 해결할 수 없어서 Ready 큐를 글로벌 큐로 1개만 두고 각 CPU가 critical section에 접근하여 .. 2025. 6. 19.
운영체제 (9) - Uniprocessor Scheduling 2024년 1학기 운영체제 수업을 듣고 정리한 내용입니다. 수업 교재는 운영체제 - 내부구조 및 설계원리 8 판입니다.Aim of Scheduling프로세서가 한 개인 시스템에서 여러 프로세스를 스케줄링할 때 다음과 같은 목표를 달성하는 방향으로 전략을 짠다.응답 시간Throughput (단위 시간동안 실행을 완료한 프로세스 수)Processor efficiency (CPU 사용도, OS보다 유저 프로그램을 많이 실행하면 좋은 것)Fiarness (모든 프로세스에게 공정한 실행 기회)그러나 모든 목표를 신경쓰면서 할 수 없기 때문에 이 중에 한 가지만이라도 집중하는 방향으로 전략을 짜게 된다.수업시간에는 응답 시간에 집중하는 방향으로 배운 것 같다.Type of Scheduling프로세스 스케줄링이 일어.. 2025. 6. 18.