분류 전체보기14 GNU/GCC/G++ 컴파일러 GNC 컴파일러란? 공개 소프트웨어 프로젝트인 개인이나 단체에 구속 되지 않는 자유 형식을 띄는 GNU Project의 일환으로 제작 된 컴파일러 GCC 컴파일러란? GCC란 GNU Compiler Collection의 약자로 C언어만 지원하는 GNU C Compiler에서 발전하여 C++ 언어도 컴파일 가능하도록 지원함 G++(GNU C++ Compiler) C++언어용 컴파일러, GNU C++ Compiler의 약자, .C 파일과 .CPP 파일 모두 C++ 언어로 컴파일 Compile Process 소스 코드의 컴파일 과정은 위와 같은 과정을 거치면서 변환됨 .c → .s → .o → .out Preprocessor(전처리기) a.i 코드 작성 시 #으로 시작하는 전처리기 구문을 처리하게 됨. 단순 .. 2023. 1. 27. C 기본 함수 파일디스크립터(File Descriptor) - 리눅스와 유닉스에서 시스템 관리를 위해 파일로 처리하여 관리함 시스템에서 프로세스가 파일에 접근하기 위한 방법으로 파일 디스크립터(File Descriptor)를 핸들로 사용 ex) 파일 open 시 파일 디스크립터는 0~N까지 순차적으로 숫자를 부여 받음, 프로세스가 메모리에서 실행을 시작할 때 기본적으로 할당됨 기본 할당 파일 디스크립터 0 : 표준 입력(Standard Input) / STDIN_FILENO 1 : 표준 출력(Standard Output) / STDOUT_FILENO 2 : 표준 에러(Stantdard Error) / STDERR_FILENO 파일 디스크립터 생성 시 기본 할당 파일 디스크립터를 제외하고 3번 부터 차례대로 할당 받음 .. 2022. 11. 22. CAN CAN(Controller Area Network)은 차량 내 전자 제어 장치(ECU) 사이의 안전한 데이터 교환을 위해 이용되는 시리얼 통신 기술 DLC CAN 데이터 길이 코드(Data Length Code, DLC)는 CAN에서 4비트로 구성, 0에서 8까지 9개의 데이터 필드가 가능 -> 8Byte DLC CANFD 9에서 15까지 DLC의 남은 값이 CAN FD에 이용 -> 64Byte 참고 - vector사 CAN 소개 https://elearning.vector.com/mod/page/view.php?id=1885 2022. 9. 16. 시리얼 통신 RS-232 1. RS-232란 EIA에서 표준으로 제정한 통신 규격 직력 방식의 인터페이스 중 하나 RS232는 직렬 통신, 한 번에 한비트의 정보를 전달 USB to RS-232 Communication 2. RS-232 구성 필수핀 (TxD, RxD, GND) - TxD(Transmit Data) : 비동기식 직렬통신 장치가 외부 장치로 정보를 보낼 때 직렬통신 데이터가 나오는 신호선 - RXD(Receive Data) : 외부 장치에서 들어오는 직렬통신 데이터를 입력 받는 신호선 - GND(Ground) : 양단 전위차를 주기 위한 기준 값 3. 전송 전압 일반적으로 -12V(논리 0), +12V(논리 1)의 전압을 사용 다른 MCU와 TTL 레벨과 다르게 1과 0을 전송하기 위해 12V를 사용 대부분 MCU.. 2022. 6. 20. 심층 신경망 심층 신경망(Deep Neural Network)이란? - 실제 학습데이터들은 입력벡터의 차원이 크고 개수가 몇 만개 이상이므로 복잡한 신경망 네트워크가 필요 - 다층 신경망을 여러 겹의 계층으로 쌓아서 학습 모델을 구현한 것 - 딥러닝 알고리즘 과적합(Overfitting) - 과적합은 분류 모델이 훈련 데이터의 각 샘플에 너무 가깝게 맞춰지는 현상 - 과적합이 발생할 경우, 훈련 데이터에 대해 정확도가 100%에 가깝게 수렴하지만 새로운 데이터에 대한 분류 성능이 떨어짐 과소적합(Underfitting) - 훈련 데이터에 대해 학습이 부족하여 데이터의 다양성을 반영하지 못하는 분류 모델이 선택되는 현상 ※ 과적합은 Layer 수가 너무 많거나 변수가 복잡해서 발생 Batch - 1 epoch 의미 :.. 2022. 2. 20. [jetson nano] 젯슨나노 GPIO 이용 서보 모터 구동 젯슨나노 보드(B01)의 GPIO를 이용해 서보 모터 구동을 해보겠습니다. 젯슨 나노 보드에 PWM generator가 가능해서 PIN 설정한 뒤, PWM 신호로 서보모터를 구동해보겠습니다. 필요한 것 서보모터 (SG-90사용) M-F 점퍼선 (Male-Female Jumper Wires) PWM이란 Pulse Width Modulation의 약자로 일정한 주기 내에서 Duty비를 변화(펄스폭 조절)시켜서 평균 전압을 제어하는 방법입니다. 일반적으로 MCU 내부의 내장 타이머 카운트를 이용해 제어합니다. PWM을 이용하면 디지털신호로 아날로그 신호와 유사한 효과를 나타낼 수 있고, PWM 출력을 통해 조명의 밝기 제어, 모터의 속도 제어 등에 이용됩니다. Duty 비(Duty ratio)는 주기 당 펄스.. 2022. 2. 15. 이전 1 2 3 다음