:::: MENU ::::
Browsing posts in: Tool

winmail.dat 복구 방법

Mac OS X에서 마이크로 소프트 아웃룩을 사용중이다. 

기존 Windows의 아웃룩과의 호환성 때문에 메일에 winmail.dat파일이 첨부가 되어온다. 

이것의 원인은 마이크로소프트의 support에 의하면 다음과 같다.

http://support.microsoft.com/kb/278061/ko

즉 아웃룩에서 서식있는 텍스트 형식(RTF)로 메일을 보낼때 이런 경우가 발생을 하는데, 메일을 수신 하는 측에서 RTF를 지원하지 않는 경우에 이것을 보완하기 위해 자신들만의 포맷인 TNEF(Transport Neutral Encapsulation Format)으로 보내기 때문이다. 

해결 방법은 보내는 측에 일반 텍스트 형태로 메일을 다시 보내달라는 방법과

winmail.dat를 복구하는 프로그램을 사용하면 된다. 물론 100% 복구되는 지는 잘 모르겠지만, Mac OS X용으로는 TNEF’s Enough가 있다.

http://www.joshjacob.com/mac-development/tnef.php

Version 3.2.1 for Mac IS X 10.6/107(Intel only)버젼 첨부

cfile6.uf.114D7337507B98FC308623.dmg



git 사용법

git에 대한 위키피디아 문서
http://en.wikipedia.org/wiki/Git_(software)

git 사용자 설명서: 잘 정리된 메뉴얼
http://namhyung.springnote.com/pages/3132772
 
git 튜토리얼 메뉴얼 페이지
http://www.funit.net/git

github에 대한 글: Github, 코드 개발 기반 소셜 네트웍
http://channy.creation.net/blog/626

git는 분산 버전 관리 시스템이며 리눅스 커널 개발에 사용하기 위해 리누스 토발츠가 처음 디자인과 개발을 하기 시작했다.
가장 큰 장점인 수정 내용을 매번 마스터 저장소에 커밋해서 올리는 대신에 저장소 전체의 로컬 복사본을 사용한다는 것이다. git을 사용하면 각 개발자가 작업을 진행할 수 있는 자신만의 샌드박스를 가지고 있으며, 작업을 마친후에 변경내역을 마스터 저장소에 push  할 수 있다.

아래 그림을 보면 각 명령어와 동작 flow가 쉽게 이해가 됨…

아래 위키피디아의 그림은 보다 간단히 이해를 도울 수 있다.

윈도우용 git 설치: http://code.google.com/p/msysgit/downloads/list  여기서 다운로드를 받아서 인스톨한다.
인스톨 과정중 모든 옵션은 그냥 디폴트옵션을 사용한다.
인스톨이 끝나면 Git GUI와 Git Bash가 설치되며, 탐색기에서 오른쪽 버튼을 누르면 다음과 같이 git 메뉴가 생긴다.

일단 프로젝트를 관리할 폴더에서 Git Init Here를 선택을 하고, Git Gui를 선택을 하면 다음과 같이 Unstaged Changes항목에 파일들이 들어 있는게 보인다.

커밋할 파일을 선택하고 Commit>Stage to commit을 선택을 하면 파일들이 아래도 내려오며, 오른쪽 하단에 메세지를 입력하는 창에 메세지를 입력을 하고 Commit을 하면 커밋이 된다.
커밋이 잘 됐는지 여부는 Repository > Visulize mater’s History 명령으로 확인이 가능하다.

이제 github에서 repository를 생성한다. Project name만 적으면 되고 나머지는 option이다.
SSH설정은 http://help.github.com/win-set-up-git/ 의 “Set Up SSH Keys” 부분을 참고한다.
이렇게 해서 생성된 키는 Win7의 경우 C:\Users\사용자\.ssh 아래에 저장이 되며, Git GUI에서 Help > Show SSH Key 를 통해서도 SSH키 값을 볼 수 있다.

만약 프로젝트 이름을 my_test로 할 경우 Git GUI에서 설정은 다음과 같다.
Name은 Github 계정이름이고, my_test는 [email protected]:jbkim/my_test.git 위치에 놓이게 된다. 


다음엔 push를 하면 되는데, Remote > Push 를 하면된다.

이때 SSH키를 만들때 passphrase를 물어보면 입력하면 된다.


MCU 개발키트의 트랜드

모든 MCU 벤더들은 자신들이 출시하는 반도체 칩 이외에 사용자가 이 칩을 잘 사용하도록reference board 또는 evaluation board 라고 칭하는 개발 키드를 제공을 한다. 전통적으로 이것은 아주 오랜 기간 동안 칩의 모든 기능을 테스트해 볼 수 있도록 구성이 되어 있어서 칩의 기능이 많을수록 상당히 복잡한 형태를 가지고 있다. 하지만 최근의 경우 MCU 벤더들이 출시하는 칩의 종류는 메모리 용량 및 주변 장치에 따라 수십에서 수백 종에 이르므로 이 모든 칩을 위한 개발키트를 출시한다는 것은 거의 불가능하다. 




