본문 바로가기
반응형

Linux BSP47

[Ubuntu-RaspberryPi] C언어로 U-Boot gpio제어를 통한 led 동작시키는 명령어 추가 Raspberry Pi UBoot 환경 명령어 추가 또한 명령어를 치면 실제로 동작되도록 만들고 싶음. ubuntu@ubuntu8:~/pi_bsp/u-boot$ vi arch/arm/cpu/armv7/start.S 여기 127번 라인의 kcci_lcd_test i누르고 #해서 주석처리하고 저장 ubuntu@ubuntu8:~/pi_bsp/u-boot/common$ vi cmd_kcci_led.c #include #include #include #define BCM2711_GPIO_GPFSEL0 0xFE200000 #define BCM2711_GPIO_GPFSEL1 0xFE200004 #define BCM2711_GPIO_GPFSEL2 0xFE200008 #define BCM2711_GPIO_GPSET0 0.. 2024. 2. 13.
[ARM] 어셈블리코드 문법 #은 상수를 의미함. 명령어 안에 상수를 적재할 때 사용 ldr은 load명령, 불러오는 변수의 크기에 따라 Byte단위변수 호출 시엔 LDRB, short 변수를 불러올 때는 LDRH, int형 변수를 불러올 때는 LDR이 있음. str은 store 명령으로 ldr과 동일하게 strb, strh, str이 있음. 아래 블로그에 잘 작성되어있음. https://m.blog.naver.com/lhanggi01/130016971214 자주 사용되는 ARM 어셈블리 명령어 요약 자주 사용되는 ARM 어셈블리 명령어 요약 1. MOV ARM 어셈블리 명령어는 MOV 명령어와 논리 및... blog.naver.com 2024. 2. 8.
[Linux BSP] Ubuntu에서 RaspberryPi U-Boot 코드 환경 분석 3dw 3칸 삭제하겠다 . 아까전에 했던 명령어 다시 실행하겠다. ubuntu@ubuntu8:~/pi_bsp/u-boot$ vi build.sh make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all ubuntu@ubuntu8:~/pi_bsp/u-boot$ chmod u+x build.sh ubuntu@ubuntu8:~/pi_bsp/u-boot$ ./build.sh UPD include/generated/timestamp_autogenerated.h CC common/version.o AR common/built-in.o LD u-boot OBJCOPY u-boot.srec OBJCOPY u-boot-nodtb.bin COPY u-boot.bin SYM u-boot.. 2024. 2. 8.
[Linux BSP] U-Boot 어셈블리어로 메모리 read/write로 led on/off 하기 data sheet를 보면 gpio의 주소 및 입출력 주소가 모두 나옴. 아래 주소에서 라즈베리파이4를 찾아서 data sheet를 받으면 됨. https://datasheets.raspberrypi.com/ Raspberry Pi Datasheets datasheets.raspberrypi.com 매뉴얼 65페이지로 가면 전반적인 블록 다이어그램이 나와있다. 이번에는 인터럽트 방식 대신에 폴링 방식을 사용하겠다. 윗 사진에서 필요한 부분을 살펴보면 function select registers, pin direction regs, pin set&clear Regs 출력일때는 function select regiseters 선택해야되고 pin direction regs로 방향설정해야되고 pin set&c.. 2024. 2. 7.
[Linux] 부트 로더 Boot Loader란? Boot Loader의 역할? q타겟 시스템 초기화 v부트로더는 전원이 입력되면 타겟 시스템이 정상동작 할 수 있도록 하드웨어 및 소프트웨어 동작 환경을 설정 v불필요한 하드웨어의 동작 중지, 시스템 클록 설정, 메모리 제어기 설정 및 필요에 따라 MMU나 MPU를 설정 v프로그램 동작에 필요한 재배치(relocation), 스택 영역 설정 및 C에서 사용되는 변수 영역을 설정한 다음 C로 작성된 함수 호출 v부트로더에는 필요에 따라 IRQ와 같은 예외처리(Exception Handling) 처리 벡터 및 핸들러도 작성 되어야 한다. q타겟 시스템 동작 환경 설정 v부트 방법, 부트 디바이스를 비롯한 네트워크를 이용한 부트를 지원하기 위한 네트워크 설정, IP 주소 설정 등 부트로더 동작에 필요한 정보를.. 2024. 2. 7.
[Linux BSP] U-Boot Bootloader 빌드(ubuntu 호스트 크로스 컴파일) 개념을 이해하고 오자 [Linux] 부트 로더 Boot Loader란? Boot Loader의 역할? q타겟 시스템 초기화 v부트로더는 전원이 입력되면 타겟 시스템이 정상동작 할 수 있도록 하드웨어 및 소프트웨어 동작 환경을 설정 v불필요한 하드웨어의 동작 중지, 시스템 program-developers-story.tistory.com ubuntu@ubuntu8:~$ mkdir pi_bsp ; cd pi_bsp ubuntu@ubuntu8:~/pi_bsp$ sudo apt update ubuntu@ubuntu8:~/pi_bsp$ sudo apt-get install gawk git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat.. 2024. 2. 7.
[LINUX] LINUX 기초 상식 생성(created) 상태 : 커널 공간에 PCB등이 만들어지고 프로세스가 처음 생성되는 상태이다. 준비(ready) 상태 : 기억 장치 등 필요한 모든 자원을 할당 받은 상태에서 프로세서를 할당 받으려고 대기하는 상태이다. 즉, 프로세서를 할당 받게되면 즉시 실행이 가능한 상태이다. 실행(running) 상태 : 프로그램 코드가 프로세서에 의해 실행되고 있는 상태, 프로세스가 필요한 모든 자원을 할당 받은 상태이다. 대기(blocked) 상태 : 프로세스가 필요한 자원을 요청하고 이를 할당 받을 때까지 기다리는 상태이다. * 실행하다 I/O 등에 의해서 중단된 상태 지연 (suspended) 준비 상태 : 프로세스가 기억장치를 제외한 다른 모든 필요한 자원들을 보유한 상태이다. 지연 (suspended.. 2024. 2. 2.
[Ubuntu] Ctag 사용 ubuntu@ubuntu8:~/linuxC$ sudo apt install exuberant-ctags 라이브러리를 설치하면 /usr/ 안에 설치됨 안을 살펴보면 ubuntu@ubuntu8:~/linuxC$ cd /usr/ ubuntu@ubuntu8:/usr$ ls arm-linux-gnueabi arm-linux-gnueabihf bin games include lib lib32 lib64 libexec libx32 local sbin share src 구조체 자료형 변수 등도 다 include에 정의되어 있음. ubuntu@ubuntu8:/usr$ cd include ubuntu@ubuntu8:/usr/include$ ls EGL byteswap.h expat_external.h gnumake.h m.. 2024. 2. 2.
반응형