'분류 전체보기'에 해당되는 글 363건

  1. 2013.03.20 ZYNQ
  2. 2013.03.18 Altera NIOS-II (4) 2
  3. 2013.03.17 Altera NIOS-II (3) 1
  4. 2013.03.15 Altera NIOS-II (1)
  5. 2013.03.04 Redmine Backlogs 설치
  6. 2013.01.16 Cloud Service
  7. 2013.01.01 4분기에 읽은 책..
  8. 2012.12.08 눈내리는 날의 봉은사 정경
  9. 2012.11.16 요즘 듣고/보고 있는 팟케스트와 인강 몇개 소개
  10. 2012.11.09 머나먼 백업을 위해서... NAS 구입기 2
ZYNQ2013. 3. 20. 19:59

Zynq-7000 EPP Introduction
- Where ARM Processors Meet HW Programmability


자이링스에서 밀고 있는 전략 아이템 ZYNQ의 소개 자료입니다.

- 개념적인 설명 자료입니다. 

- 출처는 김혁 이사님 블로그에서 

   


2012_05_14_Zynq-7000_EPP_Lobby_Pitch_VAL_-_May_2012_.pptx.ppt


'ZYNQ' 카테고리의 다른 글

Xilinx ZYNQ 를 이용한 Vision Processing Board  (1) 2013.10.30
Posted by GUNDAM_IM
Embedded2013. 3. 18. 10:47

Accelerated FIR with Built-In Direct Memory Access Example


http://www.altera.com/support/examples/nios2/exm-accelerated-fir.html


NIOS-II 프로세서에 FIR 필터를 연결하여 시스템을 처리하는 Example이다. 

전체적인 System 그림은 아래와 같다.





하드웨어의 사양은 아래와 같다.


  • Nios Development Board, Cyclone® II or Stratix® II FPGA Edition
  • Nios II core: Nios II/f debug-enabled, 4 KB I-cache, 2 KB D-cache
  • SSRAM: 2 MB
  • DDR SDRAM: 32 MB
  • Timestamp timer: 10 us resolution
  • JTAG UART
  • Phase-locked loop (PLL)
  • System ID
  • Custom FIR hardware accelerator with Avalon-MM masters
  • Also supports Embedded Systems Development Kit, Cyclone III Edition (3C120) and Nios II Embedded Evaluation Kit, Cyclone III Edition (3C25)


이번에는 튜토리얼 개념이 아니라 그냥 디자인 파일만 존재한다.

- 한편으로는 다행이다. 일일이 따라가면서 보는게 쉽지 않았다.


Design File


디자인은 아래 파일이다. 

Accelerated FIR with Built-In DMA Design Example (.zip file)


압축을 풀으면 아래와 같은 폴더들이 나온다.




Cyclone II/III Startix II 등에 맞게 디자인 되어 있다.


ReadMe.txt는 

- Custom Read-Write Masters Design v2.0 

을 제목으로 간단 간단한 설명을 한다.

내용 중에 Instruction으로 간단히 뭘 어떻게 해야 한다고 설명하는 부분이 있다.


Usage Instructions

-------------------------------------

To run the design on Cyclone II 2C35, Stratix II 2s60 RoHS Nios Development Board, Cyclone III Embedded Evaluation Kit (3c25), Cyclone III Embedded Development Kit (3C120).


1. Extract the archived contents to a location of your choice in harddrive, this is refered as <project_folder>

    압축을 잘(?) 풀고


2. Open Quartus II software. Click File -> Open Project. Browse to <project_folder> and select the custom_dma.qpf project file.

   - For 3C25 and 3C120, the file names are cycloneIII_3c25_niosII_standard.qpf and cycloneIII_3c120_niosII_video.qpf respectively

   Q-II에서 프로젝트를 연다 





3. Click Tools -> Programmer to bring up the Quartus II programmer utility. Make sure the custom_dma.sof file is selected. Click on Start to download the .sof 

    to FPGA. (Click on Add File if the sof is not selected)

   - For 3C25 and 3C120, the file names are cycloneIII_3c25_niosII_standard.sof and cycloneIII_3c120_niosII_video.sof respectively.

    다운로드에 대해서 이야기한다.


4. Open Nios II IDE software. Click File -> Import.




5. Expand Altera Nios II folder and select Existing Nios II IDE project into workspace, then click Next.





6. Browse to <project_folder>/software/custom_dma directory and click OK.



7. Click Finish after that is done.

8. Repeat steps 4 to 7 again for folder named custom_dma_syslib in the same software directory.

    Note: Please make sure the target ptf file is set to correct path and with correct cpu being selected.


9. Right click on the project and select Build Project.


10. Once the project is successfully built, right click the project again and select Run As -> Nios II Hardware. 

      Note: Please make sure the sof file is downloaded to FPGA before running the software. 

             If this is not done, please repeat step 3. (주의 깊게 다시 해보라는 말이다.)


For more information on the software code, please refer to the comments written in the source files.



컴파일을 하면 오류가 아래와 같이 나온다.

Symbol 'FIR_DMA_BASE' could not be resolved hw_fir.c /custom_dma line 24 Semantic Error


이렇게 하면 안되고...

프로젝트를 만들고, 여기에다가 제공된 S/W를 Update해야 한다.

(1) NIOS-II SBT 를 열고
여기에서 NIOS-II Application and BSP from Template를 선택




sopcinfo 파일을 불러들여서 Load를 한다.

적당하게 프로젝트 이름을 설정하면 된다.



(주) 위에서 Template는 Blank Project로 선택한다.


File->Import로 창을 띄우고



File System을 선택한다.


그리고 나타난 창에서 C/H/Dat 파일을 선택한다.




그러면 Project Explorer창에 아래와 같이 나온다.




이제 빌드를 해본다. 

 

Project -> Build All


오류가 발생한다.




alt_timestamp_freq 등의 함수가 오류가 난다.

대충 보면 알테라에서 제공하는 라이브러리 함수 같다.

bsp package에 포함되어 있을 것 같은데 링크가 안된다.


이전에 정리한 부분을 생각해보면 altera에서 제공하는 라이브러리를 줄일 수 있는 옵션이 있는 것으로 보아서 라이브러리를 필요에 따라서 선택할 수 있는 옵션이 있을 것이다.


bsp package를 확인


File->Properties->BSP Editor 선택



그러면 아래와 같은 창이 나타난다.





Setting->Common->hal->timestamp_timer


를 선택한다.


None으로 되어 있는 값을 sys_clk_timer 로 변경한다.






그리고 Generate를 선택하여 라이브러리 설정을 바꾼다


이제 OK를 눌러서 창을 닫고 다시 컴파일을 한다.


Project->Build all

을 하면 컴파일이 완료 된다.




이제 Quartus-II에서 Processing->Start Compilation 으로 하여서 컴파일 하면 

시간이 좀 흐른뒤에 컴파일이 끝난다.



 


대충은 된것을 확인했고 다음에는 이 것의 코드를 따라가 본다.


<NIOS-II> 사용 프로젝트는 중단되어서 다음 기회에 하기로 함.. 더이상 진행하지 않음..


'Embedded' 카테고리의 다른 글

freescale iMX.6  (4) 2013.05.09
오래간만의 Windows CE  (0) 2013.05.04
Altera NIOS-II (3)  (1) 2013.03.17
Altera NIOS-II (1)  (0) 2013.03.15
uC/GUI 데모 그림입니다.  (0) 2010.07.18
Posted by GUNDAM_IM
Embedded2013. 3. 17. 19:39

Hardware Tutorial


이 장은 튜토리얼에 있는것을 따라가면서 정리하였다.

Version에 따른 Mismatch도 있어서 확인하면서 진행해야 한다.


튜토리얼은 


http://www.altera.com/literature/tt/tt_nios2_hardware_tutorial.pdf 


이고 

제공되는 하드웨어 디자인 파일은 


Design Files for Nios II Hardware Development Tutorial


에서 참조하여 정리함.


전체적으로는 하드웨어에서 소프트웨어까지 진행하는 것을 알려준다.

다만 새로운 하드웨어를 어떻게 정리하는 가에 대해서는 아직 정리가 안되어 있다.




만들고자 하는 시스템의 블럭도는 위의 그림과 같다.


Nios II System Development Flow 




NIOS II 개발 플로우는 3가지로 구분되어서 진행된다.

(1) 하드웨어 설계 단계

(2) 소프트웨어 설계 단계

(3) 시스템 설계 단계


간단한 시스템의 경우에는 한사람이 다 수행할 것이고 복잡한 시스템에서는 적당히 인력을 나누어서 설계할 것이다.

소프트웨어 개발에 대한 내용은  Getting Started with the Graphical User Interface 을 참조할 것.


시스템 분석


- 하드웨어와 소프트웨어의 분할에 대해서 판단하는 과정

- 메모리 대역폭

- NIOS-II를 어떻게 구성 할 것인가 ? ( Fast , Smaller , or... ??)

- RT/OS를 사용할 것인가 ?

- 어떤 하드웨어가 더 필요한가 ? 


뭐 말은 이렇게 하지만 이 자료에서는 그런 세부적인 것에 대해서는 설명이 당연히(?) 없다.



Defining and Generating the System in Qsys 


시스템 분석이 되었다고 가정하고,  이 예제에서는 Qsys를 이용해서 NIOS II 프로세서 코아와 메모리 그리고 다른 컴포넌트를 연결하고 설정한다.  이후에 Qsys는 설정된 내용대로, 내부 연결을 자동으로 생성된다.


Qsys에서 나오는 출력은 아래와 같다.


Qsys Design File (.qsys)  

   Qsys의 시스템의 하드웨어 구성에 대한 정보를 담고 있다.


SOPC Information file (.sopcinfo) 

   .qsys 파일에 대한 설명을 가지고 있고 이것은 XML 형태로 되어 있다.

   NIOS II EDS는 .sopcinfo 파일을 사용하여 대상 하드웨어의 소프트웨어를 생성한다.


HDL File

    당연히 생성되는 HDL File들.. 

    Quartus II에 의해서 컴파일 하여 .sof 파일을 만들어 낸다.



Integrating the Qsys System into the Quartus II Project 


Qsys에 의해서 NIOS-II를 생성한 후에, 이것을  Quartus-II 프로젝트에 통합해야 한다. 

그리고, Quartus-II에 의해서 FPGA 디자인 파일을 만들어 낸다.


앞의 그림에서 보았듯이 보통은 NIOS-II만 들어가는게 아니고 다른 Logic들도 들어가게 된다. 즉 적당한 로직이나 IP등을 Integrate 한다. 이 튜토리얼에서는 추가 로직을 포함시키는 부분까지는 포함하지는 않는다.