<복잡한 형태의 개발 키드>


따라서 요즘 대부분의 MCU 벤더들은 기본이 되는 형태의 개발키트가 하나 있고 여기에 부가적으로 daughter board를 연결할 수 있도록 하여 사용자가 선택적으로 연결을 할 수 있도록 하고 있다.  이렇게 함으로써 기본 개발 키트의 가격은 사용자가 쉽게 살 수 있을 정도로 매우 싸게 공급을 하며, 사용자가 이 보드에 추가적으로 자신의 모듈이나 보드를 연결할 수 있도록 모든 I/O 인터페이스를 제공을 한다. 여기서 더 나아가 예전에는 ICE 장비나 디버거가 따로 필요했지만 개발 키드 자체에 디버깅을 할 수 있는 기능까지 제공하는 보드들도 있다. 



< ST마이크로의 Discovery 시리즈 >


사진의 상단부분이 디버거를 위한 보드이고 하단 부분이 실제 칩이다, 테스트를 위한 모든 I/O 인터페이스가 나와 있으며, 사용자가 쉽게 회로를 연결할 수 있는 홀들이 나와있는 영역을 제공한다. 


 



< TI사의 Launchpad >



TI사의 Launchpad의 경우 보드 가격이 4.3불 밖에 되지 않는다. 실제 칩은 가운데 있으며, 메모리 용량이 다른 칩으로 교환이 가능하며 보드 상단에 디버깅을 위한 칩이 따로 달려 있다. 물론 다음 그림과 같이 BoosterPack 이라고 하여 옵션보드를 장착이 가능하다.



 


정리하면



  • 사용자가 쉽게 구매할 수 있도록 초저가

  • 디버깅이 용이 하도록 디버거까지 한 보드에서 제공

  • 하나의 기본 보드를 제공하고, 옵션보드를 장착할 수 있는 형태

  • 개발툴까지 무료로 제공


네트워크 스캐닝 툴 nmap 사용법

네트웍으로 취약점을 점검하거나 열려있는 포트를 확인하기위해 사용하는 툴입니다.
http://nmap.org/
윈도우즈용으로 zmapwin 도 있습니다. http://nmap.org/download.html

사용법은
nmap [ <Scan Type> …] [ <Options> ] { <target specification> }

Options 및 target specification은 다음을 참고하고 구체적인 내용은 http://nmap.org/book/man.html 를 참고…

