본문 바로가기

개발자 레니는 지금 -/하드웨어와 함께

[ ARTIK 053 ] 아틱사용 시작하기, 컴퓨터와 연결하기

Connection Computer and ARTIK 053

# ARTIK 053

# Ubuntu 16.04 Linux






1. Ubuntu Linux

Tizen RT software를 사용 하기 위해서는 Ubuntu 16.04 Linux 환경이 필요하다.

컴퓨터 자체의 OS를 Ubuntu 16.04로 설치하거나, virtual machine을 이용하여 OS를 준비해 준다.


인터넷에 virtual machine으로 linux를 설치하는 포스팅은 많으니 생략한다.

linux도 종료가 많은데 꼭 Ubuntu 16.04 Linux로 설치해 주길 바란다.


2. Cross-Compilation toolchain

약간의 설정이 필요합니다. 아래의 과정을 따라 해주세요.


가. Decide on a base directory. For all our examples here, we will use ~/ARTIK05X/tinyara but you are welcome to choose your own.

: 설치를 진행할 기본 디렉토리를 설정해주세요, 꼭 ~/ARTIK05X/tinyara 폴더가 아니라도 상관없습니다.


나. Add necessary support packages. You'll use a pre-built version of openocd so there is no need to install it here.

: 필요한 패키지를 설치하세요, 미리 빌드 된 버전 openocd를 사용함으로 여기에 설치할 필요가 없습니다.

sudo apt-get update

sudo apt-get install git gperf libncurses5-dev flex bison

sudo apt-get install libusb-1.0



다. Install the ARM toolchain. The installation location of /usr/bin/ should already be in your path.

: ARM 툴체인을 설치하세요. 설치가 진행 될 /usr/bin/ 경로가 있어야 합니다.

sudo apt-get install gcc-arm-none-eabi


라. Edit the bash init script to add the correct toolchain path prefix.

: bash init 스크립트를 수정하여 올바른 툴체인 경로 접두사를 추가하세요.

vi ~/.bashrc

export CROSSDEV=arm-none-eabi-


- vi로 bashrc 파일을 연 다음 제일 마지막 부분에 export 해주시면 됩니다.


마. Restart your Linux instance for the changes to take effect.

: 변경사항을 저장하기 위해 Linux 인스턴스를 다시 시작해주세요.


3. Getting TizenRT Sources

사용할 TizenRT 소스를 준비합니다.

Open source 이기 때문에 수정한 다른 사람의 TizenRT source를 가져와서 사용할 수 도 있습니다.

아래 Git Hub는 Samsung에서 제공하는 TizenRT입니다.


SamsungARTIK/TizenRT Git Hub[각주:1]


- Clon으로 받으셔도 되고, 압축 파일을 받으셔서 압축을 해제해 주셔도 됩니다.


4. TizenRT Setting

TizenRT의 setting을 시작합니다. 저는 / 에 TizenRT라는 폴더 안에 압축을 풀었습니다.


가. Configure setting

: configure를 세팅해줍니다. 어떤 보드를 사용할지, 그 보드의 어떤 셋팅을 사용할지 결정합니다.

cd <folder path>/os/tools

./configure.sh <board>/<configuration.set>


- 어떤 버전은 ./configure.sh --help 명령어 이용시 어떤 것들을 사용할 수 있는지 예시를 보여주기도 합니다.


나. Make menuconfig

: 셋팅을 보드에 적용시키는 역활을 하는 것 같습니다. os 다이렉트로 이동하여 진행합니다.


1) Menuconfig command 

cd ..

make menuconfig


- 권한의 문제가 발생하면 make menuconfig 앞에 sudo를 붙여줍니다.

- Trouble Shutting Solved

< o n e >

kconfig-mconf: error while loading shared libraries: libkconfig-parser-x.xx.0.so: cannot open shared object file: No such file or directory. Makefile.unix:579: recipe for target 'menuconfig' failed

make: *** [menuconfig] Error 127


Kconfig-frontends가 제대로 설치되지않아 발생하는 문제이다.

shijiameng/TizenRT GitHub[각주:2] 페이지를 따라 진행하면 문제가 해결된다.


2) Blue Screen

