728x90

전체 글 83

[WSL] WSL ERROR_FILE_NOT_FOUND로 인해 Ubuntu 실행 불가 문제

Microsoft store에서 WSL을 설치하고 실행하니 아래와 같은 오류가 발생하였다. 'C:\Users\USER\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx' 디스크를 WSL2에 연결하지 못했습니다. 지정된 파일을 찾을 수 없습니다.오류 코드: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUNDPress any key to continue... WSL2의 ext4.vhdx 파일을 찾지 못했다고 한다.   WSL 등록해지 (cmd에서 진행)$ wsl --unregister ubuntu WSL 재설치 (cmd에서 진행)$ ..

MCU 2025.02.26

[WSL] WSL 18.04 32비트 바이너리 실행 환경 설정하기

리눅스 시스템에서는 멀티 아키텍처(Multiarch) 지원을 통해 64비트 시스템에서 32비트 바이너리를 실행할 수 있게 해줍니다. 멀티 아키텍처는 하나의 시스템에서 서로 다른 아키텍처의 바이너리를 동시에 실행할 수 있는 기능으로, 리눅스에서는 이를 `dpkg`와 `apt` 패키지 관리 도구를 통해 관리할 수 있습니다. 이를 통해 32비트 라이브러리와 패키지를 설치하고, 32비트 애플리케이션을 실행할 수 있게 됩니다. 현재 사용중인 하드웨어 아키텍쳐를 봅시다.$ uname -m `x86_64` → 64비트 아키텍처`i686` → 32비트 아키텍처`aarch64` → 64비트 ARM 아키텍처`armv7l` → 32비트 ARM 아키텍처저는 x86_64 환경에서 진행했습니다.  예를 들어 `make_ext4f..

MCU 2025.02.10

[회고] 2024년 회고

임베디드 개발 분야를 선택하며, 학교 생활, 3개월 간의 현장실습, 그리고 취업을 거치며 많은 변화를 경험한 한 해였다. 한 해 동안 많은 고민과 성장이 있었던 만큼 이 기록은 나 자신에게도 의미 있는 정리가 될 것이다. 2024년 목표취업 ( 성공 ) 운전면허 따기 ( 성공 ) 학교 생활에서 느낀 것들학교 생활은 개인의 환경과 태도에 따라 크게 달라질 수 있다. 기숙사 생활에서는 룸메이트와의 관계가 중요한 영향을 미친다. 밤늦게까지 열심히 공부하는 친구도 있었지만, 때로는 누워서 쇼츠만 볼 수도 있다. 중요한 점은 자신을 가혹하게 몰아붙이지 않으면서도 꾸준히 할 수 있는 환경을 만드는 것이다. (나도 못하긴 했다)선생님이나 멘토의 조언 : 선생님들이나 멘토님들은 우리보다 똑똑하다. 이건 기본값이다. 하..

기타/회고 2024.12.26

DCDC 컨버터(DC-DC Converter)란?

DCDC 컨버터는 직류(DC) 전압을 다른 직류 전압으로 변환하는 전력 전차 정치로, 다양한 전자 시스템에서 배터리나 전원 공급 장치로부터 제공되는 전압을 원하는 수준으로 변환하기 위해 사용된다. 이는 입력 전압보다 높은 전압(Boost), 낮은 전압(Buck), 또는 양극성 전압으로 변환할 수 있다. 주요 유형1. Buck 컨버터 (스텝 다운)입력 전압을 더 낮은 출력 전압으로 변환.효율이 높아 저전력 시스템에서 자주 사용.2. Boost 컨버터 (스텝 업)입력 전압을 더 높은 출력 전압으로 변환.LED 드라이버나 배터리 시스템에 유용.3. Buck-Boost 컨버터입력 전압을 높이거나 낮출 수 있음.출력 전압의 극성을 반전시킬 수도 있음.4. SEPIC 컨버터Single-Ended Primary-In..

전기•전자 2024.12.20

[C언어] printf 함수 구현

`printf()` 함수란?`printf()` 함수는 C 프로그래밍에서 데이터를 출력하기 위해 가장 널리 사용되는 함수이다. 형식 지정자를 활용하여 다양한 데이터 타입을 출력할 수 있으며, 콘솔 기반 출력의 기본 도구이다. 형식 문자열과 형식 지정자`printf()` 함수는 형식 문자열을 입력받아 처리한다. 형식 문자열을 일반 텍스트와 형식 지정자로 구성되며, 형식 지정자는 `%d`, `%f`, `%s` 등으로 데이터 타입을 정의한다. 가변 인자의 처리 방법`printf()`는 가변 인자를 처리하기 위해 `stdarg.h` 에 정의된 `va_list`, `va_start`, `va_arg`, `va_end`를 사용한다. 이를 통해 함수 호출 시 전달된 인자들을 순차적으로 읽어 형식 지정자에 따라 처리한다..

C언어 2024.12.19

FreeRTOS ARM-M0 직접 포팅

5일동안 삽질하면서 ARM-M0 보드에 FreeRTOS를 포팅하는 과정과 오류를 정리하겠다.여기서 Keil 컴파일러를 사용하였지만 Keil Pack Installer에서 CMSIS-FreeRTOS를 설치하는 과정에서 오류가 생겨 직접 포팅하였다. 직접 포팅1. FreeRTOS-Kernel 다운로드 https://github.com/FreeRTOS/FreeRTOS-Kernel 에서 Kernel 파일을 가져와 프로젝트 파일에 넣어준다.Keil에서 본인 프로젝트에 Manage Project Itmes로 Kernel 파일 일부를 가져와야 된다. 2. Keil 프로젝트 구성공통 파일.\tasks.c.\list.c.\queue.c.\...(본인 선택)Keil - ARM_M0.\portable\RVDS\ARM_CM0..

MCU 2024.12.19

ELF(Executable and Linkable Format)이란?

UNIX 및 유사 운영체제에서 실행 파일, 공유 라이브러리, 그리고 객체 파일을 위한 표준 파일 포맷이다. ELF는 시스템 간 이식성을 고려해 설계되었으며, 다양한 이키텍쳐에서 사용된다. ELF 파일의 주요 구조ELF 파일은 크게 헤더(Headers), 섹션(Sections), 세그먼트(Segments)로 구성된다. 1. ELF 헤더(ELF Header)파일의 전반적인 정보를 담고 있는 헤더이다.주요 필드`Magic Number` : ELF 파일임을 식별하는 마커 (`0x7F + ELF` 문자열).파일 클래스 : 32비트(ELF32) 또는 64비트(ELF64)로 구분.데이터 정렬 : 리틀 엔디안 또는 빅 엔디안.파일 타입 : 실행 파일, 재배치 가능 파일, 공유 객체, 코어 덤프.대상 아키텍쳐 : 0x8..

CS 2024.12.18

[C언어] 개행 문자

Keil 환경에서 ARM Compiler를 쓰며 마지막 줄에 개행 문자(\n)를 넣지 않으니 Waring 메시지가 떴었다. 찾아보니 C언어에서는 파일의 마지막에 개행 문자(\n)를 넣어야 한다는 규칙이 존재한다. 하지만, 실제 컴파일 환경에서 이 규칙을 무시해도 대부분의 경우 문제가 발생하지 않는다. 그렇지만 개행 문자를 마지막에 꼭 넣어야 하는지 알아보자. C 표준의 규칙C 표준(ISO C)에 따르면, 소스 파일의 마지막 줄은 반드시 개행 문자로 끝나야 한다. 그렇지 않을 경우, 컴파일러에 따라 다음과 같은 문제가 발생할 수 있다.소스 코드가 제대로 종료되지 않았다고 간주될 수 있다.다른 파일과 합칠 때 의도치 않은 문제가 생길 수 있다. 왜 개행 문자가 필요한가?1. POSIX 시스템 규칙 : POS..

C언어 2024.12.13

전압 스트레스(Voltage Stress)란?

전압 스트레스(Voltage Stress)란 전자 부품, 특히 반도체 소자에서 고전압이 가해질 때 발생하는 물리적, 전기적 영향을 의미한다. 이는 반복적으로 작동하는 시스템에서 성능 열화와 수명을 제한하는 주요 원인 중 하나이다. 전압 스트레스의 원리전압 스트레스는 반도체 소자의 구조적 특성과 동작 방식에서 비롯된다. EEPROM이나 플래시 메모리와 같은 비휘발성 메모리는 데이터를 저장하기 위해서 플로팅 게이트 트랜지스터(Floating Gate Transistor)를 사용한다. 이 트랜지스터는 전자를 저장하거나 방출하는 동작을 수행하며, 이러한 과정에서 높은 전압이 필요하다. 고전압은 전자를 플로팅 게이트에 강제로 주입하거나 방출하는 역할을 한다. 이 과정에서 산화층(Oxide Layer)이 전자 이동..

전기•전자 2024.12.13
728x90