Quartus-II에서 핀과 I/O를 설정하고 타이밍등을 설정한다. 그렇게 한 후에 컴파일 하여서 sof 파일을 만들고, FPGA를 Configuration 한다.


Developing Software with the Nios II Software Build Tools for Eclipse 


NIOS-II의Software Build Tools (SBT)은 Eclipse를 이용해서 NIOS-II의 소프트웨어 개발을 진행하게 된다. Qsys를 이용해서 FPGA 시스템을 생성한 후에 C/C++ 어플리케이션은 Eclipse를 이용해서 만들어간다. 두개의 툴 사이에는 socinfo 라는 파일을 이용해서 정보를 교환한다. 이 파일은 Qsys에서 생성이 된다.


socinfo를 분석해서 NIOS-II용 프로그램을 빨리 진행 할 수 있는 HAL을 제공한다. 

그리고, 상황에 따라서 어플리케이션 코드를 라이브러리화 하여서 사용할 수 있도록 하여 준다.


NIOS-II를 위한 C/C++ 프로젝트를 만들어 내기 위해서 NIOS II SBT는 .sopcinfo 파일을 이용한다.


NIOS-II의 SBT에서 아래와 같은 출력물을 만들어낸다. 물론 상황에 따라서 만들어내는 것도 있고 아닌것도 있다.


- system.h file : 하드웨어를 참조할 수 있는 심폴들을 정의한다. NIOS-II SBT는 이 파일을 자동적으로 생성하고 사용자는  

                   이것을 기반으로 BSP를 만들어간다.


- .elf file  : C/C++ 코드를 컴파일하여 만들어내는 최종 결과 프로젝트이다. 

              이 코드를 NIOS-II에 직접 다운로드 할 수 있다.


- .hex file : on chip memory의 초기화 코드이다.  NIOS II SBT는 이 파일을 생성시킨다.

              ( 그냥 인텔 헥사 파일이고, 이 파일을 이용해서 ROM을 만들어서 FPGA에 넣으면 된다.

                이 과정을 초기화 코드라고 설명하고 있다. 

                : 매뉴얼에서 정리한 사람은 Embedded System Software를 잘 알지 못하는 듯.. )


- Flash memory programming data - 플래쉬 메모리에 데이터를 기록한다. NIOS II SBT는 flash programmer를 가지고 있다 이것은 사용자의 프로그램을 플래쉬메모리에 프로그램 할 수 있게 해준다. 플래쉬 프로그램은 적당한 부트 코드를 추가할 수 있기 때문에, 사용자 프로그램은 플래쉬에서 프로그램을 부팅 할 수 있다.

  ( 이것은 정확한 메카니즘은 모르겠다. 혹시 CRT0를 이야기하는게 아닐까 생각이든다. 

    그냥 부팅하면 되지 부트코드를 만드는 것은 좀 이상하고 그것을 플래쉬 프로그래머가 하는건 더 이상하다.)


이 예제에서는  .elf 파일을 NIOS-II에 다운로드 하는 것에 집중한다.


Running and Debugging Software on the Target Board 


NIOS-II SBT는 프로그램을 다운로드 및 디버깅에 필요한 기능을 다 가지고 있다

보다 자세한 내용은  Nios II Software Developer’s Handbook.의 Getting Started with the Graphical User Interface 절을 참조  


Varying the Development Flow 


개발 프로세스는 그렇게 반드시 해야 하는 것은 아니다. 일반적인 내용으로 진행하면 된다.

세부적인 사항은 그때 그때 달라요가 된다.


Creating the Design Example 


