2016년 3월 3일 목요일

Tag Main(Automotive)

Automotive(자동차) SW 개발을 위한 준비

1. 자동차 지식

2. 전자 지식
    1) MCU(Micro Controller Unit)
        - 작은 Unit 들의 기본 단위인 MCU의 구동 방법을 이해한다.
    2) 통신
        - LVDS
        - UART
            . LIN
            . CAN
            . SPI

3. 소프트웨어 지식
    1) C
    2) Python

4. Tool
    1) Source Insight
    2) CS+

5. Test 지식
    1) polyspace
    2) LDRA
    3) RIDE
    4) Code Debugging Skill

6. 부가 지식
    1) 고객 스펙 분석 능력
        - 요구사항을 전체의 관점에서 연결하여 이해한다.
        - 고객 문서 중 word 형식 분석 능력
            -> 목차가 보여줄 수준을 조절하여 내용의 전체를 파악한다.
            -> 목차를 엑셀에 복사하고 그 hierarchy를 엑셀 테이블로 만든다.
            -> 각 테이블의 내용을 엑셀 VBA 로 뽑아내여 재 정렬 한다.

2016년 2월 21일 일요일

(K)Excel 파일의 특정 Sheet 데이터를 python으로 업데이트 하는 법

내용 요약
    1. csv 파일을 읽은 내용을 Excel 파일의 Sheet에 넣는 내용.
    2. Sheet 자체를 Copy 하고 싶었으나 아직 그런 라이브러리는 없는것 같습니다.
    3. 혹시 더 스마트한 방법이 있으면 알려 주세요.

2016년 2월 20일 토요일

MCU(Micro Controller Unit, ex>arduino, 아두이노) 이해를 위한 Post - 1

요약
    4가지 질문으로 MCU를 이해


1. 무엇을 말하는가?
    MCU: Micro Controller Unit
            특정 제어장치에 적용하기 위해 만들어진 소형 컴퓨터 칩
            (MCU, Embeded, ECU 는 결국 컴퓨터 이지만 성능의 차이로 구별이 된다.)

2. 어디에 사용되는가?
    TV, 냉장고, 전화기 등 소형 전자제품을 제어할 때 사용
    
3. 무엇으로 구성 되어 있는가?
    CPU + ROM + RAM + TIMER + PORT + 통신(UART, SPI, I2C ..)
    컴퓨터가 동작을 하기 위해서 필요한 것들이 하나의 칩에 모여 있는 것
    1) 실제 동작을 위한 명령(기계어 코드) - 보통 외부에서 통신을 통해 메모리로 Loading
    2) 기계어 코드가 저장되어 있을 메모리
    3) 기계어 하나하나를 실행시켜 줄 CPU
    4) 위 3개를 연결시켜 줄 IO
    
4. 어떻게 실행 되는가?
    1) 필요한 프로그램을 MCU 상의 메모리에 올려 실행
        a. PBL: 주변 기기와 연결을 해 주며, ROM에 있는Main Program을 올리는 역할을 하는 SBL을 RAM에 올려주는 역할
        b. SBL: Main Program을 RAM에 올려주는 역할
        c. Main Program: RAM에서 Loop를 돌며 MCU의 동작 수행
    2) MCU 동작 수행
        - Main Program은 각 각 통신 방법으로 약속된 통신 메시지를 주고 받으며 동작 

관련 단어
    Boot Loader
    PBL(Primary Boot Loader)
    SBL(Secondary Boot Loader)
    CPU(central processing unit)
    ROM(Read-Only Memory)
    RAM(Random Access Memory)
    TIMER
    PORT
    UART(Universal asynchronous receiver/transmitter)
    SPI(Serial Peripheral Interface)
    I2C(Inter Integrated Circuit)

메모
    MCU 관련 Software 개발을 시작하게 되었는데 MCU 제어를 해보지 않아 관련 정보 찾아 보았습니다.
    MCU 의 가장 유명한 예시인 ARDUINO(아두이노) 도 구매해서 실천적인 경험도 가지고 있는 중
    
참조

2016년 2월 19일 금요일

(K)스크린 캡쳐 프로그램 선정 고민(나에게 필요한 기능)(screen capture program select)

캡쳐 많이 할 일이 생겨 스크린 캡쳐 프로그램을 비교 해 보았습니다.


