:::: MENU ::::
Browsing posts in: Development

lsusb 명령어를 Mac OS에서 사용하기

리눅스에 있는 lsusb를 사용할 수 있는 프로그램: https://github.com/jlhonora/lsusb

다음과 같이 brew로 인스톨한다.

brew update && brew tap jlhonora/lsusb && brew install lsusb

다음과 같은 옵션으로 사용 가능.

List USB devices
  -v  Increase verbosity (show output of "system_profiler SPUSBDataType")
  -s  [[bus]:][devnum]
       Show only devices with specified device and/or
       bus numbers (in decimal)
  -d  [vendor]:[product]
       Show only devices with the specified vendor and
       product ID numbers (in hexadecimal)
  -p  Display manufacturer names in parentheses
  -t  Dump the physical USB device hierarchy as a tree
  -V  Show version of program
  -h  Show usage and help

CP2104 레퍼런스 회로도

CP2014는 USB to UART bridge 칩이며, 데이터 시트에 보면 다음과 같은 레퍼런스 회로가 있다. REGIN 핀은 레귤레이터 입력핀인데, 이 회로도에서는 여기에 VBUS핀과 같이 연결을 해 놓고 있다. CP2104의 TX, RX가 시스템의 MCU의 RX, TX와 연결이 되어 있는 경우에는  일반적으로는 USB 케이블을 연결하는 순간 VBUS와 REGIN에 전압이 가해지면서CP2104의 TX값이 low로 되면서 시스템 MCU의  RX값이 바뀌게 된다. 따라서 시리얼 입력을  처리하는 루틴이 제대로 동작을 하지 않을 수 있다. 해결책은 REGIN의 입력을 VBUS가 아닌 시스템 전원으로 바꾸면 해결이 된다.


USB 하드웨어 디자인 가이드

USB 하드웨어 디자인 가이드

  • GND, 샤시에 FB
  • 15 Ohm Termination resistor
  • ESD 인증에 문제가 있을 경우 protection device – NXP IP4220CE6
  • Common mode choke – Murata plw3216s900sq2t1
  • 2개의 USB 신호쌍은  parallel 하게하며, 간극은 최대 150 mil을 넘지 않도록
  • 신호선의 최대 길이는 18인치를 넘지 않도록

참고자료


Intel Hex 파일 포맷

Intel hex파일 포맷은 다음과 같은 형태이다.

:llaaaatt[dd...]cc
  • : 콜론은 레코드의 시작을 의미
  • ll  데이터의 길이 – 2 바이트
  • aaaa 어드레스
  • tt 레코드의 타입
    00 – data record
    01 – end-of-file record
    02 – extended segment address record
    04 – extended linear address record
    05 – start linear address record (MDK-ARM only)
  • dd 데이터
  • cc 체크섬. 계산은 레코드의 값을 모두 더하고 2의 보수를 취한다.
:020000040000FA

예를 들어 위와 같은 경우

  • 02 데이터 사이즈는 2
  • 0000 어드레스
  • 04  extended linear address record
  • 0000 upper 16 bits of the address.
  • FA 체크섬 01h + NOT(02h + 00h + 00h + 04h).

End of File의 레코드는 다음과 같다.

:00000001FF

참고


J-link 인터페이스

Segger사의 J-link 디버거는 JTAG과 SWD인터페이스를 제공한다.

JTAG  pin-out

SWD를 사용하기위해서는 위 20핀에서 필요한 4핀만 연결하면 된다. 여기서 VTref신호는 디버거에서 타겟보드의 전압을 체크하고 전압레퍼런스로 사용하기 때문에 타겟 보드의 전원을 연결하고, 프로그래밍을 할 MCU의 전압과 연결해야 한다. 그렇지 않을 경우 VTref is 0.xxxxV라고 에러메시지가 나면서 연결이 되지 않는다.

*참고로 J-link와 같은 디버거를 DIY형태로 개발을 해서 OSHW로 판매를 하는 것이 있다.  OSHChip_CMSIS_DAP_V1.0

