본문 바로가기

IT/Linux

(5)
Linux Kernel uImage에 Device Tree를 하나로 만들기 1. System 구성상 uImage와 device tree가 하나의 이미지로 되어야 하는 경우가 있다. 본 문서에 적용한 Linux Kernel은 TI 에서 배포한 Kernel 4.19 이다 2. 참조 싸이트 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/617841/linux-dra750-the-dtb-file-attached-to-the-kernel-image 3. 적용한 Makefile (1) 현재의 ROM 구성상 dtb와 uImage를 하나의 파일로 만들어여 함 (2) uImage에 Device Tree와 같이 빌드 - 앞의 내용을 참조하여 다음과 같이 "arch/arm/boot/Makefile"을 수정 함
Linux kernel AM335X PWM 설정 및 사용 1. PWM 사용법은 하기의 웹사이트 참조 한다. http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components/Kernel/Kernel_Drivers/PWM.html 3.2.4.11. PWM — Processor SDK Linux for AM335X Documentation Linux has support for Enhanced Pulse Width Modulator (ePWM) and Auxiliary Pulse Width Modulator (APWM) modules. APWM is Enhanced Capture (eCAP) module configured in PWM mode. These devic..
bcd2bin Linux 커널 트리에 있는 함수 Test #include #include unsigned bcd2bin(unsigned char val) { return (val & 0x0f) + (val >> 4) * 10; } unsigned char bin2bcd(unsigned val) { return ((val / 10) 0x0b/11 bcd2bin(0x19) ==>0x13/19 bcd2bin(0x1a) not BCD ==>0x14/20 bcd2bin(0x20) ==>0x14/20 ==================================== bin2bcd(19) ==>0x19/25 bin2bcd(20) ==>0x20/32
Makefile에서 프로그램의 Build 버전을 자동으로 생성하고 싶을때 1 개요 가) Application을 빌드 할 때 마다, 자동으로 빌드의 숫자가 증가하여, 이를 프로그램에서 사용 할 수 있도록 하는 내용이다. 나) 참조 문서 ① http://www.linuxjournal.com/content/add-auto-incrementing-build-number-your-build-process 2 Number File 가) Application Directory 안에 빌드 넘버를 기록하는 파일을 만들고, make 가 수행 된 후에 이를 자동으로 증가 하게 한다. 나) 참조 문서 1에서는 link 옵션을 사용 하였으며, 문서 2에서는 define를 사용 하였다. ① Define 문을 사용하는 경우는 __DATE__, __TIME__을 사용 할 때와 마찬가지로, 쓰여진 해당 파..
Segmentation Fault 발생시 디버깅 하기 1. 컴파일 Option을 “–g –O0” 를 추가 한다. 2. Target에서 실행하기 전에 “ulimit -c unlimited” 실행해서 core dump를 만들게 한다. 3. Segmentation Fault가 발생하면 core가 dump 된다. 4. gdb를 실행한다. gdb 프로그램실행파일 Core파일 즉, main 이라는 실행 파일에서 에러가 났다면 gdb ./main ./core arm-linux-gdb ./main ./core 5. Gdb 명령어 Backtrace/frame 등을 사용하여 디버깅 한다. * core dump가 안되는 경우 core dump가 /proc/sys/kernel/core_pattern의 값에 해당하는 폴더에 생성 되므로작업하는 폴더에 생성 되게 하려면 아래와 같이..