라우터를 이용하여 Host와 Target(라즈베리파이)가 IP할당을 받았을 경우 Host에서 GUI창으로 PI 메모리의 파일들을 관리 할 수 있다.

 

IPtime에서 제공하는 웹 서버를 먼저 들어가보자

 

1. cmd 창에서 기본 게이트웨이 주소를 확인

ex)192.168.0.1

 

2. 인터넷 창에 주소를 입력하면 웹 서버 창이 뜬다.

: 라우터에 연결된 Host와 Target의 모든 IP 들을 확인해 볼 수 있다.

: 할당된 라즈베리파이 IP주소를 확인

 

3.환경 설정

: Teraterm으로 pi에 접속 후 '네트워크 세팅'

>> sudo vim /etc/network/interfaces

>>sudo /etc/init.d/networking restar

>>sudo ping -c 5 www.yahoo.com // 네트워크 확인

 

>>sudo apt-get install samba samba-common-bin //통신 프로그램 인듯

>>sudo smbpasswd -a pi //패스워드 세팅

>>sudo vim /etc/samba/smb.conf //설정 파일에 user 추가 해 준다.

>>sudo /etc/init.d/samba restart //재시작

 

4. Window 탐색기 창에 라즈베이파이 IP를 치면 메모리에 저장된 파일들을 볼 수 있다.

 

 

Posted by Aloha12
,

1) grep -rn "/usr/local/arm" ./

 

: 현재 디렉토리( ./ ) 에서 "/usr/local/arm" 문장이 발견된 곳을 찾는 다는 명령어이다. vi 파일에서 해당 줄을 찾을 때 편리할 듯

그러면 해당 줄의 번호가 나온다.


 이제 실행할 떄

vi {파일} +{발견 된 번호} 

하면 해당 번호에서 바로 편집기가 시작한다.  

 

 

2) vi 내에서  /COBJS

 

: / 는 Search하는 명령어 이다.

 

3) $ halt

: 는 재부팅

 

4) ※ 심각한 *짓

: VMware에서 host와 Share 폴더가 있는 상태. VMware가 열린 상태에서 VirtualBox를 열고 host와 share 폴더를 만들면 그 share는 VirtualBox와 호환이 안된다.

결론, 가상머신은 동시에 두개 실행시키지 않는다.


5) 리눅스 상에서 한/영 키가 작동되도록 하는 법




6) 주석 처리 쉽게 하는 법

: Ctrl + Shift + /


7) ※ NFS로 Target과 Host 통신할 때 자주 하는 실수

: ${타겟} 에서 subl은 열 수 없다. (NFS으로 타겟이 Host의 메모리를 공유하게 되었지만) ${타겟}에는 subl 편집기가 설치되어 있지 않기 때문

: 마찬가지로 minicom도 ${타겟}에서 열 수 없다.
: ${타겟} 은 Target이 Host의 메모리를 사용할 수 있는 권한을 가지고 있을 때를 뜻한다.

 

 

8) 터미널 상에서 df

: 메모리 공간 확인 명령어

 

9) 터미널 상에서 whoami

: 현재 권한이 누구인지 알게 해준다. user인지 root 인지. 따라서, root가 아닌한 apt-get update 같은 설치 및 업데이트 명령어는 sudo를 붙여줘야 한다.

: 권한을 root에게 주려면 $ sudo su -

 

10) [라즈베리 파이를 이용한 임베디드SW 개발 환경] 라즈베리파이를 라우터에 연결하고, 라우터의 또 다른 선으로 Host컴퓨터에 연결하였다. 물론, 라우터는 허브로 부터 뻗어 나온다.

: 이때 라즈베리파이에 SD카드가 있어야만 라우터로 부터 온 신호를 받고 있다고 라우터에 표시가 된다.


 




 

 

Posted by Aloha12
,

/*

NFS(Network File System)이란 

- Host computer의 저장공간을 빌려 쓰는 것.

- Target 보드의 File system을 host computer에 설치하고, Target 보드 부팅시에 이더넷으로 접속하는 방법

- Target 보드가 꺼져있거나 연결되어 있지 않더라도, target 보드의 파일을 편집 가능.

- Target 보드에 NFS 클라이언트 설치, host computer에는 NFS 서버 설치.

 

임베디드 응용 프로그램을 개발하고 테스트하기 위해서는 컴파일 한 실행 파일을 (Target 보드) 램 디스크에 Loading 해야 한다.

 하지만, 응용 프로그램을 컴파일 할 때 마다 램 디스크를 host에 mount 하여 업데이트 하기는 힘든 일.

(실행 파일을 매번 받아와서 검사해 볼 수는 없는 일)

 

NFS는 네트워크를 통해 host의 파일 시스템에 target이 mount할 수 있게 해주는 시스템.

(host의 디렉토리 일부의 사용 권한을 target에게 부여하는 일)

 

NFS를 이용해 host의 작업 디렉토리를 target보드의 램 디스크에 mount하여 사용하면 개발이 훨씬 편리.

(그래서 내가 사용하는 target보드 $root@nvidia : 에서 samplecode 가 보였구나. 실제로 target보드에는 없는 것인데 마치 자기 것인양 사용했구나!)

(mount 할수 있게 한다는게 가져다가 볼 수 있게 한다는 의미로 생각하면 쉽구나.)

 

NFS를 이용하면 host의 공유 디렉토리를 마치 target 보드의 일부 디렉토리 처럼 사용할 수 있어서 편리. target보드는 host에서 제공하는 nfs 공유 디렉토리를 자신의 램 디스크에 mount하여 사용.

ex)samplecode

 

Host에서 작업이 완료되면 target 보드에서는 (host 상에서) 완료된 프로그램을 target의 권한으로 컴파일하고 실행할 수 있다.

 

나의 경우 우분투가 설치되어 있는 개발 PC에서 NFS 서버를 설치하여 target 보드의 파일 시스템을 개발 PC로 올려 코드를 컴파일 디버깅하고 실행, 최종적으로 eMMC 플래시 메모리로 올려 개발 PC와의 연결 없이 Standalone으로 동작 할 수 있게 하였다.

*/

 

개발 환경 설정----------------------------------------------------------

 

타켓 보드와 이더넷 통신 테스트
우분투에서
  ifconfig eth0 192.168.0.2
타켓 보드에서
  ping 192.168.0.2

우분투에서
$ cd /etc/xinetd.d/
tftp 파일을 복사

디렉토리 만들기
$ mkdir /tftpboot
슈퍼인터넷데몬 시작
$ /etc/init.d/xinetd restart
디렉토리 만들기
$ mkdir ~/work
linux_devicedriver.zip 파일 ~/work 복사
$ cd ~/work
압축파일 풀기
$ unzip linux_devicedriver.zip
$ cd G2450_bsp/
$ cd 02_image/
$ cp zImage /tftpboot
타켓보드에서 (u-boot에서)
tftp 32000000 zImage
이미지 다운로드후
bootm 32000000
부트로더 환경 설정
setenv bootcmd 'tftp 32000000 zImage; bootm 32000000'
save

 

호스트 PC에서

$ mkdir /nfsroot1

 

$cd ~/work/G2450_bsp/01_bsp#

$ tar zxvf rootfs_20140218.tar.gz

$ mv rootfs /nfsroot

$ /etc/init.d/nfs-kernel-server start

 

타겟보드에서

$ setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.0.2:/nfsroot ip=192.168.0.102:192.168.0.2:192.168.0.1:255.255.255.0::eth0:off:netmask=255.255.255.0 console=ttySAC1 115200n81' 


$ saveenv

 

 

 

Posted by Aloha12
,