반응형

내가 만든 어떤 PCB를 모듈화를 시켜서 다른 PCB설계에서 불러와 모듈처럼 사용할 수 있다.

아래와 같은 PCB를 모듈화를 시켜 다른 PCB설계에 불러와 본다.

 

이 기능은 Allegro PCB Designer이상의 라이센스에서 사용 가능하다.

 

 

1. Color로 모듈에 불러오고자 하는 부분만 Display로 조정을 한다.

필자는 Bottom면만을 모듈로 불러오고자 해서 컬러로 나머지는 숨기고 불러오고자 하는 부분을 조정했다.

 

2. Tools - Create Module 선택 후 전체 드레그

 

3. 모듈의 중심점 좌표 입력. (마우스로 클릭 또는, command에 좌표 x 0 0 를 입력해도 됨)

모듈의 이름을 입력하고 저장 (확장명은 .mdd 로 저장된다)

(결과) 이제 .mdd 파일으로 해당 모듈이 저장되었다.

 

반응형

<다른 PCB Design 설계에서 모듈 불러오기>

 

1. Place  - Manually

2. Advanced Settings 탭 - Library 체크박스 활성화

3. 모듈을 선택하고 마우스 드레그 또는 Command 좌표 배치 명령 입력

    <module definition 항목에서>

 

4. 모듈의 인스턴스 이름을 입력

    그럼 해당 모듈이 배치가 된다. (필요없는 항목은 컬러 안보이기를 통해 조절할 수 있다.)

 

반응형
반응형

윈도우는 제어판에서 무엇이 깔려있는지 확인할 수 있다.

마찬가지로 리눅스 우분투(Ubuntu) 에서 어떤 프로그램이 깔렸는지 확인하는 방법이 있다.

 

* 설치된 모든 프로그램 목록 보기

dpkg -l

설치된 모든 패키지 목록 확인

 

 

 

 

* 특정 패키지 이름 설치되었는지 확인하기

dpkg -l | grep 패키지이름

git이 깔려 있나 확인

파이썬이 깔려있나 확인

python이 설치되어 있는지 확인

 

 

CentOS 의 여부 확인은 아래 참고

https://ansan-survivor.tistory.com/1240

 

[CentOS 7] 리눅스 프로그램 설치 여부 확인하기 (패키지 존재 여부 확인)

윈도우는 제어판에서 무엇이 깔려있는지 확인할 수 있다. 마찬가지로 리눅스 CentOS 7 에서 어떤 프로그램이 깔렸는지 확인하는 방법이 있다. 이 명령어는 Redhat, CentOS에서 실행가능. * 설치된 모든

ansan-survivor.tistory.com

 

반응형
반응형

이 기능은 Allegro PCB Designer 라이센스 이상에서 가능하다. (Logic기능이 필요, OrCAD 라이센스 사용 불가)

 

 

회로설계를 끝나고 PCB배치까지 완료했으나, 기구팀과의 회의결과 PCB에 새로운 파트를 추가해야 되는 경우들이 발생할 수 있다.

그러면 OrCAD PCB 내에서 부품을 Copy하거나, 라이브러리에서 추가한 후 해당 부품의 풋프린트에 대해 refdes를 추가해주어야 한다.

 

 

아래의 방법대로 부품을 추가 한다면, PCB에 부품이 추가되지만, RefDes가 할당되지 않는다. (Reference)

고로 수동으로 Reference를 추가할 수 있다.

반응형

(부품을 복사해서 추가한 경우)

https://ansan-survivor.tistory.com/1239

 

[PCB Editor] OrCAD / Allegro PCB 부품 offset 복사 (part symbol offset placement)

OrCAD PCB에서 소켓과 같은 풋프린트 심볼(footprint symbol)을 일정 거리만큼 offset시켜서 복사 배치를 할 수 있다. 1. Find에서 심볼만 선택할 수 있도록 활성화 2. 복사하고자 하는 심볼 선택 - 마우스우

ansan-survivor.tistory.com

 

(부품을 라이브러리에서 추가한 경우)

https://ansan-survivor.tistory.com/386

 

