[Archlinux] AVR 개발환경 설정 (Atmega128)

|

[필요 패키지]
1 community/avr-binutils
    A set of programs to assemble and manipulate binary and object files for the avr architecture
2 community/avr-gcc
    The GNU avr Compiler Collection
3 community/avr-libc
    The C runtime library for the AVR family of microcontrollers
4 community/avrdude
    Download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers


* 설치
# pacman -S avr-binutils avr-gcc avr-libc avrdude (archlinux)
# apt-get install gcc-avr avr-libc avrdude (ubuntu)

1. 컴파일 (object file 생성)
$ avr-gcc -mmcu=atmega128 -o $(FILE).o $(FILE).c
// -mmcu=atmega128: ATmega128칩셋을 타겟으로 하여 컴파일. 

2. 컴파일 2 (.hex file 생성)
$ avr-objcopy -O ihex $(FILE).o $(FILE).hex
// -O ihex: hex형식으로 생성함.
 
3. 보드에 download
# avrdude -p m128 -c avr910 -b 115200 -P /dev/ttyUSB0 -U flash:w:$(FILE).hex:i
 // DK-128 season2의 경우에 -c (programmer mode)를 avr910으로 설정해 주어야 verifiying에서 통과됨.
// -b (bps)옵션을 넣지 않거나 115200외에 다른 값을 지정하게 되면 오류 발생. 


And

nfs 설치 및 설정

|
NFS (Network File System)
네트워크 파일 시스템(Network File System, NFS)은 1984년에 썬 마이크로시스템즈가 개발한 프로토콜이다. 클라이언트 컴퓨터의 사용자가 네트워크 상의 파일을 직접 연결된 스토리지에 접근하는 방식과 비슷한 방식으로 접근하도록 도와 준다. 다른 수많은 프로토콜과 마찬가지로 ONC RPC 시스템을 기반으로 한다. 네트워크 파일 시스템은 에 정의된 오픈 표준이므로 누구나 구현할 수 있다.

NFS 설치, 설정
# apt-get install nfs-kernel-server nfs-common portmap

# vim /etc/exports (export파일 생성 혹은 수정)
NFS_DIRECTORY_PATH    *(rw,no_root_squash,no_all_squash,sync)
"NFS_DIRECTORY_PATH에는 nfs를 사용할 적절한 경로를 적어넣는다. 저대로 적는게 결코 아니다.

# /etc/init.d/nfs-kernel-server restart
"보통 nfs restart로 되어 있는데 본인의 시스템에서는 저렇게 써야 하더라.

# netstat -al | grep nfs (작동 확인)
tcp         0      0 *:nfs                   *:*                     LISTEN    
udp       0      0 *:nfs                   *:*      

NFS 마운트
# mount -t nfs IP_ADDR:NFS_DIRECTORY_PATH /mnt/nfs

...그래도 역시 manpage가 진리다. 영어 읽을 줄 알면 이쪽 추천.

'Embedded' 카테고리의 다른 글

tftp 설치 및 설정.  (2) 2012.02.13
minicom의 설치 및 설정  (1) 2012.02.09
And

tftp 설치 및 설정.

|
TFTP (Trivial File Transfer Protocol)
FTP와 마찬가지로 파일을 전송하기 위한 프로토콜이지만, FTP보다 더 단순한 방식으로 파일을 전송한다. 따라서 데이터 전송 과정에서 데이터가 손실될 수 있는 등 불안정하다는 단점을 가지고 있다. 하지만 FTP처럼 복잡한 프로토콜을 사용하지 않기 때문에 구현이 간단하다. 임베디드 시스템에서 운영 체제업로드로 주로 사용된다.
(TFTP, wikipedia: http://ko.wikipedia.org/wiki/TFTP)

tftp 설치
#apt-get install xinetd (xinetd: eXtend InterNET Daemon)
#apt-get install tftp tftpd or #apt-get install tftp-hpa tftpd-hpa
(tftp에서 보안상의 문제가 있기 때문에 tftp-hpa, tftpd-hpa패키지로 대체하는 것이 좋다고 한다.)

tftp 설정

# /etc/default/tftpd-hpa 수정
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -s /tftpboot"

# /etc/xinetd.d/tftp 수정 (없으면 파일 생성)
service tftp

{
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    disable = no
    per_source = 11
    cps = 100 2
    flags = IPv4
}
#service xinetd restart
#sudo service tftpd-hpa restart
*tftp에 사용될 디렉토리는 적절하게 권한을 맞춰주어야 한다. 755라던가 777이라던가..
#netstat -al | grep tftp "tftp 서비스가 구동중임을 확인.

'Embedded' 카테고리의 다른 글

nfs 설치 및 설정  (2) 2012.02.14
minicom의 설치 및 설정  (1) 2012.02.09
And
prev | 1 | 2 | next