1. 목적: 캡쳐를 많이 해야 할 때 편리하게 사용할 수 있는 캡쳐 프로그램 고르기

2. 필요 기능: 단축키를 사용하며, 클립보드에 바로 복사할 수 있는 것
             (모든 캡쳐 프로그램에 존재)

3. 추가 고려 사항: 많은 기능이 필요하지 않기 때문에 컴퓨터 성능에 영향이 가지 않아야 함
    - CPU 성능
    - Memory 사용 양

4. 비교 대상 프로그램
    1) pickpick(픽픽) -> 한글 검색 시 추천 1순위
   http://wiziple.tistory.com/
    2) Screen Hunter6 -> 영어 검색 시 별 5개
   http://www.wisdom-soft.com/products/screenhunter.htm
    3) Gadwin PrintScreen -> 영어 검색 시 별 5개
   http://www.gadwin.com/printscreen/
    4) 반디카메라 -> 한글 검색 시 픽픽 다음으로 발견
   http://www.bandisoft.co.kr/bandicamera/

5. 결론
    A 최종 결론
        기능을 충족하면서 편리하고 컴퓨터 자원을 적게 사용해야 하므로
        개인적으로 Screen Hunter
    B 사용성(편리성, 실제 사용시 속도)
        1위 PickPick, ScreenHunter, Gadwin PrintScreen
        4위 반디카메라
    D 메모리
        1위 Screen Hunter: 6,032KB
        2위 Bandi Camera: 14,660KB
        3위 Gadwin PrintScreen: 9,132KB
        4위 PickPick: 35,480KB
    E CPU
        - 작업 관리자에 모두 0으로 나타나서 추가비교 X


2016년 2월 15일 월요일

(E)Adding custom Folding to Notepad++(User Defined Language)

1. I need to Fold codes
    - folding code and adding appropriate comment make Understanding Big Picture easy.
    - Well made function name, structure could enough but folding option is good option.
    - I select Batch language(simplest syntax)
2. that function is in Visual Studio as #pragma region#pragma endregion but other Editors don't have it.
3. in Notepad++ User can define Folding
   * that need 2 function
      - Comment Line Style (Comment Line Style)
      - Folding in Comment Style (Comment Folding Style)

Abstract - Notepad++ Code Folding
in Notepad++ to make Customized Folding, you should make User Defined Language.(if not please, let me know)

when batch, make Keyword, Operator, String, Comment etc.. and add Code Folding 

Sequence Notepad++ User Defined Language
1. decide what to make - batch
2. List to make
    1) Keyword 1, 2
    2) string
    3) Operator
    4) Comment
    5) String Variable
    6) Number
    7) Folding(Comment)
    8) start point of GOTO
    9) Function name - no method yet

3. Information
    1) Keyword 1, 2
        - Reference 1(below)
    2) String
        - 'string' ,  "string" 사용
    3) Operator
        -  / \ == !==! | @ * > >> < + - * =
    4) Comment
        - ::
    5) String Variables
        - %variable%, 혹은 %something
    6) Number
        - Default numbers
    7) Folding(in Comment)
        - comment :: has  { and } , it could  be foldded
    8) start point of GOTO
        - start with : 

4. Notepad++ Setting Screen
    1) Keyword 1, 2


    2) String

    3) Operator

    4) Comment

    5) String Variables

    6) Number

    7) Folding(in Comment)

5. Check Effectiveness by Code Folding
    5.1 Not Folded Code

before applying Fold

    5.2 Folded Code
after applying Fold, not Folded yet

after applying Fold, Folded


Reference 1
set if else exist errorlevel for in do break call copy chcp cd chdir choice cls country ctty date del erase dir echo exit goto loadfix loadhigh mkdir md move path pause prompt rename ren rmdir rd shift time type ver verify vol com con lpt nul defined not errorlevel cmdextversion BREAK CALL CD CHDIR CLS COPY DEL DIR DATE ECHO ELSE ERASE EXIT FOR GOTO IF MD MKDIR MOVE PATH PAUSE PROMPT RD REN RENAME RMDIR SET TYPE VER VERIFY VOL SHIFT TIME CHCP CHOICE break call cd chdir cls copy del dir date echo else erase exit for goto if md mkdir move path pause prompt rd ren rename rmdir set shift type ver verify vol time chcp choice