순서는 아래와 같다.


  1. “Install the Design Files” 


    일단 Quartus-II 를 설치하는 것이고 디자인 파일들을 알테라 웹에서 다운 받아서 설치한다.

    Design Files for Nios II Hardware Development Tutorial

    위의 링크에 파일이 있다.


  2. “Analyze System Requirements”.


    NIOS-II 프로세서 시스템의 데모를 간단하게 해보는 것.

    - 왜 문서에서는 말로 설명하지 ?


    실제 시스템을 구성하여서 경험을 쌓는다.

    커스텀 NIOS-II 시스템을 만들어서 테스트 해보기

    어떤 보드에서도 동작 가능한 NIOS-II 시스템을 만들어서 설치

    이런 저런 시스템을 처리


    여기서 만드는 시스템은 아래와 같다.

      - NIOS-II Core/2K Cache

      - 20KB On-Chip Memory

      - Timer

      - JTAG UART

      - PIO

     - System ID Component



  3. “Start the Quartus II Software and Open the Example Project”.


    (1) Quartus-II 프로그램 실행

    (2) Open Existing Project로 하여서 

    (3) design files directory로 가서

    (4) nios2_quartus2_project.qpf를 선택해서, Open 하여서 프로젝트를 오픈





    (5) Block Diagram File을 열기 위해서 nios_quartus2_project.bdf를 이용하여 오픈하기 위해서 

         아래와 같은 순서로 진행한다.

         (a) Open을 선택하여 다이얼로그를 연다.

         (b) Design File Directory에 가서 

         (c) nios2_quartus2_project.bdf를 선택하여 연다. 그럼 아래와 같은 그림이 나타난다.


          



    아래와 같이 창이 나온다.



    Pin만 표시되고 나머지는 텅 비어 있다. 이제 여기에다가 Qsys를 이용해서 로직을 만들어 넣는다.


  4. “Create a New Qsys System”.


     Qsys를 이용해서 NIOS-II 프로세서 시스템을 만든다.  

    새롭게 NIOS-II를 만들러면 Qsys를 클릭해서 창을 띄우고 System Contents tab을 표시한다.


  5. “Define the System in Qsys”.


    Qsys 시스템을 이용해서  NIOS-II 하드웨어를 만든다.

    Qsys는 소프트웨어에 관련된 일은 하지 않는다. 그것은 Qsys에서 생성된 .socinfo를 이용해서 NIOS-II SBT에서 수행한다. 


    5.1 Specify Target FPGA and Clock Settings 


    Clock Setting과 Project Setting Tab을 선택하여, 시스템의 클럭과 디바이스를 선택할 수 있다.


    (1) Project Setting Tab에서

         Device Family 를 선택하고 적당한 Device를 선택한다.






    (2) 보드상에서의 OSC를 보고 주파수를 확인한다. 

          - 이런것 까지 자세하게 설명해 주는 알테라의 친절함.


    (3) Clock Setting Tab에서 

          MHz 컬럼에서 clk_0.clk_0의 clock frequency를 더블 클릭한다. 

          이 클럭은 Qsys의 기본 시스템 클럭이다.

         이 클럭의 값은 FPGA를 드라이빙하는 클럭과 같아야 한다.



    (4) 클럭 값을 넣고 Enter... 


    5.2  Add the on chip memory


    프로세서 시스템은 적어도 하나의 메모리를 가지고 있어야 한다. 이 디자인은 20KB의 On Chip Memory를 사용하여서 데이터와 명령어를 위해 준비한다.  다음과 같은 순서로 더한다.


    (1) Component Library tab에서 

         Memories and Memory controllers를 확장하여, On-Chip으로 해서 On-Chip Memory를 선택한다.

         대개 ROM/RAM이다.



    (2) Add로 하여서

         ROM 또는 RAM을 선택한다.

            파라미터 설정이 나타나고 아래와 같은 창이 나타난다.



    (3)  Block Type은 Auto로

          Total Memory size는 20480으로 해서 20KB로 

          - 그외의 설정은 건드리지 말자 모드 기본 값을 사용.


    (4) Finish


    (5) System contents tab에서 on chip memory의 인스턴스가 나타난다.



    (6) Name 컬럼에서 Rename을 클릭 그리고, onchip_mem을 넣는다.






    5.3 Add the NIOS-II Processor Core


    여기서는 NIOS-II/s 코아를 2KB I Cache를 만든다. 

    설명을 위해서 NIOS-II/s를 만들어서 사용한다. NIOS-II/s는 간단하지만 성능이 잘 나오는 프로세서이다. (라고 주장..)


    (1) Component Library tab에서

          Processors -> NIOS-II Processor를 클릭

          NIOS-II Tab 윈도우가 나타난다.



    (2) NIOS-II Core에서 NIOS-II/s를 선택



    (3) H/W Multiplication type에서는 NONE으로 선택 

         곱셈기가 소프트웨어로 선택


    (4) H/W Div를 Off로 

         나눗셈은 없는 걸로...


    (5) Finish를 선택

          그러면 Qsys System Contents tab에서

          들어가면 NIOS-II가 나타나있지만 오류가 두개 나와 있다. 일단 무시




    (6) Name 컬럼을 선택하고 rename 하고, 이름을 cpu로 설정


    (7) Connections 컬럼에서

          clk 포트를 clk_0클럭에 연결한다.

         마찬가지로 on-chip memory의 clk1 포트에 연결한다.

         연결 크로스 되는 지점에서 원이 채워져 있으면 연결 비워져 있으면 연결이 안된 것으로 표시된다.

         -> Xilinx의 MB와 기본적으로 같은 시스템이다.


    (8) clk_0 클럭 소스의 clk_reset 포트를 on-chip memory에 reset1에 연결, NIOS-II 프로세서의 reset_n에 연결한다.


    (9) on chip memory의 s1 포트를 NIOS-II의 instruction master와 data_master 포트에 연결한다.


    (10) NIOS-II의 프로세서의 reset_n 포트와 on-chip memory의 reset1 포트를 clk0 클럭의 clk_reset 포트에 연결한다.


    (11) NIOS-II 프로세서의 설정 창을 다시 더블클릭해서 창을 연다.

            

    (12) Reset Vector에서 reset vector memory list에서 onchip_mem.s1을 선택하고, Reset vector offset box에서 

            0x0을 넣는다. 

         

    (13) Exception vector에서

            Exception vector memory 리스트에서 on_chip_mem.s1을 선택하고 Exception Vector offset box에서 

           값을 0x20을 넣는다.





     


    (14) Cache and Memory Interface tab을 클릭


    (15) Instruction cache list에서 2KB를 선택


    (16) Burst Transfer는 Disable로


    (17) Number of tightly coupled instruction master port(s)에서 None으로 선택





    그외의 다른 세팅은 건드리지 말고 


    (18) Finish를 선택한다.


    5.4 Add the JTAG UART


    JTAG UART는 NIOS-II와 Host PC간의 인터페이스를 할 수 있다.

    USB-Blaster를 이용해서 통신하게 된다.


    (1) Component Library tab에서 interface protocols -> Serial -> JTAG UART

         를 선택



    (2) Add

        



    위와 같이 하고

    그외의 설정은 건드리지 않는다.


    이름은 jtag_uart로 넣는다.

    JTAG UART의 clk 포트는 clk_0에 연결한다.

    NIOS-II의 data_master 포트를 avalon_jtag_slave 포트에 연결한다.






    5.5 Add the interval timer


    이것도 그냥 앞서와 같이 연결한다.


    Component Library-> Peripherals -> Micro controller peripherals -> Interval timer




    이름은 sys_clk_timer 로 설정




    5.6 Add the System ID peripheral


    Components Library -> Peripherals -> Debug and Performance -> System ID Peripheral


    다른 것은 건드리지 말자




    이름은 sys_id 로 한다.





    5.7 Add the PIO



    Component Library -> Peripherals -> Microcontroller peripherals -> PIO




    이름은 led_pio로 설정


    나머진 잘 연결한다.






    5.8 Specify Base addresses and Interrupt Request Priorities


    이 시점에서 필요한 하드웨어가 전부 다 연결되어 있다. 이제 각 컴포넌트의 상호 동작을 설정하는 작업을 해야 한다.

    이 섹션에서는 각각의 컴퍼넌트의 base address를 설정하고, 인터럽트 우선 순위를 설정한다.


    Qsys는  Assign Base Addresses 커맨드를 통해서 각 컴포넌트의 base address 설정을 할 수 있다.  


    주의 할 점은 

    - NIOS-II 프로세서는 31비트 공간을 사용한다. 따라서 0x0000 0000 ~ 0x7FFF FFFF 을 접근한다.

    - NIOS-II는 Symbolic constant를 이용해서 어드레스를 참조한다.  이 값은 기억하기 쉬운 방식으로 준비되어 있다.

      (누가, 어떻게 ??)

    - Qsys는 연속된 메모리 공간을 꽉꽉 채워서 활용할 필요는 없다. 적당하게 배열하여서 설정하면 된다.





    Qsys는 Assign Interrupt Number 커맨드를 이용하여 IRQ를 할당할 수 있다. 


    NIOS-II HAL에서 낮은 IRQ 값을 높은 우선 순위로 판단한다. 


    적절한 IRQ를 할당은 다음과 같이 한다.


    (1) System menu에서 Assign Base Address를 클릭하고, 

          Base와 End를 설정한다. 

          

    (2) IRQ 컬럼에서,

         NIOS-II를 JTAG UART와 Interval timer와 연결한다.

     

    (3) jtag_uart에서 IRQ값을 설정한다. 여기서는 16으로 설정한다.


    (4) sys_clk_time의 IRQ값은 1로 설정한다.




    설정은 IRQ 컬럼에서 연결을 시키면 작은 박스가 표시되는데 여기에다가 값을 넣으면 된다.


    위와 같이 나온다.


    5.9 Generate the Qsys System


    이제 Generation Tab에서 적당하게 설정하고 Generate를 설정한다.






    이상이 없으면 잘 만들어 내고 에러가 없다.

    이상이 있으면 다시 잘 설정한다.



  6. “Integrate the Qsys System into the Quartus II Project”.


    이제, Qsys에서 만든 Instance를 Quartus II에서 사용하는 과정을 보여준다.


      FPGA 디바이스와 Pin위치를 설정

      Quaruts-II에서 컴파일

     타이밍 확인


    6.1 Instantiate the Qsys System Module in the Quartus II Project

      

    Qsys의 결과물은 system module을 부른다.

    예제에서는  블럭다이어그램으로 처리하기 때문에 이름을  first_nios2_system으로 하여서 .bdf에 통합한다.


    .bfd에 통합하기 위해서 다음 과정을 거친다.


    (1) 블럭도의 화면중 빈 공간에서 더블 클릭해서 심볼 다이얼로그 박스를 오픈한다.

    (2) Libraries -> Project

    (3) first_nios2_system을 선택


    (주) 이름은 그냥 틀려도 Pass 귀찮게 이름까지 맞출 필요는 없다.


    (4) OK를 누르면 다이얼로그가 없어지고 마우스를 이용해서 블럭을 배치할 수 있게 된다.

    (5) 적절한 위치에 배치후 핀들을 연결한다.

    (6) 적당하게 핀들중 없는 핀들은 삭제한다.

          - 마우스를 클릭해서 삭제.. 참 친절한 튜토리얼이다.






    6.2 Add IP Variation File


    Qsys에서 생성된 IP를 Quartus II의 프로젝트에 추가하는 과정이다.

    Qsys에서 .qip 파일을 만들어 내는데 이 파일이 스크립트로 되어 있으며 quartus-II에서 IP로 인식하기 위한 정보를 가지고 있다.


    전체적으로는 프로젝트에 IP를 추가하는 것이어서 Assignment->Setting에서 프로젝트 세팅 정보에 의해서 추가된다. 아래 과정은 그에 대한 추가 과정을 설명한 내용이다.



    1. On the Assignments menu, click Settings . The Settings  dialog box appears.






    2. Under Category , click Files . The Files  page appears.


    3. Next to File name , click the browse (... ) button.

    4. In the Files of type  list, select Script Files (*.tcl, *.sdc, *.qip) .




    5. Browse to locate <design files directory>/first_nios2_system/synthesis/first_nios2_system.qip  and click Open  to select the file.



    6. Click Add  to include first_nios2_system.qip  in the project.

    7. Click OK  to close the Settings  dialog box.



    6.3 Assign FPGA Device and Pin Locations


    앞서의 디바이스 할당은 Qsys에서 할당된 것으로 NIOS-II의 설정에만 영향을 준다.

    여기서는 역시 프로젝트에서 디바이스 할당을 하는 과정을 설명한다.


      1. On the Assignments menu, click Device . The Device  dialog box appears.



     2. In the Family  list, select the FPGA family that matches your board.

     3. Under Target device , select Specific device selected in 'Available devices' list .

    4. Under Available devices , select the exact device that matches your board.

     5. Click OK  to accept the device assignment.




    핀 위치 할당하기


     1. On the Processing menu, point to Start , and click Start Analysis & Elaboration  to prepare for assigning pin locations. 



        The analysis starts by displaying a   “data not available” message and can take several minutes. 

        A confirmation message box appears when analysis and elaboration completes.

     


     2. Click OK .

     3. On the Assignments menu, click Pin Planner . The Quartus II Pin Planner appears.




    아래 그림은 Pin Planner이다.



     4. In the Node Name  column, locate PLD_CLOCKINPUT .

     5. In the PLD_CLOCKINPUT  row, double-click in the Location  cell to access a list of available pin locations.







     6. Select the appropriate FPGA pin that connects to the oscillator on the board.

     7. In the PLD_CLOCKINPUT  row, double-click in the I/O Standard  cell to access a list of available I/O standards.

    8. Select the appropriate I/O standard that connects to the oscillator on the board.

    9. If you connected the LED pins in the board design schematic, repeat steps 4 to 8

    for each of the LED output pins (LEDG[0] , LEDG[1] , LEDG[2] , LEDG[3] ,

    LEDG[4] , LEDG[5] , LEDG[6] , LEDG[7] ) to assign appropriate pin locations.

    10. On the File menu, click Close  to save the assignments.

    11. On the Assignments menu, click Device . The Device  dialog box appears.

    12. Click Device and Pin Options . The Device and Pin Options  dialog box appears.

    13. Click the Unused Pins  page.





     14. In the Reserve all unused pins  list, select As input tri-stated with weak pull-up . With this setting, all unused I/O pins on the FPGA enter a high-impedance state after power-up.


     15. Click OK  to close the Device and Pin Options  dialog box.

     16. Click OK  to close the Device  dialog box.



    6.4 Compile the Quartus II Project and Verify Timing


    이제 컴파일 할 준비가 되었다. 컴파일하여서 sof 파일을 만들어 낸다.

    컴파일한 뒤에 타이밍 정보를 확인한다.


    1. On the File menu, click Open .

    2. In the Files of type  list, select Script Files (*.tcl, *.sdc, *.qip) .

    3. Browse to locate <design files directory>/hw_dev_tutorial.sdc  and click Open . The file opens in the text editor.



    4. Locate the following create_clock  command:

        create_clock -name sopc_clk -period 20 [get_ports PLD_CLOCKINPUT]



     5. Change the period setting from 20 to the clock period (1/frequency) in nanoseconds of the oscillator driving the clock pin.

    6. On the File menu, click Save .

    7. On the Assignments menu, click Settings . The Settings  dialog box appears.

    8. Under Category , click TimeQuest Timing Analyzer .






     9. Next to File name , click the browse (... ) button.

    10. Browse to locate <design files directory>/hw_dev_tutorial.sdc  and click Open  to select the file.

    11. Click Add  to include hw_dev_tutorial.sdc  in the project.



    12. Turn on Enable multicorner timing analysis during compilation .


       

    Multiconer support에 대한 내용이 없고, 다른 카테고리에 그 부분이 있다.

    - 좀더 확인이 필요하다.


    13. Click OK .


    컴파일은 아래와 같은 순서로 진행한다.


     1. On the Processing menu, click Start Compilation . The Tasks window and percentage and time counters in the lower-right corner display progress. The compilation process can take several minutes. When compilation completes, a dialog box displays the message "Full Compilation was successful."



    2. Click OK . The Quartus II software displays the Compilation Report  tab.


      (주) 여기서 Compilation Report Tab의 의미가 좀 헤깔렸다. 

            그냥 Table of Contents가 즉 Navigation panel 자체가 Report Tab을 의미한다.

            이 Contents는 Report에 대한 Contents이다.



    3. Expand the TimeQuest Timing Analyzer  category in the compilation report.

    4. Click Multicorner Timing Analysis Summary .





    5. Verify that the Worst-case Slack  values are positive numbers for Setup , Hold , Recovery , and Removal . If any of these values are negative, the design might not operate properly in hardware. To meet timing, adjust Quartus II assignments to optimize fitting, or reduce the oscillator frequency driving the FPGA.



    이제 겨우 다운로드 할 준비가 되었다.

    - 정말 길다. 에휴




  7. “Download Hardware Design to Target FPGA”.

    SoF파일을 타겟 보드에 다운로드 한다.


     1. Connect the board to the host computer with the download cable, and apply power to the board.

    2. On the Tools menu in the Quartus II software, click Programmer . The Quartus II Programmer appears and automatically displays the appropriate configuration file (nios2_quartus2_project.sof ). 



     3. Click Hardware Setup  in the upper left corner of the Quartus II Programmer to verify your download cable settings. The Hardware Setup  dialog box appears.

    4. Select the appropriate download cable in the Currently selected hardware  list. If the appropriate download cable does not appear in the list, you must first install drivers for the cable.


    5. Click Close .

    6. In the nios2_quartus2_project.sof  row, turn on Program/Configure .

    7. Click Start . The Progress  meter sweeps to 100% as the Quartus II software configures the FPGA.


    이제 구동할 준비가 되어 있지만, 프로그램이 없으니 구동이 안된다. 

    다음 부분에서 프로그램을 준비한다.



  8. “Develop Software Using the Nios II SBT for Eclipse”.


    이제 NIOS-II SBT를 이용하여 간단한 C 코드를 만들고 컴파일해서 구동을 하는 과정을 보여준다.

    다음과 같은 것을 진행한다.


    Create new Nios II C/C++ application and BSP projects.

    Compile the projects.


    프로그램 관련된 일을 진행하기 위해서는 .sofinfo 파일을 가지고 있어야 한다.

    이 파일은 앞서 만들어 두었다.


    8.1 Create a New Nios II Application and BSP from Template

     

     1)      NIOS-II BST를 실행한다.

     2)      Eclipse에서 NIOS-II perspective로 설정한다.

              Window->Open Perspective->Other


    다이얼로그가 나오면 NIOS-II로 설정한다.




    아래 창이 기본적으로 설정된 창이다.





    3) File->New->NIOS II Application and BSP from template 를 선택한다.

       그럼 다이얼로그 박스가 나온다.



    아래 다이얼로그가 나타난다.



     5. Under Target hardware information , next to SOPC Information File name , browse to locate the <design files directory> .

    6. Select first_nios2_system.sopcinfo  and click Open . You return to the Nios II Application and BSP from Template wizard showing current information for the SOPC Information File name  and CPU name  fields.

    7. In the Project name  box, type count_binary .

    8. In the Templates  list, select Count Binary .

    9. Click Finish .



    적당하게 세팅하고 OK를 두르면 된다.


    count_binary—Your C/C++ application project

    count_binary_bsp—A board support package that encapsulates the details of the Nios II system hardware



    8.2 Compile the Project


    현재 빌드된 NIOS-II는 20KB의 메모리 공간만 가지고 있으므로 그에 맞게 시스템을 재 조정해야 한다.


     1. In the Project Explorer view, right-click count_binary_bsp  and click Properties . The Properties for count_binary_bsp  dialog box appears.

    2. Click the Nios II BSP Properties  page. The Nios II BSP Properties  page contains basic software build settings. Figure 1–21  shows the GUI.





    3. Adjust the following settings to reduce the size of the compiled executable:

       a. Turn on Reduced device drivers .

       b. Turn off Support C++ .

       c. Turn off GPROF support .

       d. Turn on Small C library .

       e. Turn off ModelSim only, no hardware support .


    4. Click OK . The BSP regenerates, the Properties  dialog box closes, and you return to the Nios II SBT for Eclipse.

    5. In the Project Explorer view, right-click the count_binary  project and click Build Project .



    8.3 Run the Program on Target Hardware


    이제 드디어 다운로드 한다.


     1. Right-click the count_binary  project, point to Run As , and then click Nios II Hardware . The Nios II SBT for Eclipse downloads the program to the FPGA on the target board and the program starts running.


     When the target hardware starts running the program, the Nios II Console view displays character I/O output. Figure 1–22  shows the output. If you connected

    LEDs to the Nios II system in “Integrate the Qsys System into the Quartus II Project” on page 1–24 , then the LEDs blink in a binary counting pattern.


    2. Click the Terminate  icon (the red square) on the toolbar of the Nios II Console view to terminate the run session. When you click the Terminate  icon, the Nios II SBT for Eclipse disconnects from the target hardware.



    실행 결과를 확인하면 OK



  9. “Run the Program on Target Hardware” on page 1–35









