반응형

SW 2308

yocto 사용자 레이어 생성과 레시피 커스터마이즈에 대해 알아볼까요?

새로운 레이어 추가새로운 레이어를 생성하기 전에 항상 오픈임베디드 메타데이터 인덱스에 이미 이용가능한 비슷한 레이어가 있는지 확인하는 것이 좋다. 필요한 레이어를 찾을 수없으면 다음 단계로 폴더를 생성한다. $: ./poky/scripts/yocto-layer create newlayer 기본값을 사용하거나 사용자가 지정한 값을 사용할 수도 있다. 생성된 레이어의 예는 다음 그림과 같다. 사용자 레이어를 작업하기 위해 다른 레이어를 추가해야 할 필요가 있을 때 사용하는 중요한 변수는 다음과 같다. layerversion, layerdepends 의존성이 만족되지 않거나, 버전 정보가 맞지 않으면 에러가 나타난다. 레이어에서 메타데이터 추가레이어를 사용하는 논리적인 이유는 비트베이크 데이터베이스에 메타데이..

SW/Yocto 2018.12.20

C++11 : 포인터에 대해 알아볼까요?

포인터는 참조자와 유사하게 주소로 특정 변수나 객체를 참조할 수 있습니다.포인터변수에는 특정 변수의 주솟값이 저장됩니다.참조자와 다른 점은 가리키는 대상이 없을 수 있고 가리키는 대상을 언제든 변경할 수 있습니다.따라서 초기화할 필요도 없겠죠? 변수명 앞에 *를 선언하면 포인터 변수를 지정할 수 있습니다.정수형 변수 value를 선언하고 100으로 값을 초기화합니다.그 다음 pointerValue를 포인터 변수로 선언해 value 변수의 주소 참조 값을 저장합니다. int value = 100;int* pointerValue = &value; 다음의 예제의 결과를 생각해보세요. 그리고 한번 돌려보시고 메모리 주소를 확인해봅시다.이번 포스팅에서는 간단하게 다루겠습니다.이미 좋은 강좌들이 많으니 참고하여 다..

SW/C++ 2018.12.20

C++11 : 참조자와 한정자에 대해 알아볼까요?

참조자의 이해이번 포스팅에서는 변수의 별칭을 만드는 참조자와 포인터에 대해 알아보겠습니다.어떤 변수를 참조자로 선언하려면 다음처럼 주소 연산자(&)를 변수명 앞에 지정합니다. int peter = 185;int &seoul = peter; 이렇게 선언하면 seoul 변수는 int형으로 선언한 peter를 참조하게 되며 peter 변수의 별칭이 됩니다.참고로 cout을 이용해 변수를 그대로 출력하면 값이 출력되고 주소 연산자(&)를 변수명 앞에 붙여서(&변수명) 출력하면 해당 변수의 메모리 주소가 출력됩니다. #include using namespace std; int main(){ using salary = double; salary peter = 100.12; salary &sangwon = peter..

SW/C++ 2018.12.18

C++11 : 변수와 자료형에 대해 알아볼까요?

변수이름을 지을 때 일반적으로 지켜야 할 사항1. 의미를 파악할 수 있도록 식별할 수 있는 단어로 구성2. 일반적으로 소문자로 구성클래스 이름은 일반적으로 대문자로 시작3. 숫자는 변수 이름의 첫 글자로 사용할 수 없음4. 여러 단어를 조합할 때는 일관성 있는 규칙을 적용할 것5. 예약어는 변수 이름으로 사용할 수 없음 c++ 기본자료형C++11 표준 문서에 정리된 기본 자료형은 아래 표와 같습니다.데이터를 담을 수 있는 최소 크기를 비트 단위로 명시하고 있는데요.실제 크기는 운영체제나 cpu에 따라 달라질 수 있습니다.최대 크기는 달라질 수 있으나 최소 크기는 준수할 수 있도록 컴파일러에게 기준을 제시합니다. 자료형 의미 최소크기 short 짧은 정수 16bit int 정수 16bit long 긴 정수..

SW/C++ 2018.12.18

C++11 : 표준입출력에 대해 알아볼까요?

