전체 글 149

포팅

1.정의어느 한 운영체제에서 작동하는 프로그램을 다른 운영체제에서 작동하도록 프로그램을 변경하는 것임베디드에서는 한 프로세서에서 작동하는 OS를 다른 종류의 프로세서에서 작동이 되도록 하는 것 2.임베디드의 OS복잡한 장치라면 OS를 설치하여 메모리간의 효율과 제어, CPU 사용효율 등 장치의 효율적인 작동을 할 수 있다.예시로 스마트폰을 들 수 있다. 3.포팅 과정   포팅을 하려면 "Target Board"와 "PC"가 있어야한다.  PC의 운영체제 파일을 Target Board로 이식하기 위해 파일을 변경해야하는데  여기서 "부트로더"가 파일 변경을 해준다. (부트로더는 Target Board의 칩 제조사가 제공한다.) Target Board와 PC 는 JTAG으로 통신하고 TargetBoard에는..

10_STM32 2024.10.09

드라이버 프로그래밍

https://learn.microsoft.com/ko-kr/windows-hardware/drivers/gettingstarted/ Windows에서 드라이버 시작 - Windows driversWindows의 드라이버에 대한 기본 개념을 알아보려면 여기에서 시작하세요.learn.microsoft.com 마소 글을 정리해놓는다.1.드라이버란    드라이버 : 운영체제와 디바이스가 통신할 수 있는 소프트웨어 구성요소      앱에서 디바이스를 통해 값을 받는 경우 아래 순서로 동작한다.           -> 운영체제에서 구현된 함수를 호출           -> 그 후, 운영체제는 드라이버에서 구현한 함수를 호출           -> 드라이버가 데이터를 가져오면 운영체제에 데이터 제공하고 운영체제가 ..

3_c#/IT 지식 2024.10.09

2. Observer 패턴

1.Observer 패턴-옵저버 패턴은 출판사와 구독자의 관계와 같다. ( 출판사는 subject 구독자는 옵저버 )-출판사는 구독자가 해지한다고 말하지 않는 한 계속 신문을 배달. -이 패턴에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는방식으로 일대다 의존성을 정의한다.-데이터의 주인은 subject이다. -옵저버는 데이터가 변경되었을 때 주제에서 갱신해 주기를 기다리는 입장이기 때문에 의존성을 가진다. -이런 방법을 사용하면 여러 객체에서 동일한 데이터를 제어하도록 하는 것에 비해 깔끔한 객체지향 디자인이 가능하다. -주제가 옵저버에 대해서 아는 것은 옵저버가 특정 인터페이스를 구현한다는 것 뿐이다. -옵저버는 언제든지 새로 추가할 수 있다. ..

1. Strategy 패턴

0.Strategy 패턴 이 패턴에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다.이를 잘 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.알고리즘은 객체의 동작이라고 볼 수 있다. 동적으로 이 "객체의 동작"을 바꿀 때 유용    >> 알고리즘이 클래스의 정의와 독립적으로 변경될 수 있어야 할 때 사용한다.  디자인 원칙 1 : 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다.코드를 변경하는 과정에서 의도하지 않은 일이 일어나는 것을 줄이면서 시스템의 유연성을 향상시킬 수 있다. 디자인 원칙 2 : 구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다. 디자인 원칙 3 : 상속보다는 구성을 활용한다.상속은 불필요한..

0.객체 지향 언어와 C#

객체 지향 언어가 추구하는 코딩 방식을 이해하고 이를 기반으로 코딩을 한다면보다 효율적인 방식의 프로그램을 만들 수 있다.이에 더 나아가고자 한다면 여러 디자인 패턴을 통해 도움을 받을 수 있다.  0.객체지향 -프로그램을 보다 유연하고 변경이 용이하게 만들 수 있다 -코드의 변경을 최소화하고 유지보수를 하는 데 유리하다. -코드의 재사용을 통해 반복적인 코드를 최소화하고, 코드를 최대한 간결하게 표현할 수 있다. - 4가지 특성을 갖는다 : 추상성 / 상속 / 다형성 / 캡슐화 1. 추상화 -사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것 -객체지향의 추상화 : 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 - C#에서 추상화 지원 방식 : 추상클래스 / 인터페이..

2022-2 프로젝트 : PWM 발생기 / 수신기 _ 회로도

1. PWM 발생기 1k로 되어있는 것은 가변저항이다. 딥스위치를 조작해서 저항의 값을 조작할 수 있다. 가변저항의 저항값은 적당한 PWM 신호를 만들기 위해 조절 할 수 있도록 설계한 것이다. 다만, 1k로 고정한 상태로 사용한다. NE555는 저항값을 조절하여 PWM의 Duty Ratio를 설정할 수 있다. 커패시터의 충전과 방전시간의 비율을 조절한다고 보면된다. 2. PWM 수신기 아래 회로도에서 삼상스위치의 ABC는 같은 지점을 의미한다. 이 회로는 PWM 발생기에서 내보내는 신호를 아날로그 방식으로 분해한다. Duty Ratio에 따라 다르게 나오는 전압값을 토대로 신호를 구분하기 때문에 "신호 구분기"라고도 부르기도 한다. 전압값을 구분하기 위해 AD 컨버터(adc 0802) 를 이용한다. 이..