'Embedded' 카테고리의 다른 글

오래간만의 Windows CE  (0) 2013.05.04
Altera NIOS-II (4)  (2) 2013.03.18
Altera NIOS-II (1)  (0) 2013.03.15
uC/GUI 데모 그림입니다.  (0) 2010.07.18
이슈 트래킹 어떻게 하나요 ?  (0) 2010.07.10
Posted by GUNDAM_IM
Embedded2013. 3. 15. 11:30

개요


알테라사에서 제공하는 NIOS-II 프로세서는 FPGA내에 내장 시킬 수 있는 프로세서이다.

FPGA에 프로세서를 내장 시킬 필요가 있는 경우가 생기는데 

그럴때 찾을 수 있는 유용한 프로세서 중 하나이다. 

- 물론 알테라 FPGA에서 사용할 수 있다.




프로세서로 기본적인 골격은 당연히 가지고 있고 

기본 무기 세트도 가지고 있어서 사용할 때에는 맘편하게 구성해서 사용할 수 있다.


Core는 3가지 모드로 구성할 수 있는데


1) FAST : 속도 우선 모드 

2) Economy : 크기 최적화 모드

3) Standard Mode : 표준 모드


중 하나를 선택할 수 있다.


Fast와 Ecomony모드의 크기차이는 2~3배 차이가 난다.

속도가 필요 없는 경우 굳이 Fast로 할 필요는 없다.



IPs


제공되는 IP는 아래와 같다.


  • DMA Controller
  • Scatter Gather DMA Controller
  • SDR SDRAM Controller
  • CFI Flash Controller
  • EPCS Serial Flash Controller
  • JTAG UART Controller
  • UART Controller
  • SPI Controller
  • PIO Controller
  • Mutex Core
  • Mailbox Core
  • Timer Core
  • Vector Interrupt Controller Core
  • Performance Counter
  • Phase-locked loop (PLL)
  • Avalon® Interconnect Components


모두 기본적으로 제공되므로 무료이다.

쉽게 쉽게 사용할 수 있다.


관련된 문서는 여기에서 다운받을 수 있다.

http://www.altera.com/literature/lit-nio2.jsp


Cyclon3에 NIOS 올리기 : Sample


Cyclon3에서 NIOS를 포팅하는 것에 대해서는 AN548 문서에 잘 나와 있다.

제한 사항은 Active Parallel Configuration을 지원하는 디바이스에서 사용할 수 있다는 부분이다.

AP는 Flash Memory를 Parallel로 사용하는 경우를 의미한다.


구성은 아래와 같다.


이것은 NIOS-II /e 즉 Economy 옵션으로 컴파일한다.

프로세서는 내부에 있는 메모리에서 부팅하게 된다. 


Remote Update Controller는 내부 회로를 Remote로 Update할 경우에 사용한다.


이 시스템은 50MHz입력을 PLL에게 넣고 PLL에서 60MHz와 40MHz 출력을 만들어 낸다.

60MHz는 내부 컴퍼넌트용 클럭이고 40MHz는 Remote Update Controller용 클럭이다.


LED 

Push button PIO

JTAG UART


3가지 Peripheral을 내장하고 있다.


Software flow


예제용 소프트웨어의 플로우 차트는 아래와 같다.





 

기본적으로 간단한 프로그램이어서 자세한 설명은 생략



Example design


Example Design의 폴더 구조는 아래와 같다.




디자인은 두가지인데


application image ex

factory image ex


이다. 디자인은 완전히 같고 차이점은 소프트웨어 관련된 부분이다. 

LED3를 깜박이냐 아니면 LED4를 깜박이냐의 차이점이다.


Push Button을 누를떄 마다 application image와 factory image가 번갈아서 구성되고 실행된다.

아래 그림을 참조




예제 디자인의 실행


1) 보드와 PC를 USB를 이용하여 연결

2) NIOS Command Shell을 열어서, 

    (주) NIOS Command shell은 CYGWIN환경이다.

3) <work_directory>/compact_config/utilities

로 이동한다.

4) 보드의 플래쉬에 output.flash 프로그램을 프로그램한다.


 ./program_flash.sh output.flash <programming hardware>


  programming hardware는 보드의 이름이며 프로젝트의 이름이다.

  특별한 이름이 없다면  jtagconfig 으로 한다.


5. 보드상의  RECONFIGURE  버튼을 눌러서 Flash 프로그램을 완료한다. 잘 되면 LED3가 깜박인다.


6. nios2-terminal을 열으면 아래와 같은 메시지가 나온다.




7. 버튼 1을 누르면 app image로 전환된다. 그러면 아래와 같은 메시지가 나오면서 LED4가 깜박인다.



8. 다시 터미널을 열면 아래와 같은 메시지가 나온다.



여기서 Button 2를 누르면 Factory Image로 재 configuration 된다.


이런식으로 예제는 계속 디자인을 옮겨가며 깜박이게 된다.



디자인을 다시 빌드하기


(1) Quartus-II에서 

              <work_directory>/compact_config/ factory_image_ex

     에 있는  

              niosII_cycloneIII_compact.qpf 

        를 오픈한다.




 (2) Tool Menu에서 

       SOPC Builder

      를 선택한다.



(주) 알테라 Quartus - 12.1 버전에서는 Qsys로 업그레이드해서 사용하길 권하고 있다.




여기서는 그냥 진행한다.


아래와 같은 창이 나타난다.




(3) SoPC Builder에서 Generate를 선택한다.


그럼 Platform을 제너레이션 하고 아래와 같은 메시지를 낸다.




그럼 exit를 눌러서 프로그램을 빠져 나온다.


(5) 이제 보드에 프로그램을 한다. 다음과 같은 과정을 거쳐서 프로그램한다.

 a) NIOS-II 커맨드 쉘을 열어서 

 b) 아래 폴더로 이동한다.

        <work_directory>/compact_config/factory_image_ex/software/app/factory_image.

 c) 다음 커맨드를 넣는다.

      ./create-this-app



   컴파일하고 위와 같은 log가 나타난다.


   생각보다 많은 파일들을 컴파일한다. (나중에 바꿀려면, 귀찮게스리.. )

   (주) 프로그램 크기를 줄이기 위해서는 “Software Board Support Package (BSP) Settings” 을 참조


   결과로 elf 파일과  ../../../onchip_mem.hex 파일이 만들어진다.

   hex 파일은 flash 프로그램용 파일이다.


(6) 이제 Quartus-II에서 Start Compiliation을 선택하여 프로젝트 전체를 컴파일한다.



 이 과정은 좀(?) 시간이 걸린다.


 

(7) 정상적이면 SoF 파일이 생성된다. 이 파일에는 Hex가 포함되어 있다.


(8) 같은 과정을 application image ex에서도 진행한다. 


(9) 폴더를 

       <work_directory>/compact_config/utilities

     폴더로 이동한다.


 (10) 두개의 SoF파일 즉 Factory와 Application 파일을 하나의 flash로 합친다.

     아래의 커맨드로 합친다.


 ./flash_convert.sh \

../factory_image_ex/niosII_cycloneIII_compact.sof \

../application_image_ex/niosII_cycloneIII_compact.sof \

0x20000 0xA00000


이제 결과로 output flash가 만들어진다. 이것을 앞서의 과정처럼 프로그램해서 보드에서 테스트 할 수 있다.



'Embedded' 카테고리의 다른 글