컴퓨터 장치는 외부 장치와 소통해야 합니다. 따라서 입력과 출력 인터페이스를 제공합니다. 컴퓨터 장치는 키보드 입력과 모니터 출력을 주요 입출력 인터페이스로 사용하고 있습니다. C++에서는 다른 프로그래밍 언어와 마찬가지로 입출력을 쉽게 할 수 있는 클래스 라이브러리를 제공하며 기본 기능으로 std 표준 라이브러리에 포함했습니다. 뿐만 아니라 파일에 읽고 쓰는 것도 중요한 입출력 인터페이스입니다. 우리는 개발을 하면서 설정 파일을 쓰며 동적으로 읽고 변경된 사항을 반영하기 때문입니다. 입출력의 시작 C++은 scanf()와 printf() 함수 대신 cin, cout 클래스를 제공합니다. 가능하면 C++에서는 scanf()와 printf() 함수를 사용하지 맙시다. 키보드와 모니터 입출력을 위한 헤더와 ..

SW/C++ 2018.12.17

[ C++ ] namespace에 대해 알아볼까요?

C++ 공부를 하면 namespace라는 문법을 자연스럽게 접합니다.하지만 정확한 의미를 모르고 using namespace std 라고 입력할 뿐입니다.화면에 자열을 출력할 때 필요한 규칙 정도로 생각하고는 합니다. 네임스페이스는 지정한 라이브러리를 사용할 수 있도록 소속을 알리는 역할을 합니다. using namespace std using 키워드로 std 라이브러리에 포함된 내용들을 사용할 것이라고 선언합니다. 따로 소속을 알리지 않아도 사용할 멤버가 std 라이브러리에 포함된 것으로 간주하게 됩니다. 만약 using 키워드로 네임스페이스를 지정하지 않고 cout을 활용한다면 어떻게 될까요?std::cout 처럼 std 라이브러리에 포함된 멤버임을 알려주어야 합니다. 다음은 네임스페이스를 활용한 간..

SW/C++ 2018.12.15

yocto GPL 규정 준수와 커스텀 임베디드 리눅스 부팅에 대해 알아볼까요?

카피레프트카피레프트는 권리를 최대한 활용하고 자유롭게 표현하기 위해 저작권을 사용하는 합법적 방법이다. 오픈소스와 무료 소프트웨어 라이선스를 다루는 것은 기업에 큰 영향을 미치기 때문에 매우 중요하다. 리눅스 배포판을 빌드할 때, 최소한 두가지 프로젝트가 사용된다. 요즘 가장 흔히 사용되는 컴파일러는 gcc다. 리눅스 커널은 GPLv2 라이선스로 릴리스 되고, GCC는 프로젝트에 사용되는 것에 의존적이며 GPLv2, GPLv2.1, GPLv3 라이선스를 가지고 릴리스 되었다. 카피레프트 규약과 상용화 코드의 비교상용화 코드와 카피레프트 코드가 같은 프로젝트에 동시에 존재할 수 있다는 것을 아는 것이 중요하다. 일부가 라이선스 호환 문제를 가지고 있기 떄문에, 코드와 함께 링크하는 라이브러리들을 주의 깊게..

SW/Yocto 2018.12.14

yocto 프로젝트 디버깅과 외부 레이어에 대해 알아볼까요?

메타데이터와 애플리케이션 디버깅메타데이터 디버깅은 비트베이크의 작업이 목표에 맞도록 보장을하고, 문제를 일으킨 부분에 대해 식별하기 위해 필요로 한다. 작업의 실행 경로를 추적하는 것에 대한 도움을 주기 위해 호스트에서 비트베이크에 의해 생성되는 여러 로그 파일을 사용한다. 반면 런타임 시 디버깅은 애플리케이션, 라이브러리 또는 커널의 정상적인 개발 주기 동안 디버깅을 하는 것과 같아 좀 더 익숙하다. 이미지, 패키지, SDK 콘텐츠 추적예상되는 콘텐츠와 이미지, 패키지, SDK를 제대로 가지고 있는지 확인하는 가장 쉬운 방법은 빌드 히스토리 메커니즘을 사용하는 것이다. 이 콘텐츠는 레시피가 변화될 때 예상되지 않은 방법들에 의해 변화가 된다. 모든 패키지, 이미지, SDK들의 빌드된 데이터는 이 데이터..

SW/Yocto 2018.12.12

yocto 비트베이크 메타 데이터 나누기와 프로젝트를 이용한 개발에 대해 알아볼까요?