ASSOC COLOR ENDLOCAL FTYPE MKLINK POPD PUSHD SETLOCAL START TITLE ARP AT ATTRIB BCDEDIT CACLS CHKDSK CHKNTFS CIPHER CLIP CMD COMP COMPACT CONVERT DEBUG DISKCOMP DISKCOPY DISKPART DOSKEY DRIVERQUERY EXPAND FC FIND FINDSTR FORFILES FORMAT FSUTIL GPRESULT GRAFTABL HELP ICACLS IPCONFIG LABEL MAKECAB MODE MORE NET OPENFILES PING RECOVER REPLACE ROBOCOPY RUNDLL32 SCHTASKS SETX SHUTDOWN SORT SUBST SYSTEMINFO TASKKILL TASKLIST TIMEOUT TREE WHERE WMIC XCOPY assoc color endlocal ftype mklink popd pushd setlocal start title arp at attrib bcdedit cacls chkdsk chkntfs cipher clip cmd comp compact convert debug diskcomp diskcopy diskpart doskey driverquery expand fc find findstr forfiles format fsutil gpresult graftabl help icacls ipconfig label makecab mode more net openfiles ping recover replace robocopy rundll32 schtasks setx shutdown sort subst systeminfo taskkill tasklist timeout tree where wmic xcopy


2016년 2월 14일 일요일

(K)Notepad++ 에서 Folding 추가하기, Adding custom Folding to Notepad++(User Defined Language)

1. 작성중인 코드를 접으려고 합니다.
    - 코드를 접고, 적절한 Comment를 적으면 전체를 파악하기 쉽기 때문입니다.
    - 물론 함수를 적절히 만들고, 함수의 이름을 잘 만들고, 구조를 잘 만들면 파악하기 쉽지만 다른 종류의 Option이 있는것은 바람직하다고 생각합니다.
    - 예를 들기 위하여 batch 언어를 선택하였습니다.(문법이 가장 간단해서;)
2. 해당 기능은 Visual Studio 에서는 #pragma region, #pragma endregion 으로 존재 하지만 그 외의 Editor 에서는 지원하지 않습니다.(아는 것이 있으면 알려주세요..)
3. Notepad++ 에서는 사용자가 직접 추가할 수 있습니다.
   * 두 가지 기능을 사용
      - Comment Line Style (주석 줄 스타일)
      - Folding in Comment Style (주석 접기 스타일)

Notepad++ 코드 접기 개요
Notepad++ 의 User Defined Language 로 주석 접기를 추가 하려면 완전 새로운 언어를 만들어서 사용해야 합니다.(혹시 다른 방법이 있으며 알려주세요.)

예를 들면, bat 파일의 경우(가장 문법이 간단하여 선택) bat 파일에서 키워드, 연산자, 문자열, 주석 등등 을 직접 지정해 준 다음 Code Folding 을 추가해 줄 수 있다는 것입니다.

Notepad++ 에서 새로운 User Defined Language 만들기 순서
1. 어떤 언어에 접기를 추가 할 것인지 결정 - batch
2. 해당 언어에서 설정해 줄 것들 나열
    1) 키워드1, 2
    2) 문자열
    3) 연산자
    4) 주석
    5) 문자열변수 등
    6) 숫자
    7) 접기(주석으로)
    8) GOTO에 의한 시작점
    9) 함수 선언 시 함수이름 - 아직 방법 모름
    10) 선언된 함수 사용 시 함수 이름 - 아직 방법 모름

3. 정보 정리
관련 경로: C:\Program Files (x86)\Notepad++ (64bit 인 경우)
    -> Notepad++ 에 이미 정의되어 있는 공개된 정보를 사용하기 위함이며, 해당 언어에 대한 정보가 따로 존재 한다면 그 정보를 사용하시면 됩니다.
    1) 키워드1, 2
        - 참조 1
    2) 문자열
        - '문자열' 및 "문자열" 사용
    3) 연산자
        -  / \ == !==! | @ * > >> < + - * =
    4) 주석
        - ::
    5) 문자열변수 등
        - %변수명%, 혹은 %어떤것
    6) 숫자
        - 기본으로 지정된 숫자
    7) 접기(주석으로)
        - :: 주석 안에 { 으로 열고 } 으로 닫음으로써 접기 적용.
    8) GOTO 에 의한 시작점
        - : 으로 시작
