Embedded2015.12.20 09:34

금번에는 A/D 보드와 Android, Linux 일체형 보드를 개발하였습니다.





산업용 및 야외에도 쓰일 것을 고려하여서 Freescale로 사용하였습니다.  


사양은 아래와 같습니다.


  • O/S : Android 4.2.2
  • SoC : Freescale iMX6 DL
    • CPU : Dual Core ARM Cortex-A9 up to 1GHz
    • Graphics : Vivante GC880 3D GPU + Vivante GC320 2D GPU
    • Video Decoding : H.264 BP/MP/HP, VC-1 SP/MP/AP, MPEG-4 SP/ASP, H.263 P0/P3, MPEG-1/2 MP/HP, DivX (Xvid) HP/PP/HTP/HDP, RV8/9/10, MJPEG BP (up to 1920x1088@30fps)
    • Video Encoding : H.264 BP/CBP, MPEG-4 SP, H.263 P0/P3, MJPEG BP (up to 1920x1088@30fps)
  • Memory/Storage
    • 1GB DDR3 DRAM
    • 4GB eMMC internal Storage
    • SD Card Interface for external storage
  • Display Interface
    • LVDS(dual channel) Output : 1920x1080@60fps
      • BLU interface
      • BLU Driver(Option)
    • HDMI Output : 1920x1080@60fps
    • HDMI Input : 1920x1080@30fs/1280x720@60fps
  • Audio
    • Stereo Output(3.5pi Jack)
    • 0.6W Mono Speaker Output(Option)
  • Network
    • Ethernet : 100Base-Tx
    • Wifi : 802.11 b/g/n(2.4GHz)
  • Connection
    • USB 2.0 Host : 2 port
    • USB 2.0 Host(Internal) : 1 port(Opton)
    • USB OTG : 1 port(Option)
    • Extension Pin Header for keypad PCB & bluetooth module
  • Power : DC 24V Input



2015.12 CRAB.pdf





Posted by GUNDAM_IM
Embedded2014.01.02 12:12

Embedded Network Switch Board


새로 개발된 보드는 특수 분야 산업용으로 개발한 L2 Network Switch Board입니다.

워낙 고결한(?) 분야라 부품 선정에서 부터 많이 신경을 쓴 보드입니다.




HERA-Embedded L2 Switch Board



HERA which our network switch board provide a rich set of Carrier Ethernet switching 

features such as  queue-based Ethernet services, provider bridging, protection switching, and

synchronous Ethernet. Advanced TCAM-based VLAN and QoS processing enables

delivery of differentiated services with per-service SLA guarantees. Security is assured

through frame processing using a TCAM-based integrated processor.



Overview


• HERA supports three major port configurations:


12 x1G copper PHY + 3 x QSGMII + 1 x 1G SGMII + 1 x 2.5G SGMII

12 x 1G copper PHY + 10 x 1G SGMII + 2 x 2.5G SGMII

10 x 1G copper PHY + 2 x QSGMII + 8 x 1G SGMII


General Features


• All 1G Ethernet ports are tri-speed 10/100/1000 Mbps ports

• All 2.5G Ethernet ports are quad-speed 10/100/1000/2500 Mbps ports

• Integrated copper transceivers are compliant with IEEE 802.3ab 

• SGMII ports support both 100-BASE-FX and 1000-BASE-X-SERDES

• Four megabits of integrated shared packet memory

• Fully nonblocking wire-speed switching performance for all frame sizes

• Eight priorities and eight queues per port

• Dual leaky bucket policing per queue and per port

• DWRR scheduler/shaper per queue and per port with a mix of strict and weighted queues

• 256 TCAM-based egress tagging entries

• Up to 256 TCAM-based classification entries for Quality of Service (QoS) and VLAN membership

• Up to 512 host identity entries for source IP guarding

• 256 TCAM-based security enforcement entries

• L1 Synchronous Ethernet

• L2 IEEE 1588-2008 Precision Time Protocol (IEEE 1588) with hardware-based timestamping for one-step or two-step clocks

• Energy Efficient Ethernet (IEEE 802.3az) is supported by both the switch core and the internal copper PHYs

