본문 바로가기

전체 글841

경기도 광주 경안천습지생태공원 평소에 이용 제한시간이있고, 호우경보가 있는 경우 출입이 제한된다. 나무데크길이 잘되어있어서 산책하기 좋다. 2023. 7. 31.
구글 애드센스 첫 수익 정산 후기 작년 4월 블로그를 처음 개설한 이후 14개월만에 누적 수익이 100불을 돌파해서 이번에 정산을 받았다. 구글 애드센스 정산일은 매월 21일인데, 수익이 기준액(디폴트 100달러) 이상이 되면 지급수단으로 등록된 계좌로 수익금을 송금해준다. 나의 경우엔 수익금이 US$105.22 이었고, 지급수단으로 원화통장을 등록해둬서 수수료 공제하고 117,770원이 오늘 아침에 입금되었다. 2023. 7. 24.
Types of IC Packages IC 패키지 종류 https://electrical-information.com/package-types/ Types of IC Packages There are way too many different types of semiconductor (IC or transistor) packages. For example, SO electrical-information.com 2023. 7. 24.
W25Q64JV, SPI Interface NOR 플래시 메모리 데이터시트 분석 TMS320F28388D DSP 사용 기준으로 작성되었다. W25Q64JV 스펙 64Mbit(=8MB) 용량을 가진 Winbond사의 Serial Flash Memory이다. Pin Configuration 다음과 같이 핀을 연결한다. 데이터시트를 보면 모든 instruction 직전에 /CS핀의 falling edge가 필요하므로 /CS핀을 GND에 묶어두거나 하는 건 안된다. MCU SPI MOSI → Flash DI MCU SPI MISO ← Flash DO MCU SPI CLK → Flash CLK MCU CS용 GPIO → Flash /CS 작동전압은 2.7V to 3.6V이다. SPI Baud Rate TMS320F2838x 매뉴얼을 확인하면 설정 가능한 최대 SPI Baud Rate는 LSP.. 2023. 7. 24.
STM32 ] TouchGFX, 하드웨어와 상호작용하기 1. TouchGFX Designer에서 사용보드를 선택하고 New Project를 생성한다. 2. Designer 툴에서 GUI를 만들고 Generate Code를 한다. 3. 프로젝트 경로에 들어가면 .ioc 파일과 STM32CubeIDE 프로젝트 파일이 있다. 4. STM32CubeMX로 .ioc 파일을 편집하고 STM32CubeIDE로 .cproject를 열어 편집할 수 있다. 5. 하드웨어 상호작용 코드 작성 아래 경로에서 main.c와 gui관련 .cpp 파일을 수정할 수 있다. TouchGFX는 OS없이도 실행할 수는 있지만 그렇게 하면 다른 Task와 TouchGFX 함께 실행하기 어렵기 때문에 FreeRTOS 환경에서 테스트하며 개발되었고 자동생성 코드도 FreeRTOS와 같이 제공된다... 2023. 7. 18.
extern "C" {} extern "C" {} 는 .cpp 소스파일에서 C 스타일로 작성된 함수나 변수를 사용하기 위한 C++의 키워드로, extern "C" {} 문구를 사용하면 해당 블록 내에 있는 함수나 변수를 C 스타일로 링크하도록 지시할 수 있다. C++ 컴파일러는 C++ 언어의 특징을 따르는데, C++은 함수 오버로딩, 이름 맹글링(name mangling) 등의 기능을 지원하기 때문에 C 와는 다른 링킹 규칙을 가지고 있다. 따라서 extern "C" 키워드를 사용하면 C++ 코드에서 해당 블록 내에 선언된 C 함수나 C 변수를 호출 또는 참조할 때 C 스타일의 링킹 규칙을 따르도록 한다. extern "C" { // C 함수 extern void myCFunction(int arg); } extern "C" {.. 2023. 7. 18.
STM32 ] TouchGFX 설치하고 여러 Widget과 Interaction 사용 해보기 TouchGFX 설치하고 사용해보기 HTML 삽입 미리보기할 수 없는 소스 1. 공식 웹사이트에서 TOUCHGFX를 다운받아 설치한다. https://www.st.com/en/embedded-software/x-cube-touchgfx.html X-CUBE-TOUCHGFX - STMicroelectronics X-CUBE-TOUCHGFX - TouchGFX advanced and free of charge graphical framework optimized for STM32 microcontrollers, X-CUBE-TOUCHGFX, STMicroelectronics www.st.com 압축 해제 후 아래 경로에 .msi 설치파일이 있다. Utilities\PC_Software\TouchGFXDesi.. 2023. 7. 17.
RALT (Radar Altimeter) What is Radar Altimeter? A radar altimeter (a.k.a. radio altimeter, Rad Alt, RALT) is a small, low-power, downwardlooking radar ranging system which measures aircraft height above terrain and obstacles. Rad Alts are used on all types of civil and military aircraft, including transport and cargo airplanes, private airplanes, helicopters, combat aircraft, missiles, UAVs, etc. Reference : https://a.. 2023. 7. 17.
ECM, Chaff and flare Electronic Counter measures, ECM은 적의 레이더 시스템이나 유도 무기를 혼란시키거나 분산시키는 데 사용되는 방어 또는 공격 기술이다. 채프 chaff : 금속 혹은 플라스틱로 만들어진 작은 조각들로 구성된 소형 반사체로 레이더 신호를 산란시켜서 주의를 분산시키는 역할을 한다. 레이더 신호가 chaff 조각들에 닿으면 신호가 퍼져서 정확한 위치를 파악하기 어렵게 한다. 플레어 flare : 열 표적 생성기. 미사일과 같은 열 추적 무기의 탐지를 어렵게 만드는 역할을 한다. 항공기에서 발사된 flare는 뜨거운 열을 방출하여 미사일은 항공기 대신 flare을 추적하게 되며, 항공기의 위협을 분산시킨다. 2023. 7. 17.
SMPS (Switched Mode Power Supply) SMPS란 SMPS는 전력원으로부터 교류 전원을 받아서 직류 전원으로 변환한 뒤 다른 전자기기로 직류 전원을 공급하는 전원 공급 장치를 말한다. SMPS의 원리 일반적으로 배터리 및 상용 AC 전원으로부터 안정적 전원을 변환하여 공급하는 방식에는 크게 선형 제어(series regulator) 방식과 스위치 모드(switched mode) 방식이 있는데 SMPS는 이름에서 볼 수 있듯이 스위칭 트랜지스터 등을 이용하는 스위치 제어 방식을 사용한다. SMPS는 반도체 스위치 소자의 온오프(on-off) 시간 비율을 제어하여 출력을 안정화시킨다. 먼저 공급받는 전류나 전압을 스위치 소자를 이용해여 일정하게 쪼개는데 이렇게 쪼갠 전압원을 스위칭 주파수라고 하며, ON 시간이 길면 출력되는 DC 전압이 높아지고.. 2023. 7. 17.
경기도 가평 다둥이네 캠핑장 입실 13시 퇴실 11시 전일팀 없으면 9시에 입실가능. 밤나무존과 차양막존이 있는데 밤나무존이 나무그늘이라 더 시원한 대신 텐트앞 주차가 안된다. 계곡물은 얕은편이다. 하류로가면 깊어지는 구간이 있지만 유속이 꽤 빠르다. 입구쪽에 축사가 있다. 오는길에 들른 북한강 브리끄 카페 2023. 7. 17.
강원도 양양 오색 장군바위 캠핑장 가는길에 들른 천진해수욕장 바다는 얕고 잔잔했다. 화장실은 있지만 샤워실은 닫혀있고 발씻는곳이 안보였다. 입실 13시 퇴실 11시 화장실, 샤워실 깔끔함 계곡뷰 독립사이트 좋음 배전함 가까움 와이파이 가능 2023. 7. 12.
MIL, SIL, PIL and HIL Summary “M”, “S”, “P” and “H” are all referring to the Controller status. They represent how real the controller is. MIL uses the Controller Model SIL uses the C code converted from Model PIL uses the Controller Processor only (no I/O connectivity) HIL uses the full Controller Hardware, including I/O. Terms These terms are used in the context of control systems development which means that typic.. 2023. 7. 11.
VSCode ] 새로고침 reload window VSCode Window를 새로고침하는 법 Ctrl + Shift + P 로 Command Palette를 열고 reload window 타이핑하고 선택 참고. Command Palette 는 View에서 열 수도 있고 F1을 눌러 열 수도 있다. 새로고침 단축기 설정하는 법 Open Keyboard Shortcuts (JSON) 선택 원하는 bindingKey와 함께 아래와 같이 입력 [ { "key": "ctrl+f5", "command": "workbench.action.reloadWindow", "when": "editorTextFocus" } ] 혹은 작업영역에서 폴더 삭제 후 재오픈 2023. 7. 11.
왜 Windows 만 path 구분자로 Backslash를 사용할까 웹 (http://www.google.com/), 리눅스 (/home/user/), Android 등 대부분의 곳에서 path 구분자로 / forward slash를 사용하는데 왜 윈도우만 \ backslash를 사용할까? MS-DOS 1.0 시절에는 디렉터리를 지원하지 않았고 / 를 명령어의 옵션을 선택하는 용도로 사용했다. 현재도 명령 프롬프트에서 dir /? 를 치면 dir 명령어로 사용가능한 옵션의 목록을 볼 수 있다. MS-DOS 2.0 시절부터는 디렉터리 지원을 도입했지만 / 문자는 이미 다른 용도로 사용하고 있었기 때문에 시각적으로 가장 비슷해 보이는 문자인 \ 를 path 구분자로 사용하기로 했다. 즉 윈도우만 path 구분자로 backslash를 사용하는건 DOS시절의 레거시인 셈이다. .. 2023. 7. 11.
VSCode ] 코드 자동정렬 단축키 및 들여쓰기 간격 설정 코드 자동정렬 드래그앤드랍으로 블락 선택 후 아래 단축키 입력 Windows : Shift + Alt + F macOS : Shift + Option + F Linux : Ctrl + Shift + I 저장시 자동정렬 켜기/끄기 File - Preferences - Settings - formatonsave 검색 후 체크/체크해제 들여쓰기 간격 설정 하단의 Spaces 선택 Indent Using Spaces 선택 후 Tab Size for Current File 설정 2023. 7. 11.
윈도우10 탐색기에서 최근에 사용한 파일 / 폴더 목록 지우기 탐색기 - 옵션 - '폴더 및 검색 옵션 변경' '최근에 사용된 파일 / 폴더 표시' 체크 해제 후 지우기 클릭 2023. 7. 11.
Windows ] TFTP Client 기능 켜기 제어판 - Windows 기능 켜기/끄기 - TFTP 클라이언트 체크 명령 프롬프트에서 tftp 명령어를 통해 사용 가능하다. 바이너리 파일을 송신하는 경우엔 -i 옵션을 써야 whole 파일이 문제없이 전송이 되었다. 2023. 7. 11.
C# ] 명령프롬프트, 시스템 명령어 실행 using System; using System.Diagnostics; class Program { static void Main(string[] args) { string Command = "dir"; ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "cmd.exe"; startInfo.Arguments = "/C " + Command; Process process = new Process(); process.StartInfo = startInfo; process.Start(); } } C++에서 system("") 함수를 사용하여 시스템 명령어를 실행할 때는 내부적으로 명령 프롬프트를 호출하는 작업이 숨겨져 있어서 간.. 2023. 7. 11.
C++ ] 시스템 명령어 실행 #include #include int main() { const char* command = "ls"; // 실행할 명령어 int result = system(command); // 명령어 실행 if (result == 0) { std::cout 2023. 7. 11.
C, C++ ] system("pause") 대신 사용할 수 있는 방법 system("pause")는 운영체제에 종속적이고 운영체제에게 "pause"라는 명령을 실행하도록 요청하므로 비슷한 기능을 구현할 다른 방법을 생각해보자. C 윈도우 환경에서만 가능한 방법 #include #include int main() { printf("Press any key to continue...\n"); while (!_kbhit()); (void)_getch(); return 0; } conio.h 는 윈도우에서만 사용 가능하다. C #include int main() { printf("Press Enter to continue...\n"); (void) getchar(); return 0; } getchar()는 표준 라이브러리이기 때문에 이식성이 좋으며, 보다 간단하게 사용자의 입력.. 2023. 7. 11.
CAN FD Bus Load Calculator CAN FD Bus Load Calculator Classic CAN bus load 계산기는 인터넷에 찾으면 있던데 CAN FD는 아무리 찾아도 안보여서 직접 만들었다. 공식은 아래 사이트를 참고했다. https://ieeexplore.ieee.org/document/8338047 2023. 6. 25.
readelf 명령어와 elf 파일 구조 ELF 파일 HTML 삽입 미리보기할 수 없는 소스 소스코드를 컴파일하면 목적코드로 변환되고, 목적코드와 필요한 라이브러리들을 링커커맨드파일 정보를 통해 링킹하는 과정이 끝나면 실행가능한 이진형식 파일인 Executable and Linkable Format 파일이 생성된다. ELF 파일의 구성 ELF 파일 기본 정보를 포함한 ELF Header 세그먼트의 정보를 포함한 Program Header Table 섹션에 대한 정보를 포함하는 Section Header Table Program Header Table 또는 Section Header Table의 엔트리들에 의해 참조되는 데이터 이 중섹션들이 링킹과 재배치에 필요한 중요한 정보를 포함하는 반면, 세그먼트들은 파일의 런타임 실행에 필요한 정보를 포함.. 2023. 6. 25.
소프트웨어 신뢰성 시험 - 동적 시험 Dynamic Testing 소프트웨어 신뢰성 시험 소프트웨어가 일으킬 수 있는 결함을 식별하는 시험으로 정적시험과 동적시험으로 구성된다. 동적 시험 Dynamic Testing 소프트웨어를 실제 하드웨어(Target)에 탑재한 상태에서 소프트웨어통합시험절차서(STD)에 기술된 시험절차에 따라 요구사항기반으로 Code Coverage(실행률)을 점검하는 것을 말한다. 동적 시험 종류와 기준 설정 Code Coverage는 전체 소스 코드에서 시험된 코드를 백분률(%)로 나타낸 것이며, 그 종류는 시험 수준에 따라 Statement Coverage, Branch Coverage, MC/DC (Modified Condition/Decision) Coverage로 구분된다. 이 중 Statement 가 가장 기본적인 수준이고, Branc.. 2023. 6. 25.
소프트웨어 신뢰성 시험 - 정적 시험 Static Testing 소프트웨어 신뢰성 시험 소프트웨어가 일으킬 수 있는 결함을 식별하는 시험으로 정적시험과 동적시험으로 구성된다. 정적 시험 Static Testing 소프트웨어를 실행하지 않은 상태에서 잠재적인 결함을 검출하는 시험. Coding Rule , 취약점 점검, Source Code Metrics 으로 구성된다. 정적 시험 종류 1. Coding Rule 방위사업청 코딩규칙은 무기체계 소프트웨어 개발 및 관리 매뉴얼 [부록 6]에 나와있으며 비교적 간단하다. 차량용 임베디드 소프트웨어나 신뢰성과 안정성이 매우 중요한 시스템의 소프트웨어의 경우 MISRA C 를 적용하기도 한다. 2. 취약점 점검 소스코드에 발생빈도가 높은 취약점을 표준화한 목록인 CWE(Common Weakness Enumeration) 항목을.. 2023. 6. 25.
JTAG, SWD JTAG (Joint Test Action Group)과 SWD (Serial Wire Debug)는 MCU와 통신을 통해 디버깅과 플래시 프로그래밍을 가능하게 해주는 인터페이스이다. JTAG와 SWD는 서로 다른 프로토콜이며, JTAG는 여러 디바이스에 널리 사용된다는 장점이 있고 SWD는 비교적 간단한 구성을 가지고 있다는 장점이 있다. VCC와 GND 제외 필수 연결 핀은 다음과 같다. HTML 삽입 미리보기할 수 없는 소스 TCK (Test Clock) : 클럭 신호 전송핀. 디버깅 장치와 타겟 장치 사이의 동기화 역할을 한다. TMS (Test Mode Select) : 타겟 장치의 상태를 테스트 모드로 선택하는 데 사용되는 핀. TDI (Test Data In) : 데이터 전송핀(디버깅 장치→.. 2023. 6. 25.
PXI PXI PCI eXtensions for Instrumentation PXI (PCI eXtensions for Instrumentation) is a proven PC-based platform for measurement and automation systems. PXI uses commercial PC-based PCI bus technology while combining rugged CompactPCI modular packaging, as well as key timing and synchronization features. PXI systems are composed of three main hardware components: chassis, controller, and peripheral.. 2023. 6. 25.
RWR, Radar warning receiver 전투기의 전자전 시스템의 요소로써 상대방 전투기의 레이더의 전파를 수신하여 파일럿에게 자신이 탐지되고 있다고 알려주는 전자장비이다. RWR 장비에는 다양한 레이더 전파 패턴에 대한 자료가 저장되어 있으며, 만약 RWR의 안테나가 레이더 전파를 수신하면 해당 전파를 분석, 이것이 아군 것인지 적군 것인지, 적군 것이라면 어느 방향인지, 그 전파가 추적용인지 탐색용인지 판단한다. 그리고 조종사에게 '여기 여기 방향에서 레이더 전파가 날아오고 있음.'이라고 알려준다. 통상적인 레이더는 탐색용 전파와 추적(흔히 말하는 락온 상태)의 레이더가 다르므로 이를 통해서 적이 단순히 탐색만 하고, 아니면 나를 추적하는지 알 수 있다. 적이 나를 추적한다는 것은 적이 나에게 미사일을 조준할 가능성이 커지므로 조종사는 알아.. 2023. 6. 25.
UDS (차량용 진단 통신) UDS (차량용 진단 통신) HTML 삽입 미리보기할 수 없는 소스 UDS란 Unified Diagnostic Services의 약자로 차량의 전자제어장치(ECU, Electronic Control Units)들 간에 진단, 펌웨어 업데이트, 테스트 목적의 통신에 사용되는 프로토콜이다. 주로 CAN(Controller Area Network) 버스를 통해 CAN 메시지형식으로 통신하는것이 일반적이지만 UDSonLIN, UDSonIP(UDS) 등 여러 Variation이 있다. UDS는 요청기반(Request based) 프로토콜로 클라이언트-서버 관계에서 수행되며 테스터 툴이 클라이언트가 되고, ECU가 서버가 된다. 실제로 차에 있는 OBD2 커넥터를 통해 CAN bus 인터페이스에 연결하고 UDS r.. 2023. 6. 9.
성남 제1공단근린공원, 희망대공원 성남제1공단근린공원 주출입구쪽에 공영주차장이 있는데 유료인것같다. 그리고 부출입구쪽의 세이브존 옥외 주차장이 19:00~9:00 동안 무료개방한다. 지은지 얼마 안되서 그런지 시설이 매우 좋다. 희망대공원 왼쪽의 희망대공원 주차장은 현재 아파트 공사중이라 출입이 어렵고, 성남도서관 주차장이 야간 무료개방이다. 배드민턴장도 있고 시설도 좋아보였는데 저녁시간에 가니 사람은 별로 없었고 불이 켜있지 않은곳도 많았다. 등산하는 느낌의 산책을 할 수 있다. 2023. 6. 9.