:::: MENU ::::
Browsing posts in: Infomation

git 관련 팁 – .gitignore

.gitignore를 설정 전에 원하지 않는 파일(예를 들면 소스가 아닌 컴파일된 obj 파일 같은..)이 repositary에 add/initilized된 경우는 cache를 지우고 tracking을 다시 설정해야 한다.
먼저 필요한 파일들을 commit한후 다음의 명령어를 실행한다.
cache 삭제

git rm -r –cached .

다시 tracking 하도록 설정

git add .

그 다음 commit

git commit -m “.gitignore is now working”


Sublime Text 단축키 -열선택

에디터에서 열선택 기능이 있으면 유용하다. Sublime Text의 맥버전에서는

Option + 마우스키

기타 많이 사용하는 단축키는

Editing

Keypress Command
⌘ + X Cut line
⌘ + D  Select word – Repeat to select next occurrence
⌃ + M Jump to closing parentheses Repeat to jump to opening parentheses
⌘ + ] Indent current line(s)
⌘ + [ Un-indent current line(s)
⌘ + / Comment/un-comment current line
⌘ + ⌥ + / Block comment current selection

General

Keypress Command
⌘ + ⇧ + P Command Palette

Find/Replace

Keypress Command
⌘ + F Find
⌘ + ⌥ + F Replace
⌘ + ⇧ + F Find in files

참고: http://docs.sublimetext.info/en/latest/reference/keyboard_shortcuts_osx.html


Eagle CAD에서 DXF 파일 불러오기

DXF파일 불러오기

Eagle CAD에서 보드의 외곽을 그릴 때 20 Dimension 레이어에서 Width 0으로 외곽선을 그린다. 일반적으로 보드가 사각형이면 그리는데 어려움은 없는데, 보드에 곡선이 있으면 쉽지 않다. 기구 설계하는 쪽에서 보드 외곽을 만들어 논 것이 있으면 이것을  DXF 파일로 변환하고, 이것을 Eagle CAD에서 불러와서 그대로 사용이 가능한다. Eagle CAD에서 바로 이 기능을 지원하는 것은 아니고 import-dxf 라는 ulp를 받아서 사용하면 된다.  이 파일은 http://www.cadsoftusa.com/downloads/ulps 에서 import-dxf를 검색하면 import-dxf-1_6.ulp를 받을 수 있다.

ulp를 실행한 후 dxf파일을 선택하고 Metric, Scale을 설정하면 된다. 단 DXF파일은 도면 형태가 아니고, 보드의 외곽만 있어야 제대로 import가 된다.

보드의 원점 바꾸기

Import한 보드의 외곽이 원점(origin)에 위치하게 하는 방법은 보드의 외곽을 전체 선택하고 마우스로 옮길 수도 있지만 이 방법 보다는 다음의 명령어를 사용하는 것이 한번에 정확하게 된다. 여기서 dX dY는 옮길 위치의 좌표

move (>0 0) (dX dY)


열전도율

열역학 제2법칙에 따르면, 열은 항상 더 낮은 온도 방향으로 흐른다. 즉 뜨거운 부분의 열이 차가운 부위로 전달되는데, 이 정도의 차이는 열전도율에 따라 달라진다.

열전도율 기본 공식
Q=k*A(ΔT/L)
Q=열류량(W)

여기서
A=시료의 면적(㎡)
L=시료두께(m)
ΔT=온도차(K,°C와 동일)

즉 면적이 넓고 두께가 얇을 수록 열이 더 빨리 전달이 됨

 

다이아몬드의 열전도율이 가장 높은 것이 인상적이다. 순동도 괜찮지만 가공성 및 비용을 따지면 알루미늄일듯.

참고: http://ko.wikipedia.org/wiki/%EC%97%B4%EC%A0%84%EB%8F%84%EC%9C%A8


OS X 10.10 요세미티에서 Homebrew 문제

요세미티로 업데이트가 되면서 brew가 이상해졌다.  대략 아래와 같은 에러메시지가 나온다.

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0

일단 Xocde를 업데이트하고 Xcode command line tool도 업데이트 했는데 해결책은 그게 아니고… brew.rb 파일을 수정하면 된다.

/usr/local/Library/brew.rb 파일을 열어서 첫째줄의

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0

를 다음과 같이 수정한다.
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

그 다음에

brew update


이글 캐드 팁 – Trace의 길이 정보 확인하는 법

고속의 메모리 신호들은 trace의 길이를 맞춰주는데 이때 trace의 길이를 확인할 필요가 있다. 그리고 Trace만으로 저항 성분을 만들때도 Trace의 길이 정보가 필요하다. Trace길이에 따른 저항값은 이전 포스팅[PCB Trace 저항값 계산기] 참고

이글 캐드에서 trace의 길이를 확인하려면 다음과 같이 ulp를 사용하면 된다.

“run length-freq-ri”


윈도우 환경에서의 오픈소스 프로그래밍 툴 설치

원래 맥(Mac)을 사용하기 때문에 윈도우즈는 은행업무를 할때나 HWP 파일을 작성할때 빼고는 사용하지 않는다. 그런데 배포할 프로그램이 3가지 OS (Mac, Linux, Win)인지라 윈도우 환경에서도 개발툴의 설치가 필요하다. 사실 코드의 수정 보다도 이런 작업이 더 어려울 수 있는데, software deployment(한글로는 뭔지 잘….)를 위해서는 필요한 작업이고……..

내용은 윈도우환경에서 리눅스 개발환경 설치하기 정도가 될 것 같다. 리눅스 버젼의 배포판을 위해 가상머신에 우분투도 설치해서 설치패키지를 만들어 봤는데, 생각보다 깔끔하고 문제 없이 동작한다. 개발용이 아닌 한글을 사용한 워드, PPT작업등의 일반 업무 사용을 위해서는 어떨지 살짝 궁금하기도 했다는…

일단 필요한 프로그램은 컴파일을 위한 MinGW, 코드를 github에서 받고 bash 환경을 위한 프로그램, 마지막으로 윈도우즈 설치프로그램을 만들어 주는 프로그램이 필요하다.

MinGW

  • Minimalist GNU for Windows이라 불리우는 s/w 패키지이다. http://www.mingw.org/ 에서 Downloads 항목의 Installer에 있는 mingw-get-setup.exe 파일을 받아서 설치를 한다. 구글링을 해보니 mingw 5.1.4나 mingw5.16에 대한 소개가 있는데 g++버젼이 오래되어서 컴파일이 안될 수 있다.
  • 프로그램을 설치 한 후 필요한 컴파일러를 선택을 하면 다운로드 및 설치가 자동으로 된다.

Git-bash

  • http://git-scm.com/downloads 윈도우 버젼을 받아서 설치한다. 설치후 git-bash 를 사용하여 코드를 받고 패키지 컴파일을 위한 스크립트를 실행할 것이다.

NSIS

  • nullsoft scriptable install system
  • 상용프로그램으로 인스톨쉴드같은 것을 썼는데, 오픈소스인 NSIS도 같은 기능을 한다.
  • 오래된 프로그램이라 구글링하면 한글로 정리된 구체적인 사용법들이 많다.

ARM 개발 환경

hex to bin / bin to hex

MAC에서 개발 환경을 세팅하다보니 윈도우즈 기반의 툴들에서 쉽게 찾던 것들을 구글링하게 된다. ARM 이클립스 개발환경에서 hex, bin을 만들어 주는 툴은 arm-none-eabi-objcopy 인테, 다음과 같이 hex와 binary간의 변환이 가능하다.

arm-none-eabi-objcopy -I binary -O ihex filename.bin filename.hex

arm-none-eabi-objcopy -I ihex -O binary filename.hex filename.bin

물론 이클립스의 프로젝트 설정에서 Cross ARM GNU Create Flash Image설정에서 Raw binary 또는 Intel Hex를 설정이 가능함.

flash downloader demonstrator

STM32 칩들은 내부에 시리얼 부트로더가 있어서 쉽게 flash를 업데이트 가능하다. ST에서도 flash downloader demonstrator라는 프로그램을 제공하는데 윈도우즈만 제공한다. Mac에서 사용할 수 있는 것은 stm32loader scryptstm32ld program이다.

stm32loader의 사용법 (-e : erase, -w: write, -v: verify)

./stm32loader.py -e -w -v example/main.bin



MAC 주소 관련

예전에 쓴 포스팅 MAC address 할당받기의 글에서 MAC address를 할당 받기위해서는 $1,600이 든다고 적었는데, 최근에 보니 $2,500로 올랐다. 그리고 추가적인 정보는 MAC주소 신청시 부여받는 숫자에 따라서, 3가지가 있다는 것.

관련 추가적인 정보