• Audio/Video bridging (AVB) with support for time-synchronized, low-latency audio and video streaming services



Posted by GUNDAM_IM
Embedded2013.09.01 21:40

오래간만에 올리는 보드 소식입니다.


FPGA 기반 보드를 열심히 만들다가 이번에는 AP 기반 보드로 하나를 새로 만들었습니다.


freescale사의 i.MX6 프로세서를 기반으로한 플랫폼 보드입니다.

용도는 다양한 곳에 사용하기 위해서 Core Board와 Base 보드로 분리를 했습니다.


보드 색깔은 평범한 파란색으로 했습니다 

난 골드가 좋은데 제가 안만들어서 쩝.. 

내가 만들어야 골드로 할텐데 어쩔 수 없지요.. 







Features

    ZEUS.iMX6 is Freescale's i.MX6 based CPU module for Embedded system control and multimedia focused applications. 
    The module has on-board expandable upto 4GB DDR3 RAM and optional eMMC flash. 
    With the extreme peripheral integration, the module supports industry latest high performance interfaces such as, PCIe Gen2, Gigabit Ethernet, SATA 3.0, HDMI 1.4 and SDXC etc.
    Support O/S is Android and Linux  


    Highlights

        - ARM Cortex-A9 @ upto 1.2GHz   Quad/Dual/Solo core solution
        - Support 64 bit DDR3-1600
        - OpenGL ES 2.0, OpenVG 1.1 Graphic Acceleration 
        - Multi format HD video encode & decode
        - Readily available fully tested BSP

    Benefits

        Simplified System Design
         - Based on hi performance 32 bit embedded processor core :: cortex-A9
         - Proved reliability platform
         - Develop cost down using ready made solutions

        Very easy development 
         - All of input/output specifications are predefined and ready to use
         - Just select necessary functions
         - Quick time to market solution

        High performance & very small form factor
         - Quad, Dual, Solo core pin compatible
         - Very small form factor (80 mm x 70 mm)
         - Fan less and low power solution


        Support mass production
         - Rich development environment and materials support
         - Long term mass production ( more than 10 years )


    Support O/S
         - Linux
         - Android
         - WIndows CE


    ZEUS Core board

    - Very small foot print :: 80 x 70 mm
    - Pin 2 pin compatible with i.MX6 Quad, Dual, Duallite , Single solutions

    ZEUS Base board
    - Rich system interface

          Connector Interfaces
    • PCIe v2.0  
    • SATA 3.0  
    • Gigabit Ethernet
    • HDMI 1.4
    • Dual LVDS ports
    • USB 2.0 Host
    • USB 2.0 device
    • AC97/I2S Audio  
    • 8-Bit SD/MMC  
    • Debug UART
    • UART x 3 port
    • CSI  
    • I2C  
    • SPI  
    • RGB Interface  
    • CAN  
    • Memory Bus
    • MPI CSI & DSI
    • RGMII Interface
    • ENET Interface
    • GPIO Interface

         Expansion Connector Interfaces (Base board)
    • SD Card Socket
    • LVDS 0/1 Interface
    • Parallel Display I/O
    • SATA
    • Headphone jack
    • Microphone jack
    • Ethernet Port
    • UART
    • GPS
    • DSI
    • HDMI
    • USB Host Interface
    • USB OTG Interface
    • SIM Socket
    • mPCIe Interface



    Brochure 
    (주) 새로 Revision한 보드는 아래 링크에 있습니다.


    'Embedded' 카테고리의 다른 글

    Video wall :: ZEUS 보드를 이용한 Example  (0) 2013.10.21
    Android Quick Boot  (0) 2013.10.16
    i.MX6 Evaluation Board  (5) 2013.09.01
    Altera NIOS-II (5)  (0) 2013.06.29
    freescale iMX.6  (4) 2013.05.09
    오래간만의 Windows CE  (0) 2013.05.04
    Posted by GUNDAM_IM
    Embedded2013.05.04 03:17

    정말 오래간만에 들어온 Windows CE 프로젝트


    부랴부랴 VBox에 개발 환경을 설치하는데 하루 종일 걸려 버렸다.

    개발 환경 설치가 정말 쉽지 않아졌다.


    우여 곡절끝에 기억을 더듬에서 

    Emulator에 연결하는데 까지 같다.


    완전히 장님 코끼리 만지기 식이다.

    그래도 좋은건 그때 보다 블로그나 회사들이 올린 자료가 엄청 많아 져서

    혼자서 끙끙대지 않아도 대부분의 문제는 누가 이미 겪어 보았다는 점이다.


    아래 사진은 Emulator에 SubProject로 프로그램을 올린 사진

    - SubPrj 프로젝트는 실행해야 나오는데 여기서는 그림에 나오지 않는다.


    기왕이면 Windows CE 7.0이 좋은데 

    6.0으로 해야 하는 상황이 조금 아쉽지만,

    그래도 오래간만의 Win CE 프로젝트라서 좋다.



    'Embedded' 카테고리의 다른 글

    Altera NIOS-II (5)  (0) 2013.06.29
    freescale iMX.6  (4) 2013.05.09
    오래간만의 Windows CE  (0) 2013.05.04
    Altera NIOS-II (4)  (2) 2013.03.18
    Altera NIOS-II (3)  (1) 2013.03.17
    Altera NIOS-II (1)  (0) 2013.03.15
    Posted by GUNDAM_IM
    Embedded2010.07.02 21:51
    몬타비스타에서 1초만에 부팅되는 Linux Kernel을 발표했습니다.

    리눅스의 로망이란것이 부팅할때 쫘악 하면서 올라가는 부팅메시지인데
    이런것들이 없어지고 한방에 부팅되는것은 약간 허무하긴 합니다.

    하지만 많이 사용할 수 있는 어플리케이션이 될 것 같습니다.
    오토모티브라던가 포터블에서 부팅을 기다려줄 만큼 한가하지 않은 어플에서 경쟁력을 가질 수 있겠습니다.

    아래 영상은 그 데모입니다.


    아래는 관련한 리눅스의 발표 영상입니다.


    Posted by GUNDAM_IM
    Computer Vision2009.02.16 14:59

    Rob HessSIFT


    1. 살펴 보기


    SIFTScale ... 을 의미하는 것이고...자세한 내용은 다음에 기회되는 대로 정리해서 올리도록 하겠습니다.



    인터넷에 찾아보면 여러가지 버전의 구현된 코드를 찾아볼 수 있습니다.

    귀찮게도 C로 되어 있는것 보단 MATLAB이나 C#같은 것으로 되어 있어서 상당히 귀찬습니다.


    이번에 발견하여 분석한 코드는 Rob Hess의 코드이며, C로 되어 있습니다. 


    Rob Hess는 오래곤 주립대학의 컴퓨터 공학과 박사과정 학생으로 컴퓨터 비젼을 전공으로 하고 있습니다.

    홈 페이지는 이곳에 있습니다.


    http://web.engr.oregonstate.edu/~hess/index.html


    홈페이지에 보면 몇가지 알고리듬을 공부하고 올려놓았지만, 가장 관심이 가는것은  SIFT입니다.


    최신 버전은 2009년 1월에 1.1.1을 만들었습니다. 이전 버전과 바뀐 부분은


    라이브러리를 정적으로 만들 수 있도록 Makefile을 수정한 부분과,

    Visual C를 VC2005에서 컴파일 되도록 하였다는 부분

    그외에 API들을 수정하여서 버그들을 정리했다고합니다.


    소스 코드는 리눅스 버전과 윈도우즈 버전의 코드를 가지고 있고 각각 이 곳에서 받을 수 있습니다.


    리눅스 버전 : TAR.GZ

    윈도우즈 버전 : ZIP


    이 SIFT 버전은 OpenCV 에 기반하고 있으며  RANSAC 은 GNU Scientific Lib에 기반하고 있습니다.

    이제 아래 그램을 보면 SIFT가 무엇을 하는 지에 대해서 알 수 있습니다



        

    사용자 삽입 이미지사용자 삽입 이미지

    왼쪽의 카드를 오른쪽의 그림 더미에서 찾아내는 것입니다.

    아래 그림을 다시 보면


        

    사용자 삽입 이미지사용자 삽입 이미지


    이 되어서 원하는 이미지가 있는 위치를 정확하게 찾아 낼 수 있습니다.


    1. 코드의 컴파일


    컴파일을 할려면 Visual C++에서 먼저 컴파일을 하였습니다.

    우선 VC Project 를 로드하여 컴파일을 하면 다음과 같이 에러가 발생합니다.


    LINK : fatal error LNK1104: cannot open file 'cvd.lib'


    해당 라이브러리를 찾을 수 없다는 의미이고,

    이 라이브러리는 opencv debug lib을 의미합니다.



    2. OpenCV 설치



    2.1 다운로드 및 설치


    OpenCV를 다운로드 합니다.


    Source Forge에서 다운로드 합니다.

    아래 사이트에서 다운 받을 수 있습니다.


    http://sourceforge.net/projects/opencvlibrary


    여기서 윈도우즈 버전을 다운받아서 설치합니다. 실행 파일로 되어 있으므로 그렇게 어렵지는 않을듯 합니다.

    설치 중간에 환경 변수 세팅을 물어보므로, 그때 YES라고 해서 설치를 합니다.


    설치가 끝나면 View Documents를 보게 됩니다.


    C:\Program Files\OpenCV\docs\index.htm


    링크이므로 틈틈히 찾아보면 정보를 얻을 수 있습니다.


    2.2 디버깅 라이브러리 만들기



    설치된 코드는 실행 코드이다. 개발시에는 디버깅용 코드가 필요하므로 디버깅 버전의 라이브러리를 만드러야 한다.


    c:\Program Files\OpenCV\_make


    폴더에 가서 opencv.dsw를 클릭합니다.


    그러면 버전문제에 대한 문의 다이얼로그가 나타난다. 모두 YES라고 선택하면 된다.

    그러면 다음과 같은 창이 나타난다.


    사용자 삽입 이미지


    그럼 이제 BUILD->Batch Build를 선택하면 다음과 같은 창이 나타난다.


    사용자 삽입 이미지


    그럼 win32 ReleaseWin 32 Debug를 모두 선태한다.

    이후에 Build를 눌러서 라이브러리를 모두 컴파일 한다.



    경고도 나타나지만 무시하고 진행하면 컴파일이 완료된다.


    2.3 라이브러리 오류 수정


    실제로 깨끗하게 완료된것이 아니다.


    ompiling...

    cvbgfg_acmmm2003.cpp

    .\cvbgfg_acmmm2003.cpp(464) : error C2039: 'foreground_regions' : is not a member of 'CvFGDStatModel'

            c:\Program Files\OpenCV\cvaux\include\cvaux.h(1301) : see declaration of 'CvFGDStatModel'

    .\cvbgfg_acmmm2003.cpp(470) : error C2039: 'foreground_regions' : is not a member of 'CvFGDStatModel'

            c:\Program Files\OpenCV\cvaux\include\cvaux.h(1301) : see declaration of 'CvFGDStatModel'

    cvbgfg_gaussmix.cpp

    .\cvbgfg_gaussmix.cpp(348) : error C2039: 'foreground_regions' : is not a member of 'CvGaussBGModel'

            c:\Program Files\OpenCV\cvaux\include\cvaux.h(1365) : see declaration of 'CvGaussBGModel'

    Generating Code...


    과 같이 오류가 발생합니다. 이전 버전에도 있던 오류인데 아직도 살아있다는게 놀라울 따름입니다.

    하여튼 수정합니다.


    cvaux.h : 1159 행 부근을 보면


    #define CV_BG_STAT_MODEL_FIELDS()                                                   \

        int             type; /*type of BG model*/                                      \

        CvReleaseBGStatModel release;                                                   \

        CvUpdateBGStatModel update;                                                     \

        IplImage*       background;   /*8UC3 reference background image*/               \

        IplImage*       foreground;   /*8UC1 foreground image*/                         \

        IplImage**      layers;       /*8UC3 reference background image, can be null */ \

        int             layer_count;  /* can be zero */                                 \

        CvMemStorage*   storage;      /*storage for 밼oreground_regions?/              \

        CvSeq*          foreground_regions /*foreground object contours*

    /


    이 있습니다. 여기서


        CvMemStorage*   storage;      /*storage for 밼oreground_regions?/              \



        CvMemStorage*   storage;      /*storage for 밼oreground_regions*/              \


    으로 바꿉니다.


    이번에는 잘 진행합니다.


    2.4 라이브러리 오류 수정


    컴파일 끝에 2개가 컴파일이 안되었다고 나옵니다.

    나온것을 보면


       Creating library ..\..\lib/highgui.lib and object ..\..\lib/highgui.exp

    cvcap.obj : error LNK2019: unresolved external symbol "struct CvCapture * __cdecl cvCreateCameraCapture_DShow(int)" (?cvCreateCameraCapture_DShow@@YAPAUCvCapture@@H@Z) referenced in function _cvCreateCameraCapture

    ..\..\bin/highgui110.dll : fatal error LNK1120: 1 unresolved externals

    Build log was saved at "file://c:\Program Files\OpenCV\_temp\highgui_Release\BuildLog.htm"

    highgui - 2 error(s), 0 warning(s)

    ------ Build started: Project: highgui, Configuration: Debug Win32 ------

    Linking...

       Creating library ..\..\lib/highguid.lib and object ..\..\lib/highguid.exp

    cvcap.obj : error LNK2019: unresolved external symbol "struct CvCapture * __cdecl cvCreateCameraCapture_DShow(int)" (?cvCreateCameraCapture_DShow@@YAPAUCvCapture@@H@Z) referenced in function _cvCreateCameraCapture

    ..\..\bin/highgui110d.dll : fatal error LNK1120: 1 unresolved externals

    Build log was saved at "file://c:\Program Files\OpenCV\_temp\highgui_Debug\BuildLog.htm"


    으로 되어 있습니다.


    이것은 cvcap_dshow.cpp 파일이 highgui project에 포함되어 있지 않아서 생긴 오류이다.

    src에 이것을 추가합니다.


    사용자 삽입 이미지

    위의 그림처럼 추가하면 됩니다.


    그래도 오류가 발생하는데 일단 라이브러리를 추가합니다.


    C:\Program Files\OpenCV\otherlibs\_graphics\lib


    그리고 다시 컴파일을 하면 역쉬 에러가 나옵니다.


    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: void __thiscall videoInput::stopDevice(int)" (?stopDevice@videoInput@@QAEXH@Z) referenced in function "public: virtual void __thiscall CvCaptureCAM_DShow::close(void)" (?close@CvCaptureCAM_DShow@@UAEXXZ)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: bool __thiscall videoInput::isDeviceSetup(int)" (?isDeviceSetup@videoInput@@QAE_NH@Z) referenced in function "public: virtual bool __thiscall CvCaptureCAM_DShow::open(int)" (?open@CvCaptureCAM_DShow@@UAE_NH@Z)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: bool __thiscall videoInput::setupDevice(int)" (?setupDevice@videoInput@@QAE_NH@Z) referenced in function "public: virtual bool __thiscall CvCaptureCAM_DShow::open(int)" (?open@CvCaptureCAM_DShow@@UAE_NH@Z)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: bool __thiscall videoInput::getPixels(int,unsigned char *,bool,bool)" (?getPixels@videoInput@@QAE_NHPAE_N1@Z) referenced in function "public: virtual struct _IplImage * __thiscall CvCaptureCAM_DShow::retrieveFrame(void)" (?retrieveFrame@CvCaptureCAM_DShow@@UAEPAU_IplImage@@XZ)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: int __thiscall videoInput::getHeight(int)" (?getHeight@videoInput@@QAEHH@Z) referenced in function "public: virtual struct _IplImage * __thiscall CvCaptureCAM_DShow::retrieveFrame(void)" (?retrieveFrame@CvCaptureCAM_DShow@@UAEPAU_IplImage@@XZ)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: int __thiscall videoInput::getWidth(int)" (?getWidth@videoInput@@QAEHH@Z) referenced in function "public: virtual struct _IplImage * __thiscall CvCaptureCAM_DShow::retrieveFrame(void)" (?retrieveFrame@CvCaptureCAM_DShow@@UAEPAU_IplImage@@XZ)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: bool __thiscall videoInput::setupDevice(int,int,int)" (?setupDevice@videoInput@@QAE_NHHH@Z) referenced in function "public: virtual bool __thiscall CvCaptureCAM_DShow::setProperty(int,double)" (?setProperty@CvCaptureCAM_DShow@@UAE_NHN@Z)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: static void __cdecl videoInput::setVerbose(bool)" (?setVerbose@videoInput@@SAX_N@Z) referenced in function "public: __thiscall SuppressVideoInputMessages::SuppressVideoInputMessages(void)" (??0SuppressVideoInputMessages@@QAE@XZ)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: __thiscall videoInput::videoInput(void)" (??0videoInput@@QAE@XZ) referenced in function "void __cdecl `dynamic initializer for 'protected: static class videoInput CvCaptureCAM_DShow::VI''(void)" (??__E?VI@CvCaptureCAM_DShow@@1VvideoInput@@A@@YAXXZ)

    cvcap_dshow.obj : error LNK2019: unresolved external symbol "public: __thiscall videoInput::~videoInput(void)" (??1videoInput@@QAE@XZ) referenced in function "void __cdecl `dynamic atexit destructor for 'protected: static class videoInput CvCaptureCAM_DShow::VI''(void)" (??__F?VI@CvCaptureCAM_DShow@@1VvideoInput@@A@@YAXXZ)

    ..\..\bin/highgui110d.dll : fatal error LNK1120: 10 unresolved externals


    과 같이 에러가 발생한다.


    소스 파일을 찾아서 잘 보면 모두 VIDEO INPUT을 직접 받을때 사용하는 함수들 입니다. 

    현시점에서 외부에서 직접 비디오 입력을 받을 일이 없으므로 그냥 넘어가서


    _highgui,h파일에서 다음과 같이 수정한다.


    #if _MSC_VER >= 1400 && !defined WIN64

    #define HAVE_VIDEOINPUT 1

    #endif



    #if _MSC_VER >= 1400 && !defined WIN64

    #ifdef HAVE_VIDEOINPUT

    #  undef HAVE_VIDEOINPUT

    #endif


    //#define HAVE_VIDEOINPUT 1


    #endif


    으로 수정해서 막아버리고 컴파일 하면.. 잘 됩니다.




    3 OpenCV 환경 설정


    할때마다 컴파일 환경을 잡아주는 것이 귀찮으므로 일단 전체 환경 설정을 한번 하여줍니다.


    3.1 헤더 파일 폴더의 추가


    Tools-> Opetions을 선택하여 나타난 다이얼로그 박스에서 Directories 탭을 선택합니다

    Tools->Options을 선택하여 나타난 다이얼로그 박스에서 Projects and Solutions 항목의 VC++ Directories를 선택하면 아래와 같은 창이 됩니다.


    사용자 삽입 이미지



    Platform에 Win 32를 Show Directories에 Includes files를 선택한 후에

    새로운 Header File Folder를 선택합니다.


    C:\Program Files\OpenCV\_make

    C:\Program Files\OpenCV\cv\include

    C:\Program Files\OpenCV\cvaux\include

    C:\Program Files\OpenCV\cxcore\include

    C:\Program Files\OpenCV\ml\include

    C:\Program Files\OpenCV\otherlibs\highgui

    C:\Program Files\OpenCV\otherlibs\ffopencv

    C:\Program Files\OpenCV\otherlibs\_graphics\include


    을 모두 설치합니다.



    3.2 라이브러리 폴더 추가


    이번에는 라이브러리 폴더를 같은 방법으로 추가합니다.


    사용자 삽입 이미지


    위의 그림과 같이 Library Files를 선택한 뒤에


    C:\Program Files\OpenCV\lib


    을 추가합니다.


    이렇게 하면 준비가 끝났습니다.


    4. 다시 컴파일


    SIFT를 다시 컴파일 하면 이번엔 잘 된다.


    실행하면 다음과 같은 오류가 나타난다.


    사용자 삽입 이미지


    이것은 환경 변수에 PATH를 다음것을 추가합니다.


    C:\Program Files\OpenCV\bin



    5. 다시 실행


    이제 SIFT를 다시실행한다.

    그럼 아래 그림이 나타난다.


    사용자 삽입 이미지


    이제 정상적으로 컴파일이 되었다.



    아래 그림은 약간 수정한 코드로 만든 이미지입니다.

    잘 동작하고 있습니다.

    사용자 삽입 이미지





    'Computer Vision' 카테고리의 다른 글

    Rob Hess의 SIFT [3]  (2) 2009.02.23
    Rob Hess의 SIFT [2]  (0) 2009.02.18
    Rob Hess의 SIFT [1]  (1) 2009.02.16
    MAC에서 OpenCV를 컴파일 하기  (0) 2009.01.06
    XcodeでOpenCV開発  (0) 2009.01.03
    파노라마 구성하기  (0) 2009.01.03
    Posted by GUNDAM_IM
    ASIC SoC2009.02.03 09:14

    사람을 찾습니다.


    어디에 


    C  언어 이해하고 있으면서

    Computer Architecture를 이해하는 사람을 보셨나요 ?


    취업 사이트에 올린 구인 광고나 회사 홈피에 있는 구인 광고는 정말 거창한것 같지만 사실 딱 두가지만 바라는 겁니다. C언어와 Computer Architecture 입니다. (신입은 C만 잘해도 됩니다. ^^)


    몇년 전부터 사람을 찾느라고 매달 2~3명씩 면접을 보는 것 같습니다.

    그런데 아직도 사람을 찾고 있습니다. 


    거듭 말씀드리지만, 신입사원이라면 C언어만 이해해도 좋은데 사람 찾기가 쉽지 않네요


    회사가 크고 작고의 문제가 아닌듯 합니다.

    사상 최대의 취업 난이네 하여도 회사는 사상 최대의 구인난에 시달리고 있으니 아이러니 합니다.


    그동안 면접 본 사람이 못해도 000명은 넘은 것 같습니다만, 실제 채용된 사람은 3명 정도입니다.

    그렇다고 회사가 정말 고난도의 인력을 요청하는 것도 아니라는 생각을 합니다.

    정말 기본적인 것이죠.


    채용 기준을 낮추라는 압력(?)이 조언이 주변에서 들어오지만, 이미 이정도의 채용 기준이면 한껏 낮추었다고 생각합니다.

     

    요새는 왜 이렇게 사람뽑기가 힘들까요 ?


    생각해보면 


    1. 반도체 설계라는 직업군이 사실은  3D업종 이라는 비밀이 만천하에 공개 되었고

    2. 공대 기피현상의 여파가 구인난까지 밀려들어온것 같습니다.


    1번에 대해서는

    3D직군이라는 것은 재론의 여지가 없이 사실입니다. 엄청 몸빵하는 직군임에 틀림이 없습니다. FAB-IN할때에는 모두 신경이 곤두서서 밤을 새며 지내기 일쑤이기 떄문에, 엄청 고로운 직군입니다. 이건 사실이기 때문에 변명할 거리가 없네요 하지만 다른 직군을 좀 봐주세요.. 다른 직군도 힘들기는 매 한가지 입니다.


    2번에 대해서는 

    사실, 지금은 영업, 연구, 마케팅의 구분이 없는 시대가 되기 시작했습니다.

    직군의 구분은 있을런지 모르지만, 생각과 행동은 구분이 없습니다. 

    엔지니어가 마케팅을 이해하여야 하고, 세일즈를 이해해야 하는 것 처럼

    마케팅이 엔지니어링을 이해하지 못하고는 발 붙이기 힘든 시대입니다. 

    시작할때야 차이가 존재하지만 점점 차이가 없어지고, 결국 종합적인 능력을 가진 사람이 더 높은 세상을 향해 

    나아가게 되어 있습니다.


    아무것도 모르는 사람이 마케팅을 한다고 자리에 눌러 앉아서 기울어가는 회사를 보는게 한두군데가 아니어서

    더욱 그런 시대라는 것을 절감하게 됩니다.





    그렇지만~~!!!! 버뜨...


    자신이 만든 칩이 움직이는 것을 보는 것이 


    얼마나 신기한 것인지,

    얼마나 두군거리는 것인지 

    얼마나 황홀한 것인지


    느낄 수 있는 사람이라면, 느껴보고 싶은 사람이라면 연락을 주세요.. 



    얼마전에 연구 결과물을 보니 국내에 약 150개 정도의 FAB-Less가 있고 인력은 4000명 정도 된다고 합니다.


    마치 F.S.S( 파이브 스타 스토리의 약어죠.. 유명한 애니)에 보면 

    기사는 숫자가 늘지도 줄지도 않는다는 대사가 나옵니다.  한사람의 기사가 만들어질려면 한사람의 기사가 죽어야 하는것 처럼

    한사람의 엔지니어가 은퇴할때가 되어야 한사람의 엔지니어가 탄생하는게 아닌가 하는 생각이 듭니다.


    우리나라 반도체 인력 종사자가 4000명일지에 대해서는 약간 의문이긴 합니다만,  (실상은 더 적을것이라 생각합니다.)

    4000명의 엔지니어로 이 넓은 세상을 커버하기는 버거울 것 같습니다.


    지금 있는 회사에서도 사람을 채용하기 위해서는 기존의 방법으로는 안된다고 생각이 됩니다.

    뭔가 다른 방법과 대안을 찾아서 준비를 시작해야 합니다.


    개인적으로도

    회사에서도

    국가에서도


    다른 방안이 필요한 때입니다.



    ===========================

    오해의 소지가 좀 있을것 같아서.. 

    - 우리회사 대우가  낮지는 않습니다. 

    - 다른 것들도 잘 해주는 편입니다.

    - 위치가 불리한 것은 인정.. 음.. 얼렁 이사가야지..




    Posted by GUNDAM_IM
    Embedded2009.01.03 22:43
    Embedded.com에서 2008년동안 가장 많이 읽은 그래서 가장 인기가 많은 페이지를 리스트업 하였습니다.

    #1: Dynamic allocation in C and C++
    C and C++ have strikingly different approaches to managing dynamic memory. 

    #2: Is multicore hype or reality? 
    Multicore processors are here to stay but memory is a bottleneck. 

    #3: A Million Lines of Code
    Programs on the scale of a million lines of code are getting more common. But how big is that? 

    #4: Linkage in C and C++
    Scope determines what you can see within a translation unit. Linkage determines what you can see across translation units. 

    #5: The really early days of computing
    Do you doubt that we ever landed on the moon? We didn't have enough computing power, you say? Here's how things were done before the minicomputer, as told by a NASA number cruncher who helped land a man on the moon. 

    #6: Why multiply matrices? 
    Here's a step-by-step analysis of why you multiply matrices. 

    #7: Taming software complexity
    A simple equation can help you measure the complexity of your code. 

    #8: Engineering Apollo
    A new book describes the creation of the Apollo Guidance Computer in the detail only an engineer can love...and engineers WILL love it.

    #9: Creating software prototypes
    Prototyping software is an essential step in creating quality embedded systems and a sane work environment. Here's why. 

    #10: Programmers are people, too
    Experts tell us interesting facts about our work lives that we may know but deny: programmers have human limitations. 

    'Embedded' 카테고리의 다른 글

    LVDS Owner’s Manual [3]  (0) 2009.05.16
    LVDS Owner’s Manual [2]  (0) 2009.05.15
    LVDS Owner’s Manual [1]  (0) 2009.05.14
    인텔 컴파일러 최적화 기능 테스트  (0) 2009.03.23
    EISC 코드를 맥에 컴파일 하기  (2) 2009.01.16
    2008년 10가지 Embedded Design 컬럼  (0) 2009.01.03
    Posted by GUNDAM_IM