참고: https://www.segger.com/interface-description.html


전자부품에 대한 기본 지식

ROHM 반도체 사이트에 나와 있는 전자부품에 대한 기본 지식 정보. 전자공학을 전공하면 배우는 내용이지만 다시 한번 리뷰를 할 수 있어서 좋다.

그리고 첨단기술에서 발행하는 주로 일본잡지를 번역한 전자기술의 내용도 실용적인 내용이 있어서 괜찮다. 가령 이런자료 – 반드시 주의해야할 모터/릴레이 파워 설계


Mac OS X 커맨드라인에서 Gatekeeper 기능 설정

애플 앱 스토어가 아닌 다른 경로로 프로그램을 다운로드해서 인스톨시 문제가 생기는 경우, 대부분의 경우 원인은 Gatekeeper가 enable되어서 생기는 문제.

현재 상태확인

spctl –status

비활성화 & 활성화

sudo spctl –master-disable

sudo spctl –master-enable

 


Meshlab 빌드

Meshlab은 3D프린팅에 필요한 파일의 메쉬를 수정할 수 있는 툴로 오픈소스이며, 3가지 OS를 지원한다. 그리고 웹에서 구현한 버전도 있다.

이 소스를 빌드하려면 다음과 같은 3가지 소스가 필요하다.
* 필요한 소스들 3가지

* VS(Visual Studio)로 컴파일하기
1. QT 컴파일
(1) QT소스의 압축을 풀고, VS(Visual Studio) Command prompt를 실행하여 해서 다음과 같이 설정을 한다.
(2) 만약 VS가 여러 버전이 설치되어 있다면,

set QMAKESPEC=win32-msvc2008

를 입력하여 컴파일러 버전을 설정해야 함. 만약 VS가 2008만 설치되어 있다면 이 과정은 생략해도 됨
(3) 다음과 같은 절차로 QT를 컴파일

configure -debug-and-release
qmake 컴파일 및 실행. <= VS에 대한 makefile을 생성하는 과정
nmake

를 입력하여 QT 전체를 다시 컴파일

2. MeshLab 컴파일
(1) VS prompt 상에서 다음과 같이 입력하여 환경변수를 잡아 줌

set QTDIR=C:\Qt\4.6.3
set PATH=C:\Qt\4.6.3\bin
set VCPATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
set PATH=%PATH%;%VCPATH%;%SystemRoot%\System32
set QMAKESPEC=win32-msvc2008

(2) VCG라이브러리의 경로 설정
VCG Library의 경로를 meshlab 소스와 같은 레벨에 둔다.
(3) meshLab의 external 부분 컴파일
meshLab의 src\external 로 이동하여 다음과 같이 입력하여 솔루션 파일을 만든다.

qmake -tp vc -recursive external.pro

external.sln 파일이 생성된다. 이 파일을 VS로 열어서 솔루션을 다시 빌드한다.

(4) meshLab 소스 컴파일
meshlab의 src 로 이동하여 다음과 같이 입력하여 솔루션 파일 생성

qmake -tp vc -recursive meshlabv12.pro

meshlabv12.sln 파일이 생성됨.

이것을 VS로 열어서 빌드한다. (솔루션 속성에서 시작 프로젝트를 meshlab프로젝트로 설정한다.)
* io_3ds가 link 에러가 발생하면 제거.
(5) meshLab의 src\distrib로 이동하면 빌드된 파일 meshlab.exe을 확인한다.
이 파일을 실행시 에러가 나면 QT\Bin 에서 dll 파일을 동일 폴더에 복사해서 실행한다.

* 트러블 슈팅
아래와 같은 에러가 나면 바이러스 체크프로그램을 끄고 다시 작업.
general error c101008d: Failed to write the updated manifest to the resource of file… Access is denied.

참고: http://blog.csdn.net/zyjiang0571/article/details/7340650



Pages:1234567...19