Altera NIOS-II (4)  (2) 2013.03.18
Altera NIOS-II (3)  (1) 2013.03.17
uC/GUI 데모 그림입니다.  (0) 2010.07.18
이슈 트래킹 어떻게 하나요 ?  (0) 2010.07.10
1초만에 부팅되는 Embedded Linux  (0) 2010.07.02
Posted by GUNDAM_IM
Software / Eclipse2013. 3. 4. 10:49

Redmine + Backlogs


Redmine을 이용해서 관리를 하는데 사실 거의 Text 기반으로 관리하기 때문에 심심하다.

요새같은 세상이 GUI가 그렇게 좋지 않은 것은 엄청난 흠결이다.


Text Editor도 WYSWYG이 아니기 때문에 문제가 있다.


이런 저런 PlugIn들이 많이 있어서 나름대로 보강을 해가며 사용할 수는 있지만, 의외로 Redmine에서는 버전 문제가 발목을 잡는 경우가 많다.


BackLogs는 Redmine을 Agile한 방법으로 운용할 수 있도록 도와주는 PlugIn이다.


http://www.redminebacklogs.net


특징은 아래와 같다.


  • Sort stories in your product and iteration backlogs
  • Track story points for each of your stories
  • Display burndown charts to show progress
  • Track tasks via your iteration’s taskboard
  • Produce printable task board cards
  • Track impediments within each iteration

설치


설치는 아래의 링크에서 참조한다.


http://www.redminebacklogs.net/en/installation.html


설치는 기존에 설치된 Redmine의 방식에 따라서 조금씩 틀리는데


generic

RHEL 5.x

Dreamhost

Bitnami Redmine stack


4가지 방법 중 한가지를 선택하여 할 수 있다.

공식적으로 설치하고 지원되는 버전은 
Redmine 2.0.4, 2.1.6 and 2.2.3

이다.


다른 버전도 설치되고 운용되지만, 지원은 하지 않는다.


Check Gems


설치하기 전에 BitNaMi 환경으로 준비되어 있는지 확인한다.


export GEM_HOME=<path to bitnami stack>/redmine-<version>/ruby/lib/ruby/gems/1.8/gems 
export PATH=<path to bitnami stack>/redmine-<version>/ruby/bin:$PATH
위의 방식에 따라서 아래와 같이 입력한다.

export GEM_HOME=/Applications/redmine-2.2.3-0/ruby/lib/ruby/gems/1.9.1/gems/
export PATH=/Applications/redmine-2.2.3-0/ruby/bin/:$PATH


GEM 1.0.4에서는 문제가 있어서 1.0.3 버전에서 Upgrade를 할 것을 권하고 있다.


freegearMBP:htdocs freegear$ gem install holidays --version 1.0.3

Successfully installed holidays-1.0.3

1 gem installed

Installing ri documentation for holidays-1.0.3...

Installing RDoc documentation for holidays-1.0.3...

freegearMBP:htdocs freegear$ gem install holidays

Successfully installed holidays-1.0.5

1 gem installed

Installing ri documentation for holidays-1.0.5...

Installing RDoc documentation for holidays-1.0.5...


일단 1.0.5 버전으로 Upgrade된다.

- BackLogs가 반드시 1.0.4를 요구하지 않고 있고 최신 버전이 1.0.5이므로 그냥 사용하기로한다.


Install Backlogs


설치 방식은 몇가지로 다시 나누어서 설명한다.


#Method 1

  이 방식은 git로 backlogs를 다운받아서 설치하는 것이다. git에 대해서 기본적인 지식이 있어야 하지만, 그렇게 심각하게 필요하지도 않다.


설치하기 위해서는 `vendor/plugins` 폴더에 위치하고 있어야 한다.

내 경우에는 

/Applications/redmine-2.2.3-0/apps/redmine/htdocs/plugins

에서 작업한다.


우선 git를 이용해서 backlogs를 다운로드 받는다. 커맨드는 아래와 같다.


git clone git://github.com/backlogs/redmine_backlogs.git



주의할 점은 받드시 폴더 이름을 바꾸면 안된다는 것이다.

그냥 redmine_backlogs를 그대로 사용하여야 한다.


freegearMBP:plugins freegear$ git clone git://github.com/backlogs/redmine_backlogs.git

Cloning into 'redmine_backlogs'...

remote: Counting objects: 19967, done.

remote: Compressing objects: 100% (6831/6831), done.

remote: Total 19967 (delta 13184), reused 19223 (delta 12563)

Receiving objects: 100% (19967/19967), 9.76 MiB | 148 KiB/s, done.

Resolving deltas: 100% (13184/13184), done.

freegearMBP:plugins freegear$ ls

README redmine_backlogs


우선 redmine_backlogs로 들어간다.


freegearMBP:plugins freegear$ ls

README redmine_backlogs

freegearMBP:plugins freegear$ cd redmine_backlogs/

freegearMBP:redmine_backlogs freegear$


이제 여기서 다운 가능한 버전을 확인한다. 


git tag 커맨드로 확인한다.


freegearMBP:redmine_backlogs freegear$ git tag

v0.6.20

v0.6.21

v0.6.22

v0.6.23

v0.7.0

v0.7.1

v0.7.2

v0.7.3

v0.7.4

v0.7.5

v0.7.6

.......

v0.9.4

v0.9.5

v0.9.6

v0.9.7

v0.9.8

v0.9.9


최신 버전은 0.9.9이다. 이버전을 다운받는다.


git checkout v0.9.9

(주: 이버전으로 하여 설치가 안되어서 0.9.36으로 설치하여 성공하였다)


로 다운 한다.



#Method 2


이것은 웹에서 ZIP 파일로 다운 받는 과정이다.

#1로 진행했으면 굳이 여기서는 설명하지 않는다.

(안되면 다시 #2를 진행해 보겠다.)


Pre-install Tasks


주의 : 기본적으로 별다른 언급이 없으면  development environment로 진행된다. 만약 특별히 이런 것에 문제가 있거나 싫다면 별도로 production으로 언급해주면 된다.


RAILS_ENV=production
export RAILS_ENV


다음은 redmine이 제대로 설치되었는지 확인하는 단계이다.

redmine이 설치된 top folder에서 다음 커맨드를 실행한다.


bundle exec rake db:migrate

설치된 폴더는 아래와 같다.


/Applications/redmine-2.2.3-0/apps/redmine/htdocs



위의 커맨드를 넣으면 오류가 아래와 같이 나온다.

freegearMBP:htdocs freegear$ bundle exec rake db:migrate

You cannot specify the same gem twice with different version requirements. You specified: test-unit (>= 0) and test-unit (= 1.2.3)

*(주) 관련된 오류에 대한 정보는 아래 링크에서 얻을 수 있다.

http://forum.redminebacklogs.net/Re-using-Baclogs-on-Redmine-2-2-0-td4025406.html



Root에 있는 Gemfile을 수정한다.


    gem "test-unit", :platforms => platforms


을 


     if RUBY_VERSION >= "1.9" 
      gem "test-unit", "=1.2.3" 
     else 
      gem "test-unit", :platforms => platforms 
     end 


으로 수정한다.


다시 실행하면 아래와 같은 에러가 나타난다.


freegearMBP:htdocs freegear$ bundle exec rake db:migrate

Could not find gem 'test-unit (= 1.2.3) ruby' in the gems available on this machine.

Run `bundle install` to install missing gems.




이 문제에 대한 해결 정보는 아래 링크에서 확인한다.

http://kadzusa.com/?p=122


아래의 커맨드로 설치한다.


gem install test-unit -v 1.2.3




freegearMBP:htdocs freegear$ gem install test-unit -v 1.2.3

Fetching: test-unit-1.2.3.gem (100%)

Successfully installed test-unit-1.2.3

1 gem installed

Installing ri documentation for test-unit-1.2.3...

Building YARD (yri) index for test-unit-1.2.3...

Installing RDoc documentation for test-unit-1.2.3...


이제 실행하면 다시 에러가 발생한다.



freegearMBP:htdocs freegear$ bundle exec rake db:migrate

Could not find gem 'holidays (= 1.0.3) ruby' in the gems available on this machine.



이제는 에러에 대해서 자연스럽게(?) 진행 가능한다

빠진 패키지를 넣고 실행한다.


freegearMBP:htdocs freegear$ gem install holidays -v 1.0.3

Fetching: holidays-1.0.3.gem (100%)

Successfully installed holidays-1.0.3

1 gem installed

Installing ri documentation for holidays-1.0.3...

Building YARD (yri) index for holidays-1.0.3...

[error]: ParserSyntaxError: syntax error in `lib/holidays/united_nations.rb`:(15,25): syntax error, unexpected ']', expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END

[error]: Stack trace:

/Applications/redmine-2.2.3-0/ruby/lib/ruby/gems/1.9.1/gems/yard-0.8.1/lib/yard/parser/ruby/ruby_parser.rb:533:in `on_parse_error'

/Applications/redmine-2.2.3-0/ruby/lib/ruby/gems/1.9.1/gems/yard-0.8.1/lib/yard/parser/ruby/ruby_parser.rb:50:in `parse'

/Applications/redmine-2.2.3-0/ruby/lib/ruby/gems/1.9.1/gems/yard-0.8.1/lib/yard/parser/ruby/ruby_parser.rb:50:in `parse'

/Applications/redmine-2.2.3-0/ruby/lib/ruby/gems/1.9.1/gems/yard-0.8.1/lib/yard/parser/ruby/ruby_parser.rb:15:in `parse'

/Applications/redmine-2.2.3-0/ruby/lib/ruby/gems/1.9.1/gems/yard-0.8.1/lib/yard/parser/source_parser.rb:439:in `parse'

/Applications/redmine-2.2.3-0/ruby/lib/ruby/gems/1.9.1/gems/yard-0.8.1/lib/yard/parser/source_parser.rb:44:in `parse'


Installing RDoc documentation for holidays-1.0.3...


이제 다시 실행 해보자


freegearMBP:htdocs freegear$ bundle exec rake db:migrate

You have requested:

  gherkin = 2.6.8


The bundle currently has gherkin locked at 2.11.6.

Try running `bundle update gherkin`

Run `bundle install` to install missing gems.



일단 gherkin 이라는 GEM이 없다고 나온다. 이를 다시 설치한다.


Gemfile.lock 파일에서 gherkin 버전을 수정한다.


== WAS ==

 69     gherkin (2.11.6)

==  IS ==

 69     gherkin (2.6.8)


 그러면 아래와 같이 진행되고 새로운 오류가 나온다.


freegearMBP:htdocs freegear$ bundle exec rake db:migrate

Could not find gem 'hoe (= 1.5.1) ruby' in the gems available on this machine.

Run `bundle install` to install missing gems.



freegearMBP:htdocs freegear$ gem install hoe -v 1.5.1

Fetching: json_pure-1.7.7.gem (100%)

Fetching: rubyforge-2.0.4.gem (100%)

.....


<< 이런 부분에 대한 설명은 SKIP 계속 같은 패턴이다. >>



진행을 하다가 보면 앞서 gherkin에서 버전 번호를 강제로 바꾼 것이 문제가 발생하여 더이상 진행이 안된다.


이떄 다시 


bundle install


을 하여서 설치하고 


계속 같은 방식으로 진행하면 된다.


설치가 완료되면 


bundle exec rake tmp:cache:clear
bundle exec rake tmp:sessions:clear


으로 클리어를 시키고


cd path/to/redmine
bundle exec rake redmine:backlogs:install


으로 설치한다.


이때에도 몇가지 Gem File을 찾는데 설치하면 된다.


bundle exec rake redmine:backlogs:install parameter=value parameter=value ...


그런 뒤에 Redmine을 재실행한다.


이후 관리 -> 플러그인 을 클릭해서 들어가면 아래와 같은 창이 나타난다.


설정을 눌러서 내용을 설정한다.


설정 내용이나, 사용에 대해서는 다음에 다시 정리..






Posted by GUNDAM_IM
Life is ..2013. 1. 16. 00:27

애플 빠는 아니지만 iCloud 서비스를 만족스럽게 쓰고 있는데 

iCloud의 서비스가 앱스토어에서 다운로드된 어플들만 지원할 수 있도록 정책이 바뀌면서 다른 어플들이 사용이 쉽지 않게 되어버렸다.


몇개의 PC에서 작업하는 경우가 많다보니 데이터를 일일이 씽크를 맞추는 것 역시 쉽지 않은 문제가 되어버려서 결국 클라우드 서비스를 사용하는 것이 좋겠다고 결론을 내렸다.

- 그런데 클라우드 서비스의 정확한 정의가 뭔가에 대해서 부터 사람들 사이에 말이 많지만, 여기서 굳이 이런것이다 하고 정의내릴 필요까지는 없을 것 같다. 그냥 내 작업 공간의 데이터를 몇대의 PC가 자동으로 Sync를 맞추어가면서 사용할 수 있도록 해주는 서비스라고 생각하기로 하였다.



대표적인 것이 DropBox와 Google의 Google Drive 그리고 DAUM과 Naver의 서비스 등이 있다.

개인적인 주관적인 관점에서 네이버는 사용하지 않고 있으므로 제외하고 본다면 3개 정도의 서비스가 남았다.


DropBox





우선, DropBox는 내가 원하는 모습에 가장 가깝다. 편리한 사용법과 빠른 Sync등 그리고 주요 몇몇 어플들이 자동으로 지원해주는 기능도 있기 때문에 편리하다. 유일한 그리고 가장 큰 단점은 용량이 너무 작다는 점이다. 기본적으로 주어진 공간은 2G인데 이것은 이래저래 사용하다 보면 금새 채워지는 공간이어서 부족하다.


용량을 늘리기 위해서는 친구를 초대해서 사용하게 만들면 친구 한명당 500MB 정도를 주고 이를 계속해서 활용하면 대략 18G까지 사용할 수 있다고 하는데 그렇게까지 하기에는 노력이 많이 필요하다.


Sync 속도도 적당하게 빠르기 때문에 편리하지만, 용량을 늘리기 위해서는 상용 서비스로 이용해야 한다. 50G를 사용하는데 한달에 9.99 불이다.   상용 서비스로 돈을 내고 사용하기에는 Google 보다 비싼면도 있다.



Google Drive





용량문제가 대두되어서 찾은 서비스가 Google Drive이다.

용법은 DropBox와 같은 방식이지만, 차이점은 주어진 용량이 5G까지 사용할 수 있도록 해준점이다.

유료로 사용하면 저렴한 가격에 많이 사용할 수 있다.


문제점은 두가지 였다.

1) 사용 정책상에서 내가 올린 데이터를 구글 측이 광고를 위해서 임의로 사용할 수 있도록 약관이 되어 있다는 점이다.

    즉, 내 의지와 상관 없이 구글이 내 데이터나 활용 상황을 광고에 이용해도 책임이 없다는 점이다.

    물론 내 데이터를 구글이 사용할 확률은 거의 없지만 찜찜한 부분이 있는 것은 사실이다.


