본문 바로가기
반응형

Firmware Programming17

[Ubuntu-RaspberryPi] C언어로 U-Boot gpio제어를 통한 led 동작 및 버튼 제어 구현 목표는 led 0xff 명령어를 치면 이름 이니셜을 띄워주면서 led 작동시키고 button을 누르면 8개의 버튼 중 해당 버튼에 맞게 O X를 출력해주고 해당 버튼에 맞는 led만 on시켜주기 + 8번 버튼 누르면 프로그램 종료시키기 #include #include #include #define BCM2711_GPIO_GPFSEL0 0xFE200000 #define BCM2711_GPIO_GPFSEL1 0xFE200004 #define BCM2711_GPIO_GPFSEL2 0xFE200008 #define BCM2711_GPIO_GPSET0 0xFE20001C #define BCM2711_GPIO_GPCLR0 0xFE200028 #define BCM2711_GPIO_GPLEV0 0xFE200034.. 2024. 2. 14.
[ARM] ARM 어셈블리어 분석 아래 글 먼저 했다는 가정 하에 arm 어셈블리어 분석해보겠음. [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-b program-developers-story.tistory.com start.S 파일은 소스 코드이고, start.o 파일은 이 소스 코드를 컴파일하여 생성된 오브젝트 파일임. a.. 2024. 2. 13.
[ARM] ARM 프로세서 기초 ARM이란? Adavanced RISC Machine의 약자로 CPU의 한 종류고, 다양한 임베디드 기기에서 사용되는 32-bit-RISC프로세서임. ARM의 코어는 RISC아키텍처 방식을 사용합니다. ARM프로세서의 특징 1. 32-bit-RISC 프로세서 CPU로서 Instruction Set이 간단 2. 전력소모가 적음 3. 성능에 따라 다양한 CPU제공 4. 32Bit 명령인 ARM명령과 16bit 명령인 Thumb명령 제공5. SOC 용 지적 재산(IP)로 제공- 다양한 업체에서 CPU를 라이센싱 하여 생산- 사용자 특화된 Chip 을 생산할 수 있게 됨- 라이선스에 따라서 내부 구조에 대한 수정도 가능 RISC(Reduced Instruction Set Computer)의 특징 1. 상대적으로.. 2024. 2. 13.
[Firmware Programming] C++ ESP32-CAM 보드 UDP camera frame 패킷 순서 제어 및 실시간 전송 이전글을 아래 링크 참고 [Firmware Programming] ESP32-CAM 보드 usb로 upload 하기 필자는 아두이노 우노를 통해 업로드를 시도하였으나, 실패했다. 이틀 동안 해결방법을 찾아보았으나, 역시 실패하였다. 그래서 USB to gpio핀을 통해 direct로 연결해서 upload를 하였더니, 정상적으 program-developers-story.tistory.com [Firmware Programming] ESP32-CAM 보드 UDP camera frame 패킷 순서 제어 및 실시간 전송 ESP32-CAM 연결 및 업로드, udp 통신방식은 각자 이해가 된 상태라고 가정하고 진행합니다. 참고자료가 있으면 찾아가면서 하려고 했으나, UDP를 통한 실시간 영상 전송 관련 알고리즘이.. 2024. 2. 10.
[Firmware Programming] ESP32-CAM 보드 UDP camera frame 패킷 순서 제어 및 실시간 전송 ESP32-CAM 연결 및 업로드, udp 통신방식은 각자 이해가 된 상태라고 가정하고 진행합니다. 참고자료가 있으면 찾아가면서 하려고 했으나, UDP를 통한 실시간 영상 전송 관련 알고리즘이나 코드를 거의 찾지 못해서 직접 짭니다. https://program-developers-story.tistory.com/104 [Firmware Programming] ESP32-CAM 보드 usb로 upload 하기 필자는 아두이노 우노를 통해 업로드를 시도하였으나, 실패했다. 이틀 동안 해결방법을 찾아보았으나, 역시 실패하였다. 그래서 USB to gpio핀을 통해 direct로 연결해서 upload를 하였더니, 정상적으 program-developers-story.tistory.com 윗 글을 참고해서 ES.. 2024. 2. 10.
[Firmware Programming] ESP32-CAM 보드 usb로 upload 하기 필자는 아두이노 우노를 통해 업로드를 시도하였으나, 실패했다. 이틀 동안 해결방법을 찾아보았으나, 역시 실패하였다. 그래서 USB to gpio핀을 통해 direct로 연결해서 upload를 하였더니, 정상적으로 동작하였다. HW 결선을 먼저 해준다. 이런 선이고 usb는 컴퓨터에 gpio 핀은 라즈베리파이의 gpio핀에 꽂아주면됨. USB 케이블 흰색선(RXD)-> ESP32-CAM V0T USB 케이블 초록색선(TXD)-> ESP32-CAM V0R USB 케이블 흑색선(GND)-> ESP32-CAM GND USB 케이블 빨강색선(GND)-> ESP32-CAM 5V 추가로 업로드 할 때는 항상 ESP32-CAM의 GPIO0와 ESP32-CAM의 GND를 연결해주어야 하고 업로드가 끝나면 GPIO0-GN.. 2024. 2. 8.
[컴퓨터 구조] 컴퓨터 구조-CPU, ALU, Memory CPU란? (Central Processor Unit) 프로그램을 메모리 장치에서 읽어 연산처리, 비교처리, 데이터 전송, 편집, 변환, 테스트와 분기 등의 데이터 처리와, 각종 입출력 장치 구동에 사용함. 제어장치, 연산장치, 레지스터와 데이터 버스로 구성된다. 레지스터(Register) 산술 논리 연산 장치 (ALU : Arithmetic Logic Unit) 제어 장치 (CU : Control Unit) 버스(BUS) 레지스터란? Register 프로세서 내부에서 데이터를 일시적으로 보관하는 기억 장치로 Flip-flop와 Latch로 구성되어 있다 프로세서 레지스터의 종류 1. 법용 레지스터 - 프로그램 또는 데이터 처리에 필요한 작업을 수행하기 위해서 사용 2. 제어용 레지스터 - 프로그램이나 .. 2024. 2. 8.
[Firmware] 임베디드, 펌웨어의 차이는? Embedded는 내부에 무엇인가 포함하고 있는 상태 즉, 내장형 시스템이다. 하드웨어와 소프트웨어(펌웨어)가 조합되어 특정한 기능을 수행하도록 내장되어 있는 시스템이라고 생각하면 편하다. 그 특정한 기능을 수행하도록 마이크로 프로세서와 입출력장치(peripheral device-주변장치)를 내장하며, 이를 제어하기 위한 프로그램이 내장되어 있는 우리의 일상 생활에서 사용되는 각종 전자기기, 가전제품, 제어장치 등이 그 예시임. 그러면 임베디드와 펌웨어의 차이는 무엇인가? 임베디드 시스템에서 구현되는 소프트웨어를 '펌웨어'(Firmware)라고 합니다. Embedded Everywhere 임베디드는 점점 늘어나는 추세이고 모든 곳에 달릴 것임. 임베디드 시스템 응용 분야 정보 가전 : 세탁기, 오디오, .. 2024. 2. 8.
반응형