메타데이터 사용Configuration(.conf) : 환경설정 파일은 전역으로 영향을 미치는 파일로 classes와 레시피의 동작을 위한 정보를 제공한다.Classes(.bbclass ) : classes는 전체 시스템에서 이용할 수 있고 쉬운 유지보수와 코드 중복을 피하기 위해 레시피에 의해 상속될 수 있다.Recipes(.bb .bbappend) : 레시피와 클래스는 파이썬과 셸 스크립트 코드가 혼합되어 작성된다. 메타데이터 작업비트 베이크의 환경 변수 옵션을 사용하면 각 변수의 값을 확인할 수 있다. $: bitbake -e | grep 기본 변수 설정FOO = "bar"변수 FOO값은 bar이다. 변수 확장비트베이크는 변수참조를 지원한다. 문법은 거의 셸 스크립트와 같다.A = "aval"B =..

SW/Yocto 2018.12.11

yocto의 임시 빌드 폴더와 패키지 지원 고찰에 대해 알아볼까요?

빌드 폴더빌드 폴더는 가장 주용한 정보이자 모든 욕토 프로젝트의 사용자들을 위한 결과물 저장 공간이다. 주요 폴더는 다음과 같다. Conf/ downloads/sstate-cache/tmp 빌드 폴더 구성다운로드 : 우선 비트베이크는 소스코드를 다운로드한다. 이단계에서 build/download 폴더 내에 새로운 압축파일을 생성하는 것이 포함된다.소스 준비 : 소스코드를 모두 다운로드하고 사용하기 위해 준비한다환경설정 및 빌드 : 소스코드사용 준비가 되면 빌드를 시작할 수 있다. 빌드 옵션을 성정하고 빌드를 한다.설치 : 빌드된 결과물은 적절한 폴더에 설치된다.Sysroot 복사 : 크로스 컴파일을 하기 위해 공유될 필요가 있는 라이브러리, 헤더, 그 이외의 파일들은 build/tmp/sysroot에 복..

SW/Yocto 2018.12.10

IoE, IoT 분야 교육과 직업에 대해 알아볼까요?

시스코 네트워킹 아카데미 프로그램 빠르게 성장하는 네트워크는 네트워킹 솔루션을 시행하고 유지하는 데에 필요한 사람들의 부족을 야기하였다. 특히 전기전자적인 발전이 촉진되며 네트워크가 새로이 생겨나는 장소에서는 이 부족현상이 더 심하다. 동일한 기간에, 사람들은 전세계적으로 경쟁사회에서 살아남기 위해 더 좋은 교육과 기회들에 접근할 필요성을 가졌다. 170개 나라의 9000개의 아카데미를 가지고 있는 시스코 네트워킹 아카데미는 개인이 산업 인증 증명서와 입문용 정보, ICT 경력을 위한 준비를 할 수 있도록 돕는다. 시스코 네트워킹 아카데미는 전 세계의 지역 사회에서 직업 전망을 개선하면서, ICT 전문가에 대한 수요를 해결 하는 데 도움이 된다. 시스코 네트워킹 아카데미는 현재까지 이상 사백만 학생들을 ..

SW/네트워크 2018.12.09

yocto hob와 비트베이크 툴에 대해 알아볼까요?

Hob은 비트베이크의 사용자 친화적인 인터페이스Hob은 이미지를 변경하고 사용자가 원하는 방법의 이미지를 이용할 수 있도록 도움을 준다.또한 hob은 이미지를 만든 후 qemu에서 이미지를 바로 실행시킬 수 있게 한다. Hob을 사용한 이미지 빌드yang@yang:~$ source poky/oe-init-build-env [build-directory] yang@yang:~$ hob Hob은 로컬 환경설정과 이용 가능한 메타데이터 레이어를 읽어 여러 파싱 작업들을 수행한다. 이 작없이 끝난 후, hob은 이용 가능한 머신의 목록을 보여준다. Hob을 사용한 이미지 편집 레세피를 선택하고 해제함으로써 추가 삭제할 수 있다. 비트베이크는 필요한 추가 패키지를 포함하여 선택된 패키지들의 모든 의존성을 분석한다..

SW/Yocto 2018.12.09

IoT, IoE, 시제품에 대해 알아볼까요?