[PCB Editor] Allegro PCB 네트리스트 없이 PCB 부품 배치하기, 회로도없이 PCB부품 배치 (PCB보드에 바로 D

이 기능은 OrCAD PCB에서 불가능하다. Allegro PCB 이상에서만 가능하다 고속 PCB 설계를 하다가 전원단의 노이즈 제거 이유로 Decap을 배치할 필요가 있다. 보통 OrCAD Capture에서 Netlist를 뽑아 그 정보로

ansan-survivor.tistory.com

 

새로 추가된 파트에 대해서 Refdes를 부여한다.

새로 추가되어 refdes가 부여되어있지 않는 파트들.

1. Logic - Part Logic

2. 새로운 Refdes를 넣기 위해서는 "Refdes, device, package" 정보가 필수로 넣어야 한다.

    기존에 배치되어있는 파트를 클릭하면 Refdes, Device, package가 알아서 입력된다. 여기서 Refdes만 바꾸면 된다.

 

3. 기존의 J refDes와 겹치지 않게 새로운 넘버를 할당하여 추가한다.

    보아하니 위에 J1부터 J6까지는 이미 할당되어 있음을 알 수 있다.

    그래서 새로 추가될 파트에는 J7부터 J10까지 부여할 것이다.

    그러면 아래 Refdes항목에 J7-10 이라고 입력

Refdes에 J7-10 을 입력, 나머지 속성은 그대로니 손대지 않고.

 

4. 새로운 Refdes 추가하기 "add" 클릭

뒤에 J7 부터 J10 까지 추가됨을 볼 수 있다. 확인 후 OK 클릭

5. 각각 Refdes를 새로 추가한 파트에 하나씩 추가하기

할당 되지 않은 Refdes 4개가 있다.

6. J7부터 하나씩 심볼들을 선택하며 부여

클릭한 순서대로 각각 부여된다.
끝나면, 마우스 우클릭 - Done

 

반응형
반응형

 

C언어 컴파일러 설치 명령어

sudo yum install -y gcc

    (필요하다면, 버전확인)

gcc --version

 

 

 

C++ 컴파일러 설치

sudo yum install -y gcc-c++

    (필요하다면, 버전확인)

g++ --version
반응형

 

(테스트)

 - c파일 생성 (vi 편집기로 만들기)

vi test.c

간단하게 코드 작성

 - 컴파일 하기 (test.c 코드를 컴파일 하여 "test"라는 프로그램 만들기)

gcc test.c -o test

 - 프로그램 실행하기

./test

반응형
반응형

윈도우는 제어판에서 무엇이 깔려있는지 확인할 수 있다.

마찬가지로 리눅스 CentOS 7 에서 어떤 프로그램이 깔렸는지 확인하는 방법이 있다.

이 명령어는 Redhat, CentOS에서 실행가능.

 

* 설치된 모든 프로그램 목록 보기

rpm -qa

* 특정 패키지 이름 설치되었는지 확인하기

rpm -qa | grep 패키지이름

파이썬이 깔려있나 확인
gcc 컴파일러가 깔려있나 확인

* 설치된 패키지의 자세한 정보 확인

rpm -qi 패키지이름

gcc의 패키지 정보 확인
파이썬의 설치 정보 확인

 

우분투(Ubuntu)의 여부 확인은 아래참고

https://ansan-survivor.tistory.com/1243

 

[Ubuntu] 리눅스 프로그램 설치 여부 확인하기 (패키지 존재 여부 확인)

윈도우는 제어판에서 무엇이 깔려있는지 확인할 수 있다. 마찬가지로 리눅스 우분투(Ubuntu) 에서 어떤 프로그램이 깔렸는지 확인하는 방법이 있다. * 설치된 모든 프로그램 목록 보기 dpkg -l * 특

ansan-survivor.tistory.com

 

반응형
반응형

OrCAD PCB에서 소켓과 같은 풋프린트 심볼(footprint symbol)을 일정 거리만큼 offset시켜서 복사 배치를 할 수 있다.

 

1. Find에서 심볼만 선택할 수 있도록 활성화

2. 복사하고자 하는 심볼 선택 - 마우스우클릭 - Drafting - Offset Copy

3. Options 탭에서 Offset할 간격 입력, 복사 갯수 입력

반응형

(결과) 해당 소켓을 위로(y축 방향) 2.54 만큼 offset을 주어 4개를 복사 배치했다.

 

 

(추가한 파트에 refdes를 부여하고 싶다면 아래 참고)

https://ansan-survivor.tistory.com/1242

 

[PCB Editor] OrCAD / Allegro PCB에서 회로 없이 부품(symbols)추가, refdes 추가해주기

이 기능은 Allegro PCB Designer 라이센스 이상에서 가능하다. (Logic기능이 필요, OrCAD 라이센스 사용 불가) 회로설계를 끝나고 PCB배치까지 완료했으나, 기구팀과의 회의결과 PCB에 새로운 파트를 추가

ansan-survivor.tistory.com

 

 

반응형
반응형

마이크로소프트는 무료버전인 community visual studio를 지원하고 있다.

그런데 기업에서 이 버전이 사용가능한가에 대해 사람들이 잘 모르고 있다.

아래 정리한다.

 

요약.

 - 1인 개인은 상업용 목적(개발 후 판매)을 포함해 사용 가능.

 - 강의 목적, 교육 목적, 학술 연구로 개발 및 테스트 가능. (교육용 연구용 사용 가능)

 - 기업이 아닌 조직인 경우, 5명의 개인 개발자들은 동시에 개발 및 테스트 가능

 - 기업(PC 사용자가 250대 이상, 연간 수익 100만달러 이상)인 경우, 오픈소스, 교육목적 제외하고 개발하거나 테스트 불가!

    ( * 100만달러 = 2022년 2월 3일 기준 환율 )

 

 

  1. 설치 및 사용 권한.
    1. 개인 라이선스. 판매 또는 기타 목적으로 자신의 응용 프로그램을 작업하는 개인인 경우 소프트웨어를 사용하여 해당 응용 프로그램을 개발하고 테스트할 수 있습니다.
    2. 조직 라이선스. 조직인 경우 사용자는 다음과 같이 소프트웨어를 사용할 수 있습니다.
      • 귀하의 사용자는 OSI(Open Source Initiative)에서 승인한 오픈 소스 소프트웨어 라이선스에 따라 릴리스된 애플리케이션을 개발 및 테스트하기 위해 소프트웨어를 사용할 수 있습니다.
      • 사용자의 수에 관계없이 온라인 또는 오프라인 강의실 교육 및 교육의 일부로 또는 학술 연구를 수행하기 위해 소프트웨어를 사용하여 응용 프로그램을 개발 및 테스트할 수 있습니다.
      • 위의 항목 중 어느 것도 적용되지 않고 귀하가 기업(아래 정의)이 아닌 경우 최대 5명의 개별 사용자가 소프트웨어를 동시에 사용하여 애플리케이션을 개발하고 테스트할 수 있습니다.
      • 귀하가 기업인 경우, 귀하의 직원 및 계약자는 위에 허용된 오픈 소스 및 교육 목적을 제외하고 소프트웨어를 사용하여 애플리케이션을 개발하거나 테스트할 수 없습니다. "기업"은 집합적으로 (a) 250대 이상의 PC 또는 사용자 또는 (b) 연간 수익이 100만 달러(또는 이에 상응하는 기타 통화) 이상인 조직 및 계열사를 의미하며 "계열사"는 다음을 의미합니다. (다수 소유권을 통해) 통제하거나 조직에 의해 통제되거나 조직과 공통 통제 하에 있는 엔티티.
    3. 데모 사용. 위에서 허용된 사용에는 응용 프로그램을 시연하기 위한 소프트웨어 사용이 포함됩니다.
    4. 백업 사본. 소프트웨어 재설치를 위해 소프트웨어의 백업 복사본을 하나 만들 수 있습니다.

 

 

 

(참고 자료: https://visualstudio.microsoft.com/license-terms/dn877550/)

 

License Terms | Microsoft Visual Studio Community 2013 - Visual Studio

 

visualstudio.microsoft.com

 

반응형
반응형

(알아두기)

컴퓨터는 32비트와 64비트를 많이 사용한다. 이는 1번 처리에 사용할 수 있는 메모리의 크기이다.

만약 32비트(4byte) PC라면, 8 byte를 할당해도 저장할 수 있는 공간은 4byte 뿐이다. 나머지는 애매한 크기는 낭비되는 것. 이는 하드웨어, OS, 컴파일러 스펙에 따라 다 다를 것임.

그래서 가능한 메모리공간이 많다면, 메모리는 크게 할당해주는 것이 좋다.

 

 

 

포인터는 어떤 이름(Lable)메모리의 어떤 주소를 가리키고 있는지에 관한 정보이다.

선언한 포인터 타입(type)가리키고 있는 주소의 타입(type)이 반드시 일치해야 한다. 

(아래 주소값은 PC마다 다르게 표현되므로 임의로 표시)

위 예시의 메모리는 주소 0x0000 부터 0xFFFF 까지 있다고 가정.

int타입num 변수명으로 10 이 저장되어있음.

10이 저장되어있는 num의 주소값 (0xA2D1) 으로 variable(주소를 담을 수 있는)포인터 변수가 가리키고있음

포인터변수도 역시 고유의 자리 주소값이 있음. (0x12F3)

 

 

variable에 저장된 값은 num의 주소값이므로, 출력하면 num의 주소값이 나옴. (서로의 type이 int이기 때문에 저장가능)

variable을 출력하면 num의 주소값이 나올 것임, &num을 출력하면 당연히 num의 주소값이 출력.

#include <stdio.h>


int main()
{
    // num에 10을 저장.
    int num = 10;

    // variable 이라는 int형을 담는 포인터변수에 num의 주소값을 넣음. (variable -> num 가리킴)
    int* variable = &num;

    // &num : num의 주소값 출력
    // variable에는 num의 주소값이 들어가 있으므로 동일하게 출력됨
    printf("num의 주소값: %x\n variable의 주소값: %x\n", &num, variable);
    printf("variable의 주소값은: %x임", &variable);

    return 0;
}

(결과 확인)

반응형

포인터는 크게 상수형변수형로 나눌수 있다.

배열 선언시 char arr[ ]; 이런식으로 선언하는데 실제 arr 은 상수형 포인터다. 즉 주소값을 알고있는 Lable이다.

그래서 char * arr; 이랑 똑같은 구조라 할 수 있지만, * 로 선언하면 "변수"로 선언했기 때문에 포인터 변수의 주소값을 바꿀 수 있고,

arr [ ] 으로 선언하면 상수이므로 그 주소를 바꿀 수 없다. 그리고 이 arr은 내 첫번째 배열값의 주소를 가리키고 있다.

 

(상수형 포인터와 변수형 포인터 관계에 대해서는 아래 참고.)

https://ansan-survivor.tistory.com/1249

 

[C언어] C언어 배열과 포인터의 관계 (변수형 포인터, 상수형 포인터), 포인터로 배열 변경하기

포인터에 대한 간단한 설명은 아래 참고. https://ansan-survivor.tistory.com/1237 [C언어] 포인터란? 포인터에 대해 쉽게 이해하기. (포인터 변수 사용하기, 포인터로 값 변경하기, (알아두기) 컴퓨터는 32비

ansan-survivor.tistory.com

 

 

 

<포인터가 가리키는 값을 사용하기>

 

포인터가 가리키는 주소의 내부 값을 빼서 사용하기.

아래와 같이 *포인터변수명 특수문자를 이용해서 포인터가 가리키고 있는 곳에 가서 값을 사용할 수 있다.

#include <stdio.h>


int main()
{
    // num에 10을 저장.
    int num = 10;

    // variable 이라는 int형을 담는 포인터변수에 num의 주소값을 넣음. (variable -> num 가리킴)
    int* variable = &num;

    printf("num의 값: %d\n", num);
    // *포인터변수 를 이용하면 포인터 내부의 값을 사용
    printf("variable이 가리키는 주소에 들어있는 값: %d\n", *variable);


    return 0;
}

 

 

 

<포인터가 가리키는 값을 변경하기>

 

*포인터변수 = 값 을 이용해 반대로 값을 덮어씌울 수 있다.

새로운 변수에 복사해서 값을 대입한것이 아니다. 이는 "덮어씌운" 것이다. 즉, num에는 이제 30값이 저장된 것이다.

 

===============================

 

(알아두면 좋은 사항)

 포인터에서 많이 보는 연산자는 * 일것이다.

*를 어떤타입과 어느 위치에 쓰냐에 따라서 특색이 다 다르다.

 

1. 곱셈으로의 역할 (아래와 숫자 사이, 숫자를 가진 변수와 연산과 함께 쓰면 곱셈이다)

  int a = 1 * 2 ;
  int b = a * 3 ;

 

2. 포인터 선언에 대한 역할 (아래와 같이 포인터로 선언할때 사용한다.)

   포인터로 선언했기 때문에, 이제 ptr에는 int형 타입의 주소값을 저장할 수 있다.

  int * ptr;

 

3. 포인터가 가리키는 값에 대한 접근 (*ptr)

// 포인터 선언
int * ptr;
int num = 1;

// ptr에 num의 주소를 대입
ptr = &num

// *ptr을 이용해서 num주소에 있는 값을 출력할 수 있음
printf("ptr value is : %d", *ptr);

// *ptr을 이용해서 가리키고 있는 값을 바꿀 수 있음 (num값을 3으로 바꿈)
*ptr = 3;

 

 

(포인터 변수를 초기화 할때 주의해야 할 점!)

https://ansan-survivor.tistory.com/1248

 

[C언어] 포인터 변수의 초기화 선언 (잘못된 사용시 위험성)

포인터를 배우기전 대부분 C언어 타입과 변수 선언에 대해서 배우게 된다. 그리고 연산을 위해 초기값을 0으로 선언하기도 한다. (포인터 에 관해서 아래 참고) https://ansan-survivor.tistory.com/1237 [C언

ansan-survivor.tistory.com

 

반응형
1···32333435363738···181

+ Recent posts