2) 놀랍도록 느린 Sync

    구글이 만들었다고 생각하지 못할 정도로 느린 Sync 속도는 사용상 짜증을 불러 일으킨다.

    퇴근시간에 PC를 끄고 퇴근해야 하는데 Sync를 맞추는 과정에서 상당히 느린 속도를 보이기 때문에 본의 아니게 일찍 PC를 끄거나 혹은 늦게 퇴근해야 하는 경우가 생긴다. 그리고 의외로 Sync과정에서 Temporal File들에 대해서 잘 처리하지 못하는 경우가 있는것 같다. 이 부분은 느린 속도로 다음 서비스로 전환했기 때문에 완전하게 테스트를 하지 못했다.


가격은 100G에 4.99불 정도이다. 용량대비 가격으로 본다면 DropBox 대비해서 1/4 수준이다.


DAUM Drive

 

  



  다음에서 제공하는 드라이브이다.

  50G의 공간을 무려 무료로 제공하고 Sync 속도는 그렇게 빠르지는 않지만 구글보다는 조금 빠른 느낌이다.

  단점이라 하면 제일 큰 문제로

  현재까지 얼마나 Sync가 되어 있고 앞으로 얼마나 Sync가 남아 있는지 알 수 없다는 점이다.

  Google의 경우 몇개 파일이 Sync가 남아 있다고 이야기해주는데

  다음은 계속 골뱅이가 돌아갈 뿐 진행 정도를 표시해주지 않아서 답답할 때가 많다.


  3개 서비스를 비교해보면

  무료 용량은  Daum이 제일 많이 주는 편이고

  Sync 속도는 DropBox가 제일 빠르다. Application 지원도 많은 편이라 사용이 편하다.


  


  


Posted by GUNDAM_IM
Books2013. 1. 1. 08:53

1. 항우 강의






중국 역사상 가장 빨리 그리고 가장 높이 신분이 올라갔고 그 만큼보다 더 빨리 사라진 비극적인 영웅 항우.

진나라 이후 초한 전쟁에서 한 축을 담당했던 인물이고, 

유명한 패왕별희의 주인공이기도 하다. 패왕별희에서 패왕이 바로 항우이다.


저자 왕뤼췬 교수는 중국 역사학의 대가이며, CCTV 강의에서 많은 독자층을 가지고 있다. CCTV강의를 바탕으로 한 만큼 강의형식으로 책이 구성되어 있다. 책의 내용은, 항우가 어떻게 해서 그 젊은 나이에 패왕이 되었고, 그리고 어떻게 해서 그리 빨리 실패하게 되었는가를 많은 청중들 앞에서 강의 하는 형식으로 기술하였다. 강의 형식이므로 책 자체가 저자가 독자에게 말하듯이 문장을 서술하고 있다. 그런면에서 읽기가 쉽다. 그냥 설명을 듣듯이 읽어가면 된다. 


저자는 항우가 천하 통일할 기회가 여러번 있었지만, 판단의 실수나 오기로 여러번 수포로 돌리고

결국 사면 초가에 빠져서 죽어간것을 못내 아쉬워한다. 그런번의 기회를 자세하게 설명하면서 그 중간 중간 아쉬워하고 있다. 중요한 이벤트는 여러가지가 있는데 그 중에서 아래의 것이 가장 눈에 들어온다.


항우의 천하제패

함곡관의 연회

패왕과 별희의 이별


- 사면초가의 뜻이  모든 곳에서 초나라 (유방군대를 의미) 의 노래가 들려온다라는 뜻이고, 이것은 결국 천하가 초나라 유방에 의해서 장악되었으니 항복해라는 의미였다고 한다.  실제 이 시점에서는 아직 완전히 정복하지 못했지만, 사람들은 이미 끝난줄 알고 투항하기 시작하였고, 결국 전쟁은 초나라의 승리로 마무리되었다고 한다.  


중고등학교때 배웠던 내용이지만, 그때는 한두줄로 요약된 내용이었고, 책에서는 역사적인 사실을 작가의 설명하는 듯한 화법으로 다시 잘 설명해주고 있기 때문에 읽으면 참 새롭니다.


역사에 아쉬운 그림자만 남기고 사라져간 많은 사람들이 있는데,

그중에서도 항우는 중국 사람들 사이에서 많은 아쉬움과 애정을 담아가고 있는 인물이다.



2. 한무제 강의




항우강의에 재미 붙여서 산 책

별보다 많은 중국의 왕들중에서 가장 위대한 왕 중 한명으로 칭송받는 한무제에 대한 책이다.

- 개인적으로는 청나라의 기틀을 완전히 잡은 강희대제가 더 큰 인물이지 않을까 싶다.


한대제는 유방의 후손으로 한나라의 기틀을 제대로 세운 인물이다. 책 제목 그대로 세계를 제패한 왕이다.


역시 같은 저자인 왕리췬 교수의 책이며 실제로는 항우 강의보다 먼저 출간되었다. 


한무제는 대왕후의 강제적 수렴청정에서 자신의 뜻을 한번 꺽이고, 

대황후가 죽기를 기다려서 다시 자신의 뜻을 펼친다.

이떄 등장한 것이 나라를 다스리는 새로운 이념이 유교 사상이고 이를 바탕으로 세상을 유교화 시켜 나간다.


이후 여러명의 한문제 주변의 인물들을 등장시키고 차례로 그들의 성향과 한무제와의 관계등을 설명해 가면서 보여준다.


책의 기본적인 구성은 항우 강의와 같으나 큰 차이점은

항우 강의는 항우라는 인물에 대해서 계속 기술하고 안타까움을 나타내었다. 하지만 한무제 강의는 한무제에 대한 내용보다는 한문제 주변에서 벌어지거나 나타난 인물들의 내용을 위주로 기술하였다. 한무제란 인물에 집중하지 않고 주변 인물을 차례로 나열하면서 기술하였다. 어떻게 보면 단순히 야사같은 이야기들로 책의 대부분을 기술하였기 때문에 한무제란 인물 자체에 대해서 깊이 있는 통찰을 하지 못하고 있다. 


한무제는 중국 역사속에서 가장 먼저 중국의 통치 시스템을 만든 황제로 평가 받고 있다.


밖으로는 진나라보다 몇배 큰 나라를 만들었고 안으로는 유교를 숭상하는 "독존유술"의 정책을 펴서, 얽히고 섥혀서 내려오던 복잡한 사상과 철학을 유교로 통일하였고 이를  활용하여 한나라라는 큰 나라의 내정을 다스렸다. 특히 인재를 얻기 위해서 과거제의 일종인 찰거제와 징벽제를 통해서 인재 부족 문제를 근본적으로 해결해 놓았었다. 