4. Notepad++ 셋팅 화면
    1) 키워드1, 2


    2) 문자열

    3) 연산자

    4) 주석

    5) 문자열변수 등

    6) 숫자

    7) 접기(주석으로)

    8) GOTO 에 의한 시작점

5. 접기에 의한 효과 확인
    5.1 접지 않은 코드
접기 문법 적용 전

    5.2 접은 코드
접기 문법 적용, 접지 않은 상태

접은 상태



참조1
set if else exist errorlevel for in do break call copy chcp cd chdir choice cls country ctty date del erase dir echo exit goto loadfix loadhigh mkdir md move path pause prompt rename ren rmdir rd shift time type ver verify vol com con lpt nul defined not errorlevel cmdextversion BREAK CALL CD CHDIR CLS COPY DEL DIR DATE ECHO ELSE ERASE EXIT FOR GOTO IF MD MKDIR MOVE PATH PAUSE PROMPT RD REN RENAME RMDIR SET TYPE VER VERIFY VOL SHIFT TIME CHCP CHOICE break call cd chdir cls copy del dir date echo else erase exit for goto if md mkdir move path pause prompt rd ren rename rmdir set shift type ver verify vol time chcp choice

ASSOC COLOR ENDLOCAL FTYPE MKLINK POPD PUSHD SETLOCAL START TITLE ARP AT ATTRIB BCDEDIT CACLS CHKDSK CHKNTFS CIPHER CLIP CMD COMP COMPACT CONVERT DEBUG DISKCOMP DISKCOPY DISKPART DOSKEY DRIVERQUERY EXPAND FC FIND FINDSTR FORFILES FORMAT FSUTIL GPRESULT GRAFTABL HELP ICACLS IPCONFIG LABEL MAKECAB MODE MORE NET OPENFILES PING RECOVER REPLACE ROBOCOPY RUNDLL32 SCHTASKS SETX SHUTDOWN SORT SUBST SYSTEMINFO TASKKILL TASKLIST TIMEOUT TREE WHERE WMIC XCOPY assoc color endlocal ftype mklink popd pushd setlocal start title arp at attrib bcdedit cacls chkdsk chkntfs cipher clip cmd comp compact convert debug diskcomp diskcopy diskpart doskey driverquery expand fc find findstr forfiles format fsutil gpresult graftabl help icacls ipconfig label makecab mode more net openfiles ping recover replace robocopy rundll32 schtasks setx shutdown sort subst systeminfo taskkill tasklist timeout tree where wmic xcopy

2016년 2월 13일 토요일

(E) ASPICE Understanding - 2

ASPICE has an official Website: http://www.automotivespice.com/

Home
by consensus of the car manufacturers within the Automotive Special Interest Group (SIG), a joint special interest group of The Procurement Forum and The SPICE User Group.

The members of the Automotive Special Interest Group include AUDI AG, BMW Group, Daimler AG, Fiat Auto S.p.A., Ford Werke GmbH, Jaguar, Land Rover, Dr. Ing. h.c. F. Porsche AG, Volkswagen AG and Volvo Car Corporation.

The Automotive SPICE® Process Assessment Model will be used to perform conformant assessments of the software process capability of automotive suppliers in accordance with the requirements of ISO/IEC 15504-2: 2003 and is based on ISO/IEC 15504-5: 2006.


About
I think below words are good explanation why they start the ASPICE(in about - Introduction)
http://www.automotivespice.com/about/
"As project schedules get even shorter, the pressure on software development and target hardware costs get ever greater, and the potential recall and safety issues due to electronic systems malfunction becomes ever more calculable. With more than 85% of the functionality in the modern motor vehicle now controlled by software, both the motor vehicle manufacturer and the supplier need to take action to address these issues.

The motor vehicle manufacturers have started to take pro-active action to address the situation; by focussing on software capability of the supplier in the supplier evaluation process; making provision for contractual demands with respect to software quality: and in performing supplier software capability assessments both before and during contract performance. " 

Download
Download the latest version of the Automotive SPICE® Process Assessment Model (PAM) and Process Reference Model (PRM):
http://www.automotivespice.com/download/


Next I need to understand Abstract of the Document