전체 글 썸네일형 리스트형 2025년 12월 둘째 주 이직 일기|지방에서 이직의 한계를 맛 보다 이번 주는 한 군데 면접 연락이 와서 면접을 보고 왔다. 조금 작은 곳이긴 했지만 내가 원하는 니즈들을 대부분 만족하는 곳이었다. 아직 결과는 안 나왔지만 여기서 합격 연락이 온다면 다녀볼 생각이다. 이번 주도 더 많은 회사에 이력서를 넣어보려고 면접을 본 이후에도 열심히 찾아봤다. 그러다 점점 지방에서 이직하는 데 한계가 있다는 걸 체감하기 시작했다. 나만 생각하고 직장을 구했다면 지역에 구애받지 않고 이력서를 다 넣었을 텐데 이제 가족이 있으니 현재 우리가 살고 있는 지역이 아니면 지원하기가 어렵다. 헤드헌팅 업체에서도 연락이 꽤 왔지만 타지인 경우들이 굉장히 많았다. 서울 경기권이었다면 공고 자체가 훨씬 많았을텐데 내가 살고 있는 지역에서 올라오는 공고는 늘 비슷했다. 지원할 수 있는 회사의 수.. 더보기 지역 변수와 전역 변수 차이 완전 정리 프로그램을 시작할 때 가장 먼저 이해해야 하는 개념 중 하나가 지역 변수(Local Variable)와 전역 변수(Global Variable)이다. 둘 다 데이터를 저장하는 변수이지만 어디 저장되는지, 언제 생성되고 언제 사라지는지, 어떤 상황에서 사용하는지가 완전히 다르다. 변수를 잘 못 선언하면 초기화가 잘 못 되기도 하고 버그를 발생하게 할 수도 있기 때문에 잘 알아두어야 한다. 이 기본 구조만 정확히 이해해도 디버깅, 최적화, 구조 설계가 훨씬 수월하다.1. 지역 변수란? (Local Variable 개념과 동작 원리)1) 정의함수 내부에서 선언되어 해당 함수 안에서만 사용되는 변수로 함수가 호출될 때 스택(Stack)에 생성되고, 함수가 끝나면 바로 사라진다.void func(void){ .. 더보기 2025년 12월 첫째 주 이직 일기|면접 없이 보낸 한 주 면접을 일주일에 한 번씩은 봤는데 이번 주는 전혀 보질 못했다. 그동안 야근 여부로 합격 연락에도 거절해 왔던 게 어리석은 거였나 라는 생각을 많이 했다. 이직을 준비하면서 아이와의 시간이 어느 정도 확보가 필요했기 때문에 야근에 대한 회사 분위기를 최우선으로 생각하고 준비했다. 면접을 볼 때 꼭 물어봤다. 야근을 안 한다는 지침이 있었던 회사는 면접을 떨어져 버렸고 야근을 꽤 한다는 회사들은 합격했다. 면접을 보고 내 맘에 들면 떨어지고 내 맘에 들지 않으면 합격했던 거다. 면접 한 번으로 회사에 대해서 파악하는 건 쉽지 않다. 한 번만 보고 회사를 다 알고 더군다나 부서의 분위기를 파악한다는 건 말도 안 된다. 그리고 마음에 드는 회사가 어디 있겠나? 최선을 다해서 그래도 내 기준에 부합한 곳을 찾을.. 더보기 베어메탈 vs FreeRTOS vs Zephyr: MCU 펌웨어 구조 정리 MCU 기반 펌웨어 개발에서는 프로젝트 복잡도와 확장성에 따라 적절한 아키텍처를 선택해야 한다. 단순 제어 중심의 소규모 시스템부터 통신·센싱·제어가 결합된 복잡한 장비까지 요구사항이 다양하기 때문이다. 대표적인 구조는 베어메탈, FreeRTOS, Zephyr이며, 세 방식은 같은 MCU에서 동작하지만 개발 철학과 시스템 구성 방식이 명확히 다르다. 1. 베어메탈(Bare-Metal) 펌웨어베어메탈은 운영체제 없이 MCU가 부팅되면 즉시 코드가 실행되는 구조이다. 메인 루프와 인터럽트로만 시스템을 구성하며, 모든 타이밍·상태 관리·비동기 처리를 개발자가 직접 설계한다.1) 장점● 리소스를 최소로 사용한다.● 부팅 속도가 빠르다.● 실시간성이 매우 뛰어나다.● 하드웨어 접근이 직접적이어서 제어가 직관적이다.. 더보기 LED 저항 계산과 안전한 회로 구성법 LED 회로는 단순해 보이지만 저항 값을 적절히 선정하지 않으면 밝기가 안맞는 다거나 발열 발생, 소자 손상등 문제가 발생할 수 있다. 그래서 LED는 반드시 전류 제한용 저항이 필요하다.1. LED 저항 계산 공식2. LED 회로 기본 형태LED+저항 회로는 두 가지 형태가 모두 가능하다.1) High-side2) Low-side 전류 제한 효과는 두 경우 동일하기 때문에 선택 기준은 회로 구성 편의, MCU 초기 상태, 배선 구조에 따라 선택하면 된다.3. MCU 기반 회로 (Low-voltage, GPIO 제어)1) 특징● MCU GPIO로 LED 제어(GPIO LOW → LED ON / GPIO HIGH(High-Z) → LED OFF)● 대부분 3.3V/5V 소형 회로● Low-side(GND .. 더보기 2025년 11월 마지막 주 이직 일기|하드웨어 개발자 계속 할 수 있을까 10년 넘게 한 회사에서 하드웨어 개발팀으로 일하다 10여 년 만에 이직하려니 내 마음부터가 쉽지 않다. 익숙한 것이 좋은 나는 새로운 곳에 가는 두려움도 있고 10년 전과는 다르게 육아도 하다 보니 더욱이 회사에서 야근, 휴가에 대한 분위긴 어떤지도 큰 고려사항이 되었다. 면접 볼 때 야근의 이야기를 안 할 수 없게 되었다. 개발직 하고 싶으면 무모한 거 아닌가 싶기도 하지만 입사하면 물론 야근하는 경우들이 있을 수 있겠지만... 그래도 한번 물어보고는 있다. 지난주까지 두 군데 면접을 보고 한 군데 합격을 하긴 했는데 야근에 대한 부분 때문에 고사했다. 퇴사한 지 이제 한 달이 지났다. 지난 주말 네 군데의 회사에 이력서를 넣었고 두 군데에서 연락이 왔다. 그중 한 군데에서는 전화로 간단히 궁금하신 .. 더보기 실무에서 사용하는 펌웨어 개발 프로그램 비교 임베디드 시스템을 개발할 때 어떤 플랫폼을 선택하느냐는 프로젝트의 성패를 좌우할 수 있습니다. 마이크로컨트롤러(MCU) 기반의 펌웨어 개발을 고려할 때, 실무에서 자주 쓰이는 대표적인 플랫폼들을 살펴보고 각 특성과 장단점을 정리해 보려합니다.1. STM32 (STMicroelectronics)STM32 시리즈는 STMicroelectronics에서 제공하는 ARM Cortex 기반의 MCU로, 산업용부터 컨슈머 제품까지 폭넓게 활용되고 있습니다. 1) 특징 • ARM Cortex-M 기반: M0, M3, M4, M7, M33 등 다양한 성능 옵션 제공 • 넓은 제품군: 저가형 STM32F0부터 고성능 STM32H7까지 다양한 라인업 • HAL & LL 라이브러리 지원: 추상화 수준을 선택할 수 있어 .. 더보기 STM32 HAL Driver란? HAL (Hardware Abstraction Layer) Driver는 하드웨어의 복잡성을 추상화하여 소프트웨어 개발자들이 더 효율적으로 작업할 수 있게 도와주는 소프트웨어 계층입니다. 1. HAL Driver란 무엇인가? HAL Driver는 마이크로컨트롤러(MCU)의 하드웨어 기능을 추상화하여 상위 레벨의 소프트웨어가 하드웨어와 직접 상호작용하지 않도록 하는 소프트웨어 계층입니다. HAL Driver는 특정 하드웨어에 종속되지 않으며, 동일한 API를 사용하여 다양한 MCU에서 일관된 코드를 작성할 수 있게 해줍니다. 이는 소프트웨어의 이식성을 크게 향상시킵니다. 2. HAL Driver의 주요 역할 1) 하드웨어 추상화 개발자가 특정 하드웨어의 레지스터나 메모리 맵에 직접 접근하지 않고도 하.. 더보기 이전 1 2 3 4 5 다음