어떤 동작을 사용하실 지에 따라서 어떤 셋팅을 able/enable해야 할지가 결정됩니다.

저는 display부분을 사용하지 않고 sensor board를 이용합니다.



3) Adding Code that you will use

: 사용할 코드를 추가해준다.


- apps/examples 안에 있는 sensorbd_main.c 파일을 열어 작성한 코드 파일의 메인 파일 이름을 추가해줍니다.

파일을 열어보시면 대충 어떻게 넣어야할지 알거예요. ( 추후 자세설명 업데이트 예정 )


- apps/examples/sensorbd_demo/examples에 본인이 작성한 코드 파일을 넣어줍니다.


주의사항


< o n e >

sensorbd_main.c에 있는 이름과 examples안에 넣은 코드의 main 명칭이 다를 경우 파일을 찾지 못해 실행파일 만들 때 에러를 발생시킵니다.


< t w o >

sensorbd_main.c 안에 있는 main들의 이름 및 파일이름은 다 달라야합니다. 이름이 같은 main파일이 sensorbd_demo/examples안에 있는 경우 어떤 것을 실행시켜야 할 지 몰라 또 에러를 발생시킵니다.



다. Make an executable

: 실행파일 만들기


make


- 마찬가지로 권한의 문제가 생기면 sudo make로 명령어를 실행합니다.

- Trouble Shutting Solved

< o n e >

examples/mediaplayer.c: In function 'mediaplayer_main':

examples/mediaplayer.c:47:22 error: 'CONFIG_DISPLAY_DEVNAME' undeclared ( first use in this function )

guictx = GetContext(CONFIG_DISPLAY_DEVNAME);

...

...

make: ***[../apps/libapps.a] Error 2


이 문제는 저 처럼 display를 사용하지 않는다고 check off를 한 경우 나타납니다.

Display에 체크가 안되어있으면 코드에 lcd에 관한 코드가 있으면 빌드가 되지 않는답니다.

CONFIG_DISPLAY_DEVNAME 이라는 매크로는 menuconfig에 display 에 관한 것들을 체크해야만 정의되는데 체크를 해제했으니 될리가 없겠죠?

    

apps/example/sensorbd_demo/examples/mediaplyer_main.c 파일을 수정해 주시면 되는데, 도움으로 해결하였습니다. 

수정파일 첨부합니다 [ mediaplayer.c.zip ]


   - make 명령이 제대로 실행되고 나면 apps/examples/sensorbd_demo/examples 안에 실행파일( .o )가 생성됩니다.


5. Start Connection

이제 ARTIK 053을 실행시켜주세요.


Screen Command on Linux Terminal ( 위치 상관 없습니다, 새 터미널 창 띄워서 진행해 주세요. )

sudo screen /dev/ttyUSB1 115200


6. Upload File on ARTIK053

 : 아틱보드에 파일들을 업로드 해줍니다.

가. Screen Command on Linux Terminal ( os 위치에서 해주셔야 합니다. )
     sudo make download ALL


 Trouble Shutting Solved

< o n e >

[Command] make download ALL

Generating partition map ... Done

Open On-Chip Debugger 0.10.0-dirty (2017-09-02-08:32)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.org/doc/doxygen/bugs.html

adapter speed: 2000 kHz

Info : auto-selecting first available session transport "jtag". To override use 'transport select '.

force hard breakpoints

trst_and_srst separate srst_gates_jtag trst_push_pull srst_push_pull connect_deassert_srst

adapter_nsrst_assert_width: 50

adapter_nsrst_delay: 100

debug_level: -1

Makefile.unix:543: recipe for target 'download' failed

make: *** [download] Error 1

[STATUS] FAILED


rule를 추가해주면 된다.

Samsung/TizenRT Git Hub[각주:3] 에서 Add USB devie Rules 부분을 따라해 주면 된다.


나. Command on ARTIK053

sensorbd < file name >






 


 각주 외 참조내용


1. ARTIK Documentation





  1. 삼성에서 제공하는 타이젠 깃 허브 [본문으로]
  2. 스자멍씨의 깃 허브 [본문으로]
  3. 삼성 타이젠 ARTIK 053 깃 허브 [본문으로]