목록분류 전체보기 (46)
개발자 블로그
동기 비동기, Thread, UI Thread, Timer, Task..등의 관계에 대해서 시리즈로 정리 해봄. 혼자 복습하는 차원에서 정리한거니 잘못된 내용 있으면 피드백 주시면 감사하겠습니다. 제일 먼저 알아야 할 개념 일거 같은게 동기(Synchronous)와 비동기(Asynchronous)의 차이는 주로 작업의 처리 방식과 그에 따른 프로그램의 흐름 제어에 있다. 동기 (Synchronous)동기 방식에서는 작업이 완료될 때까지 호출한 코드가 대기.작업이 끝날 때까지 프로그램 실행이 멈추고, 작업이 끝난 후 다음 코드로 진행.특징직렬 처리: 작업이 순차적으로 처리블로킹: 작업이 완료될 때까지 호출한 코드 멈춘다.단순성: 구현이 비교적 간단하며, 흐름을 파악하기 쉽다. 비동기 (Asynchron..
using System;using System.Threading;using System.Threading.Tasks;public class TaskExample{ private static CancellationTokenSource cts; public static async Task Main() { cts = new CancellationTokenSource(); var task = Task.Run(() => DoWork(cts.Token), cts.Token); // 5초 후 작업 중단 요청 await Task.Delay(5000); cts.Cancel(); await task; Console.Wr..
Thread safe 한 방법을 찾는 중 참조형 객체를 사용하여 동기화를 이루는 방법에 대해 보다가 참조형 객체에 대해 정리를 해봤다. 참조형 객체 : 참조(포인터)를 통해 접근하는 객체값 형식 (Value Types)값 형식은 데이터를 직접 저장하며, 스택(Stack)에 저장됩니다. 값 형식에는 다음과 같은 데이터 타입이 포함됩니다:기본 타입: int, float, double, bool 등구조체(struct)열거형(enum)값 형식 변수는 해당 변수를 할당하거나 전달할 때 실제 데이터를 복사합니다.참조 형식 (Reference Types)참조 형식은 실제 데이터의 참조를 저장하며, 힙(Heap)에 저장됩니다. 참조 형식에는 다음과 같은 데이터 타입이 포함됩니다:클래스(class)배열델리게이트인터페이스..
STM32 Boot Loader 관련 문서 : AN2606(글 작성당시 문서 Rev은 : 63) IC 별 Boot Loader version 이 구분되어있고 사용하고자 하는 IC의 version을 먼저 확인해야한다. Target : STM32F407VG1. BootLoader Version : V3.x, V9.1 지원한다. (여기선 V9.1로 정리)2. Bootloader activate Pattern : Boot0(pin) = 1 and Boot1(pin) = 03. BOOT RAM size = 12Kbytes, starting from 0x2000_0000, are used by the bootloader firmware.4. 난 UART3(pin은 PB11/PB10, PC11/PC10, Rx/T..
Ubuntu에서 ST-Link V2 디바이스의 펌웨어를 업데이트하는 방법은 다음과 같습니다. ### 1. 필요한 패키지 설치 먼저, 필요한 패키지를 설치합니다. 터미널을 열고 다음 명령어를 실행하세요. ```bash sudo apt-get update sudo apt-get install libusb-1.0-0-dev ``` ### 2. ST-Link 유틸리티 다운로드 ST-Link 유틸리티를 다운로드합니다. ST의 공식 웹사이트에서 최신 버전을 다운로드할 수 있습니다. [ST-Link/V2 드라이버 및 펌웨어 업그레이드](https://www.st.com/en/development-tools/stsw-link007.html) 페이지로 이동하여 Linux 버전을 다운로드합니다. ### 3. 다운로드한 파..
TDO 핀근처에 저항을 배치하는게 좋다커패시터 사용 가이드라인전원 디커플링 (Decoupling)마이크로컨트롤러와 디버거의 전원 핀 근처에 디커플링 커패시터를 배치합니다.일반적으로 0.1µF (100nF) 세라믹 커패시터를 사용하여 전원 노이즈를 줄입니다.이 커패시터는 마이크로컨트롤러의 VCC와 GND 사이에 배치합니다.클럭 안정성TRACECLK 핀과 같은 고속 클럭 신호의 경우, 필요에 따라 소형 커패시터를 사용하여 신호 품질을 향상시킬 수 있습니다. 이는 고속 신호 전송 시의 잡음을 줄여줍니다.예를 들어, TRACECLK 핀에 22pF ~ 100pF 정도의 커패시터를 추가할 수 있습니다. 다만, 필요 여부는 신호 무결성 테스트를 통해 결정됩니다.신호 라인 커패시터TRACEDATA 핀과 같은 데이터 라..
예전에는 해당 기사를 보다가 내용만 대충 훑었으나 이제는 정확히 알아야 되는거라 정리하게 되었다. ARM에서 TRACE32 를 사용하기 위해서 배경지식으로 알아야 하는 내용이다. https://www.epnc.co.kr/news/articleView.html?idxno=45631 디버깅을 위한 CoreSight의 이해 ①MDS테크놀로지에서 산업용 표준 디버깅 솔루션 ‘TRACE32’ 기술지원을 맡고 있다. 교육과 세미나를 통해 TRA CE32의 다양한 실전 사례와 활용방법을 임베디드 개발자들과 공유하고 있다.www.epnc.co.kr시리즈로 1,2,3 까지 있다. 1. Coresight 역사2005년 ARMv7 Architecture가 나오면서 ARM11 까지 유지했던 debug logic에 변화를 주..
핀 연결에 대해서 알아보자. ST Link Debuggernucleo board용도Pin NoJtag 연결시SWD 연결시CN7,10CN41VCC 3V31Target Board의 전압확인용3TRST(Test Reset) PB4 Jtag 5pin 디버깅 추가(Jtag Test Logicreset)5TDI(Test Data In PA15 JTAG 4pin 디버깅7TMS(Test Mode SelectSWDIO(Serial Wire Debug Data Input/Output)PA134JTAG 4pin 디버깅9TCLK(Test Clock)SWCLK(Serial Wire Debug Clock)PA142JTAG 4pin 디버깅11RTCK(Return Test Clock) 13TDO(Test Data Out)SWO..