시제품 정의 시제품은 모델링의 다음 단계이다. IOE 시제품을 위해 설계 기술, 전기전자적 기술, 기계적 기술, 프로그래밍 기술 그리고 TCP/IP가 어떻게 작동하는지 아는 것이 필요하다. 하지만 이러한 분야들에서 반드시 전문가 수준일 필요는 없다. 사실상, 시제품은 당신이 이러한 기술들을 다시 재정비하는 것을 도와준다. IOE는 현재 계속 발전중이기 때문에 아직 알려지지 않은 업무들이 많다. 지금 이 순간은 IOE의 어떠한 부분을 발명해내기에 아주 좋은 때이다. IOE는 사람, 프로세스, 데이터 등 모든 것을 결합하기 때문에 IOE를 발명하는 데에는 그 끝이 없다. 시제품을 어떻게 만드는가 시제품 제작의 예시 시제품을 만드는 것을 시작하는 몇가지 방법들이 있다. 구글 팀은 구글 안경을 제작하기 위해 “..

SW/네트워크 2018.12.08

yocto와 poky에 대해 알아볼까요?

욕토 프로젝트여러 세부 시장을 통틀어 모든 하드웨어와 아키텍처에 적합한 사용자 맞춤 리눅스 배포판을 개발할 수 있도록 오픈 소스, 고품질의 인프라, 툴을 제공한다. 아울러, 개발자들이 좀 더 손쉽게 출발할 수 있는 시작점을 제공하도록 만들어졌다. 포키욕토 프로젝트의 레퍼런스 시스템이며, 툴과 메타데이터의 집합으로 구성된다. 포키는 플랫폼에 독립적이고 비트베이크, 오픈 임베디드 코어와 메타데이터를 사용하여 크로스 컴파일을 수행한다. 완전히 사용자화되고 완벽하고 일관성 있는 리눅스 소프트웨어를 만들기 위해 수천 개의 오픈 소스 프로젝트를 빌드하고 조합하기 위한 메커니즘을 제공한다. 비트베이크파이썬과 셸 스크립트가 함께 섞여 있는 코드를 파싱하는 작업 스케줄러이다. 파싱된 코드는 기본적인 코드 의존성에 따라 ..

SW/Yocto 2018.12.08

IoT, IoE, 헬스케어의 원리에 대해 알아볼까요?

IOE를 통한 건강관리기능 향상 IOE는 아마 건강관리 산업을 발전시키고 있다. IOE가 건강관리 분야에서 어떻게 사용되고 있는지 보여준다. 의료분야에서의 IOE 인터넷에 연결된 장치들의 수는 지난 몇 년간 빠르게 성장하였고, 이것은 만물인터넷이라고 불리운다. 환자는 집에서도 전자기기를 통해 병원의 의사, 간호사와 연락할 수 있다. 의사와 간호사는 사무실의 컴퓨터와 태블릿 기기를 통해 환자의 진료기록을 열람할 수 있다. 병원비 납부를 할 때에는 보험절차를 위한 목록을 손쉽게 볼 수 있으며 환자는 자신의 증상과 추천되는 치료법을 볼 수 있다. 당뇨병 환자 건강관리 솔루션 모델 당뇨병환자 IOE기 어떻게 환자 관리를 향상시키는가를 보여주기 위해 우리는 유형1 당뇨병 환자에 집중 할 것이다. 유형1 당뇨병은 ..

SW/네트워크 2018.12.07

IoT, IoE, 데이터와의 관련성에 대해 알아볼까요?

데이터란 무엇인가? 데이터는 우리 주위에 있는 모든 것에서 나온 값들을 의미한다. 즉 데이터는 어디에나 있는 것이다. 하지만 데이터 스스로는 의미를 가지고 있지 않다. 우리가 데이터를 상관관계나 비교 하여 해석함으로써, 비로소 유용한 데이터가 될 수 있다. 이 유용한 데이터를 정보 (information)이라고 부른다. 이 정보가 적용되거나 이해가 된다면 이것은 지식(knowledge)이 된다. 전자적인 통신에서 데이터는 1과 0으로 표현된다. 이러한 개별 요소를 비트(bits or binary digits)라고 부른다. 모든 전자 데이터는 이러한 디지털 2진수형태로 저장된다. 사람은 그림과 단어를 해석할 수 있지만, 컴퓨터는 비트의 패턴을 해석할 수 있다. 디지털 코드를 사용하는 것의 장점은 효율적으로..