반대로 어두운 면으로는  말년에 의심병에 빠져서 태자를 죽음으로 몰아넣는등 많은 실정도 하였고 수많은 인명을 살상하기도 하였다. 


여러가지 실정도 있고 실수도 있었지만, 그럼에도 불구하고 대제라고 불려도 당연할 정도로 많은 업적을 남겼다. 특히 중국의 통치 체계를 확립한 황제이다. 중국의 체제를 확립한것은 반대로 말하면 그만큼 주변에는 인재도 많았고 기인도 많았다는 의미이다.  이 책에서는 그런 인재와 기인들에 대해서도 설명을 잘 해주고 있다. 


3. 오디오 매니아 바이블

- 황준 저

- 돋을 새김




오래간만에 찾아온 오디오 기기에 대한 지름신...

어떤 것을 살까 하고 돌아보던 중에 찾은 책이다.

오디오 매니아인 저자가 자신의 경험을 정리해 주었다. 

말로만 듣고 뭔지도 모르던 음장감이나 여러가지 소리를 듣는데 필요한 용어 - 즉 남들에게 아는체 하는데 필요한 용어 - 를 잘 정리해 주었다.



4. 어느날 내가 오디오에 미쳤습니다.

- 황준 저

- 돋을 새김





오디오 마니아 바이블의 후속작이다.

저자의 오디오 라이프가 많이 많이 부러워 진다. 


5. 만들면서 배우는 인터프리터



C++로 간단한 인터프리터를 만드는 과정을 정리해주었다.

Basic Style의 인터프리터를 만들어간다.

오며가며 심심할때 읽어보면서 가면 된다.


6. 위대한 게임의 탄생





한떄 게임업계에 몸 담을 뻔 (?) 했던 사람으로

그리고 친구들이 아직도 게임업계에서 못 벗어나고 있는 사람으로서 궁굼한 점은 도대체 게임을 잘 만드는 사람은 어떤 사람들일까 하고 어떤 구조를 가지고 만들어 갈까이다.


어느정도 답을 구할 수 있을까 하고 보았던 책


유명한 게임을 만든 스튜디오나 핵심 인물을 인터뷰 하는 형식으로 진행했다.



7. Visual Meeting



공항에서 귀국 비행기에서 볼만한 책을 찾다가 발견한 책

그림 반 글반이어서 읽기 쉽다.

쉽게 쉽게 읽어가면서 보면 된다.

미팅할떄 글로 하지 말고 그림으로 잘 개념적으로 정리해주면 전체 생산성이 올라간다는 이야기이다.

그림의 요소를 몇가지로 단순화 시키고 잘 활용하는것과 그림의 요소 개개를 활용하는 단순화된 내용을 잘 설명해 주었다.



8. Sketch note handbook




Visual meeting을 보고 나서 관련 서적으로 한권 더 보고 싶어서 찾은 책

DVD까지 있어서 같이 구입해서 보았다.


MindMap과 같이 노트 필기할때 Visual하게 노팅을 해서 잘 기억하고 관리하도록 하자는것이 목표이다.

책 자체가 그림책에 가까워서 보는데 큰 어려움은 없다.

그림 그리는 실력이 떨어지는 것이 문제인데 당연히 이 책에서는 그런것에 신경쓰지 말라고 한다. 


DVD를 보고 있으니 첫째가 옆에서 같이 보면서 이것 저것 관심을 가져 주어서 좋았었다. 나중에 마인드 맵관련하여 동영상이 있으면 첫째에게 보여주고 싶었다.


참 그리고 DVD는 큰 의미가 없으니 호기심만 아니라면 책만 보는 것이 좋다.

관련한 블로그도 넷상에 있으니 참고. 



------------


세어보니 올해 (작년에) 딱 40권을 읽었다. 만화책과 라이트노블을 뺀 수량이다.


올해 목표는 50권을 읽어보는것이다.




'Books' 카테고리의 다른 글

2013년 2분기 읽은 책  (0) 2013.07.01
2013년 1 분기에 본 책  (0) 2013.03.28
3분기에 읽은 책  (0) 2012.10.04
6월 말까지 읽은 책들 모음  (2) 2012.07.11
이번 분기에 읽은 책 (4월까지..)  (0) 2012.04.20
Posted by GUNDAM_IM
Life is ..2012. 12. 8. 20:15

눈내리는날 근처 빌딩에서 바라본 봉은사 전경



'Life is ..' 카테고리의 다른 글

프랑스 고등학교 졸업시험 문제  (0) 2013.05.03
Cloud Service  (0) 2013.01.16
머나먼 백업을 위해서... NAS 구입기  (2) 2012.11.09
중국 상해의 KTX급 역인 홍차우 역 전경입니다.  (0) 2012.04.14
올해의 성과  (1) 2011.12.23
Posted by GUNDAM_IM
Hobby2012. 11. 16. 10:02

아침에 운동하면서 열심히 애니메이션을 ( 사실 건담류 ) 보아왔습니다만,

최근에 건담 AGE를 완결하고 다시 인터넷 강의나 팟캐스트로 돌아가서 런닝머신에서 보고 있습니다.

아침에 대략 1시간 정도 달리니 그사이에 멍하니 TV를 보는것 보다는 훨씬 좋습니다.


장비에 대해서 


사용중인 장비는 우선 보는 것은 당연히 New iPad이고,  듣는것은 Noise Cancel 기능이 들어간 헤드폰인 QC15를 사용해서 보고 있습니다.


요것이 괜찮은게 헬스장은 보통 음악을 크게 틀어 놓아서 영상을 보는데 일반 헤드폰으로는 외부 소리가 더 큽니다. 그런 잡음을 노이즈 기능으로 어느정도는 죽일 수 있어서 사용하면 좋습니다.  원래는 출장다닐때 영화나 음악을 들을려고 산것입니다. 시끄러운 비행기 엔진 소음을 죽여 버릴 수 있는 장비이지요. 이런 저런것을 테스트하다가  장만 한 것이 보세의  QC15 헤드폰입니다.  한두번 비행기에서 쓰다가 어느날 헬스할때 쓰기 시작했는데 그 이후로 쭈욱 런닝머신에서 쓰고 있습니다.  성능도 좋아서 소리가 더 잘들립니다.  한편으로는 아주 좋은 선택이긴 했는데 땀으로 쩔어버렸습니다. 덕분에 이제는 땀냄새 때문에 비행기에서는 듣지 못하는 상황이 되어 버렸습니다.

 

헬스장에서 주변 잡음이나 소리가 거슬려서 음악을 못들으시는 분들은 이 헤드폰을 추천합니다. 



최진기 선생의 뉴스 위크


인터넷 강의나 팟캐스트로 열심히 들은 것은 일전에 한번 소개한 적이 있는 서정욱의 미술 토크와 

최근에 마무리된 최진기 샘의 NewsWeek를 들었습니다.


그리고 들은 것이 최진기의 알기쉬운 경제학 강의였습니다.



최진기 강사는 우리나라 환율 정책에 대해서 실랄하게 비판하는 동영상이 우연히 인터넷에 흘러나왔고 그것으로 유명해지시면서 일반 인문학/경제학 강사로 전향(?)하신 분입니다.

외모에서 느껴지는 바 그대로 말씀을 잘 하시고, 강의하는 것을 좋아하는 분이기 때문에 쉽게 좋게 들을 수 있습니다. 

가끔 국가 정책을 비판하는 장면에서는 열혈 청년의 기운이 느껴집니다. 무엇보다 조선 일보에서 "좌파" 강사라는 타이틀을 가끔 붙일려고 할 정도로 시류에 맞는 시책을 잘 비평합니다. 대표적인것이 한전 요금 인상 건이었는데  국민 가구당 개인당 전기 요금이 얼마나 고가인지를 우리나라에서 최초로 공개한 분입니다. 사실 그 자료는 다 공개되어 있는데 사람들이 알기 쉽게 표현한 자료를 만든 분이죠.  얼마나 다른 언론이 그동안 허접하게 한전 요금 인상론을 받아들이고 있었는지 한번에 알 수 있었습니다.  이후에 각 신문이나 인터넷에서 해당 자료를 인용해서 많이 공개되어서 이번에 전기 요금 인상안이 크게 좌절되는 결과를 얻었습니다.


  어찌되었건 여러가지 복잡한 경제학을 쉬운 용어로 잘 설명하고 계시니 경제학이나 사회 인문학 등에 관심 있으신 분은 팟캐스트 "최진기의 뉴스위크"를 꼭 보시기 바랍니다. 여러가지 유명 사건이나 현상을 나름의 관점으로 설명을 하고 있습니다.


 씨즌 1이 끝나고 나중에 씨즌 2를 하시겠다고 하였는데 언제 할런지는 모르겠습니다.

 아이폰 4에서 아이폰 5로 바뀌는 정도로는 돌아오지 않겠다고 호언하고 가셨으니 기대가 큽니다.


강신주 선생님의 철학 강의 


그외에 하나 더 추천할 만한 것은 경제학 외에 철학에 대한 것을 추천해 드릴 수 있습니다.

제가 듣는 것은 강신주 선생님의 철학강의를 듣습니다.


 

개인적으로 철학은 제 영역이 아니지만 요새는 이런 저런 철학강좌를 들으면서 예전에 몰랐던것을 많이 알게 됩니다.

더구나 런닝머신에서 런닝 하면서 멍하니 앞의 TV를 보는것 보다는 훨씬 좋습니다.


제목이 요새 민감한 사항인 "강신주의 정치 철학" 이어서 그렇지만 실재 내용은 근대 철학을 정리하고 설명해주는 내용입니다.


"국가는 정당한 것인가?"

"사유재산은 정당한 것인가 ?"

"역사를 움직이는 힘은 무엇인가 ?"

"정치를 어떻게 이해할 것인가 ?"


등의 주제로 1부 강의가  진행되었고 ( 정식 강의로 구매해서 보고 있습니다. )

이제 2부 강의를 수강 할 차례입니다.

나중에 알고 보니 제가 보고 책장에 꽂아둔 책중에 한두권이 이분이 지은 책이었습니다.


사실 살면서 벤자민과 아감벤의 국가와 정치에 대한 테제를 생각할 수 있는 기회가 몇번이나 있겠습니까 ?

그것 역시 머리속을 비울 (?) 수 있는 좋은 방법입니다.


복잡한 머리를 다른 복잡한 것으로 채울 수 있다는 것은 이전에 복잡한 것을 버리고 새로운 복잡함을 넣을 수 있다는 의미이지만, 출근 후에는 다시 원래의 복잡한 인생으로 돌아갈 수 있는 방법이 되기고 합니다.