Nmap 5.51SVN ( http://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
  Can pass hostnames, IP addresses, networks, etc.
  Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
  -iL <inputfilename>: Input from list of hosts/networks
  -iR <num hosts>: Choose random targets
  --exclude <host1[,host2][,host3],...>: Exclude hosts/networks
  --excludefile <exclude_file>: Exclude list from file
HOST DISCOVERY:
  -sL: List Scan - simply list targets to scan
  -sn: Ping Scan - disable port scan
  -Pn: Treat all hosts as online -- skip host discovery
  -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
  -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
  -PO[protocol list]: IP Protocol Ping
  -n/-R: Never do DNS resolution/Always resolve [default: sometimes]
  --dns-servers <serv1[,serv2],...>: Specify custom DNS servers
  --system-dns: Use OS's DNS resolver
  --traceroute: Trace hop path to each host
SCAN TECHNIQUES:
  -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
  -sU: UDP Scan
  -sN/sF/sX: TCP Null, FIN, and Xmas scans
  --scanflags <flags>: Customize TCP scan flags
  -sI <zombie host[:probeport]>: Idle scan
  -sY/sZ: SCTP INIT/COOKIE-ECHO scans
  -sO: IP protocol scan
  -b <FTP relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
  -p <port ranges>: Only scan specified ports
    Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
  -F: Fast mode - Scan fewer ports than the default scan
  -r: Scan ports consecutively - don't randomize
  --top-ports <number>: Scan <number> most common ports
  --port-ratio <ratio>: Scan ports more common than <ratio>
SERVICE/VERSION DETECTION:
  -sV: Probe open ports to determine service/version info
  --version-intensity <level>: Set from 0 (light) to 9 (try all probes)
  --version-light: Limit to most likely probes (intensity 2)
  --version-all: Try every single probe (intensity 9)
  --version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:
  -sC: equivalent to --script=default
  --script=<Lua scripts>: <Lua scripts> is a comma separated list of
           directories, script-files or script-categories
  --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts
  --script-trace: Show all data sent and received
  --script-updatedb: Update the script database.
OS DETECTION:
  -O: Enable OS detection
  --osscan-limit: Limit OS detection to promising targets
  --osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
  Options which take <time> are in seconds, or append 'ms' (milliseconds),
  's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
  -T<0-5>: Set timing template (higher is faster)
  --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
  --min-parallelism/max-parallelism <numprobes>: Probe parallelization
  --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies
      probe round trip time.
  --max-retries <tries>: Caps number of port scan probe retransmissions.
  --host-timeout <time>: Give up on target after this long
  --scan-delay/--max-scan-delay <time>: Adjust delay between probes
  --min-rate <number>: Send packets no slower than <number> per second
  --max-rate <number>: Send packets no faster than <number> per second
FIREWALL/IDS EVASION AND SPOOFING:
  -f; --mtu <val>: fragment packets (optionally w/given MTU)
  -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
  -S <IP_Address>: Spoof source address
  -e <iface>: Use specified interface
  -g/--source-port <portnum>: Use given port number
  --data-length <num>: Append random data to sent packets
  --ip-options <options>: Send packets with specified ip options
  --ttl <val>: Set IP time-to-live field
  --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address
  --badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:
  -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,
     and Grepable format, respectively, to the given filename.
  -oA <basename>: Output in the three major formats at once
  -v: Increase verbosity level (use -vv or more for greater effect)
  -d: Increase debugging level (use -dd or more for greater effect)
  --reason: Display the reason a port is in a particular state
  --open: Only show open (or possibly open) ports
  --packet-trace: Show all packets sent and received
  --iflist: Print host interfaces and routes (for debugging)
  --log-errors: Log errors/warnings to the normal-format output file
  --append-output: Append to rather than clobber specified output files
  --resume <filename>: Resume an aborted scan
  --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
  --webxml: Reference stylesheet from Nmap.Org for more portable XML
  --no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:
  -6: Enable IPv6 scanning
  -A: Enable OS detection, version detection, script scanning, and traceroute
  --datadir <dirname>: Specify custom Nmap data file location
  --send-eth/--send-ip: Send using raw ethernet frames or IP packets
  --privileged: Assume that the user is fully privileged
  --unprivileged: Assume the user lacks raw socket privileges
  -V: Print version number
  -h: Print this help summary page.
EXAMPLES:
  nmap -v -A scanme.nmap.org
  nmap -v -sn 192.168.0.0/16 10.0.0.0/8
  nmap -v -iR 10000 -Pn -p 80

그리고 잘 정리된 이 링크는  nmap cheat sheet 과 pdf 파일


IAR 컴파일러에서 J-LINK 사용하기 2 – EWARM5.41

이전 포스트 “IAR 컴파일러에서 J-LINK 사용하기” 는 EWARM4.xx 버전에서 동작하는 것이였습니다.
컴파일러 버젼을 5.41로 바꿨는데, 이전 버젼에서 사용하던 메뉴들이 없어졌네요.
이전 버젼과 호환성을 유지를 해줘야 하는데… -_-;;
J-link와 연결은 되는데, “Programming flash memory” 창이 떠서 멈줘있는 현상이 있어서 다시 확인을 하니 몇가지 주의해야 할 설정이 있습니다.
컴파일러 옵션 설정에서



  • Output Converter => intel extended

  • Linker/ Config => icf 파일 을 제대로 설정

  • Debugger / Download => board 파일을 제대로 설정


J-Link 에러 메시지

IAR의 컴파일러인 EWARM과 J-link 디버거를 사용시 다음과 같은 에러가 났을때 해결 방법

Could net write CPU  register MSP : Written: 0xFFFFFFFF, Read 0xFFFFFFFC

이와 같은 에러는 EWARM 4.42 버젼에서 사용하는 디바이스가 추가되지 않아서 생기는 에러로, 첨부된 파일들을 해당 폴더에 카피하면 디바이스가 추가된다.

관련 내용은 이전 포스트 참고: EWARM4.42에 STM32 디바이스 추가하기



Migrating from version 4.x to version 5.x

EWARM 4.x => 5.0으로 갈아 타기위한 가이드 문서입니다.

cfile27.uf.173906564D425352191FFC.pdf

소스를 그룹별로 정리를 해서 프로젝트를 만들었는데,
-. CMSIS – ARM의 CMSIS 관련 소스
-. EWARMv5.4 – CMSIS에서 지원하는 device 중 ST 라이브러리 소스
   사용하는 디바이스에 맞는 소스를 넣어준다.

– startup_stm32f10x_ld_vl.s:    for STM32 Low density Value line devices
– startup_stm32f10x_ld.s:        for STM32 Low density devices
– startup_stm32f10x_md_vl.s:  for STM32 Medium density Value line devices
– startup_stm32f10x_md.s:      for STM32 Medium density devices
– startup_stm32f10x_hd_vl.s:   for STM32 High density Value line devices
– startup_stm32f10x_hd.s:       for STM32 High density devices
– startup_stm32f10x_xl.s:        for STM32 XL density devices

– startup_stm32f10x_cl.s:        for STM32 Connectivity line devices


-. StdPeriph_Driver –  ST에서 제공하는 페리페럴 드라이버 소스, 사용하는 드라이버 만 올리면 된다.
-. USER – 이건 사용자 소스



Pages:12345