SW/네트워크 2018.12.06

IoT, IoE, 보안과의 관련성에 대해 알아볼까요?

강화된 보안의 필요성 보안의 필요성 인터넷에 연결된 사물의 수가 늘어남과 동시에 데이터의 양 또한 늘어나면서 데이터 보안에 대한 강화가 필요하다. 시스코 정보보안 부사장 존 스튜어트(John N. Stewart)는 IoE 환경에서 보안 문제를 아래와 같이 말하고 있다. 해킹은 빈번하게 발생하며, 해킹 자체를 막는 것은 불가능하다. 사람, 프로세스, 데이터 그리고 사물에 이르기까지 모든 것을 연결하는 IoE 환경에서는 정보를 훔치는 것과 같은 범죄 행위는 더 광범위하게 발생할 것이다. IoE 환경에서의 해킹을 방어하기 위해서는 보안 설계에서 현재의 문제점을 기본적으로 고려하여 네트워크의 내부에서 이를 통제하는 방법이 가장 효율적으로 해킹을 막을 방법이다. 보안 전략 보안 절략 IoE 솔루션이 확장되고, 통..

SW/네트워크 2018.12.05

IoT, IoE, 산업 관련성에 대해 알아볼까요?

비즈니스 진행과정 이해하기 IoE는 업무 개선을 비롯한 비용 절감을 통해 효과적인 마케팅 전략을 이끌어 낼 수 있다. 그렇다면 조직은 어떻게 아무 혼란 없이 기존의 방식에서 IoE 기반의 방식으로 변화할 수 있을까? 경영 관리자들은 첫 번째로 현재의 프로세스를 정확하게 이해하고 파악하는 것이다. * 공급업자와 고객의 정확한 확인 및 인지 * 고객의 요구 * 요청 작업의 진행사항과 일정 공급 관리자와 도매업자들은 상품의 수명 주기를 정확하게 이해하고 있는 것이 중요하다. 예를 들어, 바나나 수확이 센서를 통해 예상보다 빨리 수확이 될 것이라고 미리 알게 되었다고 가정해 보자. 소매업자들은 새로운 배송 시기를 미리 조율해 시간을 효율적으로 활용할 수 있을 것이며, 현재 바나나 재고를 할인 판매하여 공급의 과..

SW/네트워크 2018.12.04

IoT, IoE, 기술과의 관계에 대해 알아볼까요?

정보통신기술과 운영기술 IoT(Internet of Thing)는 연결되지 않는 IoE 4개 요소(사물, 데이터, 사람, 프로세스) 중의 하나인 “사물”을 연결하는 데 초점을 맞추고 있다. 연결되지 않은 사물들을 연결하기 위해서는 조직의 운영기술(Operational Technology)과 정보통신기술(Information Technology)의 통합이 필요하다. 운영기술은 산업용 제어 장치와 자동화 인프라로 정의된다. 이것은 센서 및 단말장치 등과 같은 하드웨어 그리고 제조장비와 프로세스를 제어 및 모니터링 하는데 사용되는 소프트웨어 말한다. 대부분의 운영기술 통신은 이러한 시스템 내에서 이루어진다. 정보통신기술은 정보를 처리하고 사람 사이의 정보 교환을 가능하게 하는 데 사용된 네트워크 인프라, 통신..

SW/네트워크 2018.12.03

XML to JSON ( JSON to XML ) 파이썬 스크립트 변환

이번 포스팅은 python을 활용하여 xml을 json으로 변환하는 방법입니다. 우선적으로 변환을 하기 위해 관련 xmltodict 패키지를 다운받아야합니다. pip install xmltodict 라이브러리를 다운 받았다면 우선 임의의 xml 파일을 생성합니다. xml_to_json.xml Earth 183cm Jupiter 175cm Mars 168cm cs xml을 생성하셨다면 아래와 같은 python 코드를 작성합니다. 저와 똑같이 작성하셔도 무방하지만 다르다면 파일명과 확장자를 맞춰주셔야합니다. xml_to_json.pyimport jsonimport xmltodict with open("xml_to_json.xml",'r') as f: xmlString = f.read() print("xml ..

SW/Python 2018.12.03
반응형