한동안 열심히 보던 MTV 걸그룹 댄스 동영상 보다는 훨씬 낳다는 결론에 도달했습니다.


책을 읽기에는 시간 없으신 분들도 하루에 한시간씩 들으면 많이 생각하게 되고 운동도 되고 해서 추천할 만합니다.






'Hobby' 카테고리의 다른 글

라디오 카툰-셜록 홈즈  (0) 2013.07.22
美丽的神话  (0) 2013.04.13
실사판 간츠  (0) 2012.08.30
레이카 신형 피규어  (0) 2012.08.04
3D Graphic 으로 그린 AUGE  (0) 2012.08.02
Posted by GUNDAM_IM
Life is ..2012. 11. 9. 11:39

그동안 백업해오던 시스템이 용량의 한계로 인해서 백업이 안되기 시작했다.

- 맥이 주요 시스템이니 백업을 위해서 당연히 타임머신을 사용하고 있었다.

  가끔 하드 용량을 큰것을 증설하면서 사용하다 보니 이제 단일 하드 용량으로 타임머신을 구동하기에는 용량이 부족해졌다.


- 이러다가 하드 날라가면 큰일난다는 생각에 개인용 NAS로 해보기로 결정했다.




(1) IPTime NAS-II





그래서 이리저리 고민하면서 뭘 사용해볼까 (지름신이 올까..) 하면서 알아보다가 찾은 것이 IPTime의 NAS-II였다.


IPTime은 개인적으로는 브랜드 신뢰도가 있었고

인터넷의 평가도 나쁘지 않아서 이넘으로 결정을 했다.


속공으로 주문하니 다음날 도착했다. 음 역시 우리나라는 기마민족의 후예야 라는 생각과 함께 개봉해서 설치를 했다.


그런데 이넘이 의외로 설치가 안되기 시작헀다.

이리저리 설치해보고 방법을 알아보고 해보아도 도무지 네트웍에 붙지를 않는다.


직원들의 "비웃음"을 들으며 설치하기를 2시간여.. 결국 포기

이제 매뉴얼을 보면서 하나하나 해보기로 했다.

그래도 안되고, 제조업체 홈페이지에서 자료를 뒤져가면서 해보아도 안되었다.


문득 홈피에 나와있는 기술 지원시간표를 보니 밤 9시까지는 OK 란다.

시간을 보니 8시 40분정도.."음 되었다." 잽싸게 전화를 돌리니 웬걸 전화를 안받는다


몇차례 전화를 돌려보고 결국 퇴근했다는 것을 직감하고 포기...


어찌어찌 세팅을 해놓아도 나중에 장소를 옮기거나 집으로 옮겨서 세팅할 경우 또다시 닭질 할 수 있겠구나 하는 생각에 포기하기로 하였다. 다행히 AUCTION에서 구입했기 때문에 Auction을 통해서 반납 신청하니 다음날 택배기사가 받으러왔다.


그런데 이번에는 판매 업체에서 반품 보류로 환불을 보류하는 사태가 벌어졌다.

"이건 뭥미..."


열심히 판매 업체와 이야기해본 결과 반품보류 사태는 박스와 포장이 재사용 불가로 일정 금액을 지불해야 한다는 조건이란다.

사용도 못해본 제품과 정해진 시간내에 기술 지원도 못받았고, 결정적으로 반품시의 포장여부는 택배업체의 문제라고 항변해보았지만 인질 (내 피같은 구입 금액)을 잡혀 둔 상태로는 막무가내였다. 


Auction측에 문의를 하니 판매 업체가 다시 보류 금액을 2배로 올리고 Auction측에서 판매자와 구매자가 반반 부담으로 하라고 한다. "이넘들 너무 죽이 잘맞는거 아냐?", 짜고 치는 고스톱으로 밖에 안보였다.  전화통화 여러번 해보았지만 서로간에 대화가 안되고 더구나 인질을 잡아두고 판매업체가 질질끌고 있어서 왕짜증이 나는 상황이 되어 버렸다.


결국 시간도 아깝고 백업을 빨리 해야 한다는 강박관념도 생기고 해서 몸값 (보류 금액)을 주고 인질 (구입금액)을 풀려나게 했다.


- 교훈 1. 두번다시 ipTime의 제품은 안쓴다. 

- 교훈 2. 비록 판매 업체가 통신판매라도, 용산을 거주지로하면 왕년의 용팔이들이랑 비슷한 속성을 가지고 있기 떄문에 

            통신 판매 업체의 소재지를 신경쓰자.

- 교훈 3. Auction 홈피에 나와 있는 분쟁 중재 안이라는 것은 결국 반반 부담이었다.


2) Buffalo NAS




이제 구입하지 않고, 약간 컴맹인 동생에게 설치해준 Buffalo NAS를 가지고 오기로 전략을 세웠다.


마침 동생 컴에 설치해둔 Buffalo NAS가 하드가 망가져 있어서 사용안하고 방치하고 있었다.

고쳐준다는 미명하에 가지고 와서 테스트 해보니 예상대로 하드 하나가 고장나서 안되고 있었다.

뭐 이기회에 2T*2로 해서 4T로 업글해야지 하는 생각에 하드를 2T하드를 두개 구입해서 설치하기로 했다.


역시 기마민족의 후예 답게 하룻만에 배달 완료


설치에 들어간 순간 뭔가 이상하여진다.

Buffalo NAS가 부팅에서 1~20분 이상 걸린다.  예전에 사용해본것이라 (동생에게 설치해주었기 때문에 잘 안다) 금방 될 줄 알았는데 안된다. 이러저리 해보다가 안되어서 서비스센터에 물어보았다.


- 1) 하드가 호환 가능한지 확인해주세요  

- 2) 파티션을 다 지우고 해보세요

- 3) 2) 번 사항이 안되시면 반납해주세요 그럼 우리가 해볼께요


라는 답을 듣고 순서대로 다 해보았다.

파티션을 지우고  해보아도 결과는 똑같았다. 

대답없이 부팅만 20분하는 Buffalo.. TT_TT


반납해서 수리해볼까 하고 A/S에 전화해서 반납 여부를 확인하고, Serial NO를 확인하던 접수 담당자 왈...


"Serial No로 확인된 고객님의 NAS는 용량이 F/W에서 고정되어 있습니다. 변경할 수 없습니다."


이건 뭔소린지해서 차근차근 물어보니


Buffalo NAS는 판매시 용량이 고정되어 있어서 변경이 안된다는 황당한 이야길 들었다.

그럼 F/W를 업글하면 되지 않는가라고 물어보니 


"기존의 HDD만 인식합니다. F/W를 업글 하실려면 기존의 하드를 설치하시고 해야 합니다."


기존의 하드라면 망가진 하드.. .그걸로는 부팅도 안되어서 아무것도 못합니다. 라고 하니

 

"기존의 하드가 정상적일떄 F/W를 업글 하시면 되었을텐데 안타깝네요. 어찌할 방법이 없네요. 일본으로 보내도 안됩니다"


이건 또 무슨소린지.. 인터넷을 관련 검색어로 뒤져보니 나와 비슷한 문제로 질문이 몇건 올라와 있다.

아 백업 한번 해볼려다가 NAS의 끝까지 가보는 구나 라는 생각이 들면서 Buffalo NAS 포기


교훈 4) Buffalo NAS는 미리미리 F/W를 업글해야 하는구나

교훈 5) Buffalo NAS를 살 경우 용량이 고정되어 있을지 모르니 HDD가 없는 공 기계를 사서 하드를 연결해야 한다


3) QNAP




드디어 어쩔 수 없이 악마같은 동료들에게 묻기 시작했다.

비웃음을 가득 머금은 여러명의 뽐뿌쟁이들에게 물어보았다.

- 놈들의 미소는 "그동안 님의 고통을 보면서 뽐뿌의 순간이 오기를 기다리고 있었습니다" 라고 말하는 것 같았다.


IP Time과 Buffalo의 좋은점과 안좋은 점은 이렇쿵 저렇쿵 하는 이야기 해주면서 여러가지 제품들을 뽐뿌질 해주었다.


추천받는 제품들


- HP Mini Server : 추천 멘트 : 이정도는 되어야 "님"의 가오가... 

                       이건 아무리 봐도 사심 가득한 추천 제품 같음.  제외하기로 했음.


- Synology         : 추천 멘트 : 가격대가 있지만 "님"이라면 사고도 남아요 

- QNAP           : 추천 멘트 : 가격보다 디자인을 중시하는 "님"이라면 추천해요


Synology와 QNAP중에서 하나로 해야 하는구나 하고 보다가 QNAP으로 결정...

 

가격대로는 QNAP이 그나마 착하고 하드야 미리 Buffalo때문에 사놓은것이 있었다.

다행히 Buffalo 덕분에 공기계를 사야한다는 교훈도 었었으니 QNAP으로 공기계를 구입했다. (교훈 5)

용산 거주지인지도 꼭 확인했다.(교훈 2)  

아울러 쇼핑몰에서도 웬지 짜고치는 느낌이 들었던 Auction도 제외했다. (교훈 3)


배달된 제품의 설치는 쉬웠다 한방에 되었다.

- IPTime - NAS- II 나쁜넘들...


IPTime -  NAS-II 보다 좋은점

- 설치가 아주 금방되었다. IPTime NAS-II는 설치 자체가 안되었다. 뭐가 문제인지도 아직도 모르겠다. 


Buffalo 보다 좋은점

- 설치후 관리 S/W과 같은  Web 기반이지만, GUI나 인터페이스가 훨씬더 편리하게 되어 있고 속도감이 있었다.

  Buffalo는 User I/F가 Web이지만, 조금 느리고 I/F도 나빠서 약간 컴맹인 동생이 사용하는데 어려웠었다.


기능은 아주 다양하고 많지만 내가 사용하고 싶은 부분은

- 파일 서버

- TimeMachine

- iTunes Server


이정도면 충분하다


교훈 6) 뽐뿌쟁이들의 말을 잘 필터링 할 수 있으면 그닥 고생하지 않고 디지털 유목민으로 살아갈 수 있다.


지금 QNAP NAS는 옆에서 나를 위해서 타임머신을 돌리는 중이다.


(주) 이 글은 개인적인 경험이니, 다른 사람들의 의견과 틀릴 수 있습니다.






'Life is ..' 카테고리의 다른 글

Cloud Service  (0) 2013.01.16
눈내리는 날의 봉은사 정경  (0) 2012.12.08
중국 상해의 KTX급 역인 홍차우 역 전경입니다.  (0) 2012.04.14
올해의 성과  (1) 2011.12.23
경주 방문기 - 처음가는 경주  (0) 2011.12.07
Posted by GUNDAM_IM