728x90 반응형 전체보기107 임베디드 프로그래머 개발 환경 살짝 경험해 보기(1) 임베디드 프로그래머로써 자주 사용했던 ubuntu 사용에 대한 내용을 소개해 드릴까 합니다. 이번 글에서는 windows에서 ubuntu를 설치하여 간단한 C 프로그램과 open source 다운로드를 해볼까 합니다. 1. windows ubuntu 설치 Windows 10에서 ubuntu를 제공합니다. 정식 명칭은 WSL(Windows Subsystem for Linux) 입니다. 아래 방법으로 설치하기 전 windows update를 진행하여 1909로 만드셔야 합니다! 설치 방법은 아래와 같습니다. 1) 윈도우 키를 눌러 microsoft store를 실행 > ubuntu 검색 2) ubuntu 설치 글 작성 시점 20.04, 18.04가 있는데 전문적으로 사용하시는 분들은 버전 선택하시면 되고, .. 2020. 12. 18. 임베디드 프로그래머에게 좋은 업무는? 업무와 관련된 소개글들을 보면 chip사에 취직하거나 이직하는 것이 좋을 것 같다고 말씀 드렸습니다. 지난 글들에서는 중간 중간 소개 정도로만 했기 때문에 이번 글에서 chip사와 chip을 사서 쓰는 회사의 차이를 알려드려 볼까 합니다. 차이를 보시고 어떤 것이 좋은 업무일지 스스로 판단해 보시는 것이 좋을 것 같습니다. 참고로 chip사에서 근무 경력이 4개월 밖에 안돼서 정확한 정보를 드릴 수는 없어 대략 흘러가는 정도만 알려드립니다. 1. chip사 제가 이해하기 쉽게 쓰다 보니 계속해서 chip사 라고 쓰는데 보통은 chip 제조사, 반도체 회사 등의 정식 명칭이 있습니다. 또는 AP(Application Processor), IP(Intellectual Property), SoC(System .. 2020. 12. 17. 임베디드 프로그래머의 타 부서와의 업무들 지난번에는 라우터 개발에 대해 제가 진행했던 업무들에 대해 소개를 해드렸습니다. 그래서 이번에는 그 내용들을 토대로 왜 kernel이나 device driver로 가는게 좋은지 소개해 볼까 했는데 그것보다 우선 타 부서와의 업무는 어떻게 되는지 알려드리는 것이 좋을 것 같아 준비해 봤습니다 ㅎ 지난 글은 프로그래머로써, SW팀원으로써 개인적인 업무 내용들이고요. 사실 회사라는 것이 한 사람, 한개의 부서만으로 돌아가는 것이 아니라는 것은 여러분들도 잘 아실 것이라 생각됩니다. 임베디드 시스템은 전자기기를 만드는 곳이 대부분이다 보니 제조업에 속하는 곳들이 많이 있습니다. 저도 제조업에서만 프로그래머를 하고 있고요. 이번 글에서도 제 주관적인 경험을 가지고 설명을 드릴까 합니다. 따라서 다른 회사들과 다를.. 2020. 12. 16. 임베디드 프로그래머로써 한 업무들(2) 자! 지난번 글에 이어 이번 글에서 제가 한 업무들에 대해 소개해 드리겠습니다. 1. 주 업무 - bootloader 수정 - kernel 수정(or device driver 수정) - daemon 개발 2. 부 업무 - web page 개발 - 양산 프로그램 개발 Daemon 개발에서 daemon 이란 windows의 프로그램 또는 application 이라고 보시면 됩니다. 즉, linux상의 application을 daemon 이라고 부릅니다. 비록 UI가 없지만 윈도우에서 실행되는 프로그램처럼 다양한 기능을 하는 application을 linux에서도 만들 수 있습니다. Daemon은 linux의 부팅이 완료된 후 동작하며, 부팅 된 후 필요한 다양한 기능들에 맞게 여러 daemon을 개발합니다(.. 2020. 12. 15. 임베디드 프로그래머로써 한 업무들(1) 제 경력의 대부분은 라우터 회사에서 생활한 것들 입니다. 어떤 업무들을 했었는지 업무 목록과 내용들에 대해 상세히 소개를 해드릴까 합니다. 아마 이번 글은 현직에 계시는 분들보다 이 분야로 시작하시려는 분들에게 가이드 라인 정도는 될 수 있지 않을까 생각해 봅니다 ㅎ 우선 라우터란! 흔히 말하는 공유기를 말합니다. 공유기는 SKT, KT, LGU+ 에서 여러분 집에 인터넷을 쓸 수 있게 설치해 준 그 기계를 말합니다. 요즈음은 WiFi도 기본적으로 제공하죠. 전문적으로는 홈 라우터, 모바일 라우터로 나누기도 하는데요. 집에서 사용 중이신게 홈 라우터고요. 휴대용으로 들고 다니면서 LTE 신호를 받아 사용할 수 있게 해주는 것을 모바일 라우터라고 합니다. 저는 두 개 분야 모두 개발했고, 미국, 일본, 인.. 2020. 12. 14. OS가 있는 분야 "임베디드 프로그래머 업무 분야" 소개글에서 OS가 있는 분야에 대해 설명 드린 적이 있는데 좀 더 상세하게 설명 드리는 것이 좋을 것 같아 이번 글을 작성합니다. 임베디드 시스템의 OS는 대표적으로 linux를 많이 사용하고 개발 환경은 ubuntu를 많이 사용합니다. Linux를 사용하는 환경에서는 kernel이 핵심이기 때문에 시스템에 필요한 기능들이 있는 kernel을 골라서 사용합니다. 예를 들면 IPv6 사용을 위해서는 kernel 3.0 이상을 써야 하고 IPv6가 필요없는 경우 kernel 3.0 미만을 사용합니다. 물론 kernel 2.x에도 v6를 사용할 수 있지만 안정성이 확보되지 않기 때문에 많은 버그와 그에 따른 디버깅을 진행해야 합니다. Chip사나 linux를 직접 배포하는 회.. 2020. 12. 13. 임베디드 프로그래머에게 유용한 개발 프로그램들 windows linux, git, gerrit, redmine, svn, slack, jira, confluence… 이번엔 임베디드 프로그래머들에게 유용한 여러 개발 프로그램들에 대해 소개해 볼까 합니다! 1. WSL(Windows Subsystem for Linux) Windows10에서 사용 가능한 linux system 입니다. 간편하게 linux를 체험해 볼 수 있는 방법 중 하나 입니다. 보통은 vmware(유료), virtual box(무료) 프로그램을 사용하여 ubuntu(linux)를 설치하여 사용했는데 MS에서 windows에서 바로 사용할 수 있는 ubuntu를 만들었습니다. 설치는 "Microsoft Store"를 실행시키고 ubuntu 라고 검색하시면 설치하실 수 있습니다. 여러.. 2020. 12. 11. 임베디드 프로그래머의 미래는? 이번 글에서는 임베디드 프로그래머의 미래는 어떤지 살펴보겠습니다! 솔직히 시시각각으로 IT 관련 기술이 빠르게 변하고 있기에 정확히 어떻게 될지는 예측하기 어렵습니다. 특히 휴대폰의 발전으로 임베디드 기계가 빠르게 변화되고 생기고 있기 때문에 임베디드 프로그래머의 미래가 어떨지는 알 수 없습니다. 다만 임베디드 프로그래머로써 시작이 어떻냐에 따라 어느 정도 예상은 해 볼 수 있을 것 같습니다. 저는 linux, android 환경에서 전자기기를 살리는 bring up 또는 BSP 업무를 담당했고, 해당 업무를 하게 되면 bootloader, kernel, device driver 등의 핵심 분야를 접할 수 있습니다. 그러나 이 부분의 a~z까지 다뤄본 것은 아니고 기본 셋팅이 되어 있는 chip사의 SD.. 2020. 12. 10. 임베디드 프로그래머의 이직 준비에 도움되는 것들 임베디드 프로그래머가 어떻게 이직 준비를 하면 좋을지 지난번에 소개해 드렸는데요. 이번에는 이직을 위해 도움되는 여러 서비스들을 소개해 드리려고 합니다. (이 글에 나오는 것 모두 광고 아닙니다.) 1. 채용사이트 대표적으로 제가 아는 채용사이트는 사람인, 잡코리아, 인크루트, 인디드 취업, 원티드 등이 있습니다. 각 사이트마다 특징이 있고, 제가 근무했던 인사팀 직원분이 각 사이트마다 보는 곳이 있다고 하더라고요. 예를 들면 사람인은 인사팀이 있는 회사에서 많이 쓰고, 잡코리아는 소규모 회사의 사장님들이 많이들 보시는 그런 류의 특징들이 있답니다. 뭐 정확한 정보는 아니지만 여러 사이트에서 회사 정보나 채용 정보의 차이가 있는지 확인하시는 것이 좋습니다. 예전에는 연봉 정보 같은 것이 없었는데 요세는 .. 2020. 12. 8. 임베디드 프로그래머는 어떻게 이직 준비를 해야 되나? 임베디드 프로그래머는 어떻게 이직 준비를 해야 되나? "일단 이력서부터 정리해 보자!" "정리했다면 헤드헌터에게만 공개해서 현 상황을 확인하자!" 이직도 전략이라고 생각됩니다. 무엇이든 맡은 바 업무에 최선을 다하고 최고가 노력하고자 한다면 하루이틀 1년, 5년 시간이 지나다보면 자기도 모르는 사이 능력이, 실력이 많이 향상되어 있을 것 입니다. 하지만 마냥 시키는 것과 내가 맡은 것만 한다면 내가 선택할 수 있는 폭은 좁아지고 원하는 회사 또는 원하는 연봉을 받을 수 없는 상황이 생기기도 합니다. 그렇다면 어떻게 해야 될까? 현실적인 예를 들어드리고자 구인 사이트인 사람인에 올라온 채용 정보를 토대로 어떻게 준비를 하는 것이 좋은지 설명 드리겠습니다. 우선 현재 채용 중인 목록을 살펴 보겠습니다. 검색.. 2020. 12. 7. 임베디드 프로그래머 이직 환경은 어떠한가? 이번엔 현재 임베디드 프로그래머의 이직 환경은 어떤지 알아보겠습니다! 크게 나눠본다면 아래와 같이 2가지로 나눠볼 수 있습니다. 1. OS(linux) 유무에 따른 환경 임베디드 시스템은 크게 OS가 있는 것과 없는 것으로 구분된다고 설명드린 바 있습니다. 제 경험상 OS있는 회사를 다니다가 없는 회사로 이직은 편하나 반대의 경우는 다소 어려운 경우가 있습니다. 이유는? 더 큰 물에서 놀아본 사람은 작은 곳은 뭐 그럭저럭 쉽게 적응하지만 작은 곳에서 놀긱만 한 사람은 큰 곳에 가면 적응이 오래 걸리거든요. 그리고 OS가 있는 제품들이 더 많기 때문에 그만큼 취직할 수 있는 회사도 많이 있습니다. 2. chip에 따른 환경 임베디드 시스템이 사용되는 mcu 종류에 따라 이직이 결정되는 편 입니다. 내가 i.. 2020. 12. 6. 글쓴이의 임베디드 프로그래머 생활 어느 덧 임베디드 프로그래머로써 8년이 되어 가네요. 글쓰는 현재 기준 한달 뒤면 딱 8년 채웁니다 ㅎㅎ 8년이 얼마 안된 것 같은데 개인적으로는 벌써 8년이나 됐나… 싶네요 ㅎㅎ 전 대기업에서는 근무해 보지 않았습니다. 처음 신입 때 삼성전자에 몇 번 도전했지만 머 떨어졌습니다. 남들보다 노력하지 않았기 때문이라 생각이 됩니다 개인적으로 ㅎ 전 8년 동안 6개의 회사를 다녔습니다. 생각보다 이직을 많이 한 편입니다. 첫 회사는 1년정도 다녔고, 기차나 지하철에 설치되는 시스템 만드는 회사였습니다. 흔히 보실 수 있는 열차 도착 표시 장치나 객실에 있는 화면 등을 만드는 곳이였습니다. 일이 재밌고 없고를 떠나 처음 만났던 팀장님이 업무 분배를 제대로 해주시지 않아 이직을 결심했고, 이직 결심에 오히려 하.. 2020. 12. 5. 임베디드 프로그래머 어떤 업종으로 시작하는 것이 좋은가? 임베디드 프로그래머 업무 분야에서 여러 분야가 있다고 소개해 드렸었습니다. 그렇다면 어떤 분야를 선택하는 것이 좋을까? (이번 글 역시 주관적인 내용입니다.) Chip 제조사(반도체 회사)를 선택해 보자! Chip 제조사가 무엇인가? 말 그대로 chip을 만드는 회사를 뜻 합니다. 그럼 chip 제조사로 어느 곳들이 있는가? Qualcomm, Intel, Realtek, Broadcom, Mediatek, Nvidia 등등 있습니다. 위에 소개한 회사들은 큰 회사들에 속하며, 작은 규모의 회사들도 여럿 있습니다. 회사 종류는 구글이나 취업 사이트 등을 통해 알아보시기 바랍니다(너무 많아요…). 왜 chip 제조사를 선택하라 하는가? 임베디드 프로그래머는 임베디드 시스템과 관련된 프로그래밍을 하는 사람들 .. 2020. 12. 4. 임베디드 프로그래머에게 도움될 만한 자료들 이번 글에서는 임베디드 프로그래머가 되기 위해 결심한 분들(입문/초급) 또는 중급자로 가기 위한 기로에 있으신 분들에게 도움될 만한 사이트와 서적을 공유해 드리고자 합니다. (이번 글에서 소개드리는 서적, 사이트 등은 광고가 아닙니다. 저자가 공부한 것 알게된 것들에 대한 공유 입니다.) 정보 공유 전에 여담을 좀 풀자면 제가 학교 다닐 당시 C언어를 한다고 하면 기본적으로 거쳐야 할 단계가 있었습니다. C언어 -> WinAPI -> C++ -> MFC C/C++은 Dos base로 배우고 익히는 것이라면 WinAPI/MFC는 Windows 환경에서 GUI 프로그래밍을 배우는 단계 입니다. 또한 C, WinAPI는 절차지향 언어를 배우는 것이고, C++, MFC는 객체지향 언어를 배우는 것 입니다. 임베.. 2020. 12. 3. 임베디드 프로그래머는 어떤 것들을 알아야 할까? 이번 글에서는 임베디드 프로그래머가 되려면 어떤 것들을 알아야 하는지 알아보겠습니다. 도대체 임베디드 프로그래머가 되기 위해 알아야 할 것 즉, 어떤 지식을 알아야 하는가? 대학교의 커리큘럼을 보면 기본적인 가이드 라인을 알 수 있습니다. 공대로 유명한 한양대학교의 커리큘럼을 한번 살펴보겠습니다(제가 나온 대학은 아닙니다…). 아래의 그림은 한양대학교 소프트웨어대학 컴퓨터소프트웨어학부의 이수 체계도 입니다. 빨간색으로 표시한 것들이 임베디드 프로그래머로써 기본적으로 알아야 할 이론들 입니다(사실 "Body of Knowledge" 라고 써 있는 즉, 전공 과목들은 다 알아야 하지만 제 경험상 임베디드 프로그래머에게 필요한 것들만 말씀드립니다.). 무언가 좀 많아 보이죠? 네 많습니다. 앞선 글들에서 몇 .. 2020. 12. 2. 임베디드 프로그래머 업무 분야 앞선 임베디드 프로그래머에 대한 소개글에 다양한 분야가 있다고 설명드렸는데 오늘은 좀 더 자세한 설명을 드리겠습니다. 이번 글은 제가 프로그래머 생활하면서 경험하고 알게 된 것을 바탕으로 설명드리기에 주관적인 내용이며, 임베디드 프로그래머의 업무 분야가 어떻게 되는지 가이드라인 정도 될 것 같습니다. 업무 분야를 크게 두 가지로 나눠볼 수 있습니다. 1. OS(Operating System)가 있는 분야 2. OS가 없는 분야 위 두 가지 사항을 가지고 설명드리겠습니다. 1. OS가 있는 분야 휴대폰과 컴퓨터를 사용 안해보신 분이 아니라면 OS가 대충 어떤 것인지는 아실 것이라 생각됩니다. 휴대폰에 사용되는 대표적인 OS는 안드로이드(Android)가 있고, 컴퓨터에는 윈도우(Windows)가 있습니다... 2020. 12. 1. 임베디드 프로그래머(Embedded Programmer)란? 임베디드 프로그래머(embedded programmer)란? 휴대폰이 동작할 수 있게, 컴퓨터를 쓸 수 있게 처음을 담당하는 프로그래머 과장되게는 사람의 뇌를 만들고 동작할 수 있게 한다! 임베디드(embedded)의 뜻은 명사로는 내장형, 동사로는 끼워 넣다 등의 뜻이 있습니다. 프로그래머(programmer)의 뜻은 단어 그대로 컴퓨터 프로그래머를 뜻하지만 좀 더 쉽게 말하자면 각 종 전자기기를 동작시키거나 시스템(ex. Windows)에서 동작하는 프로그램, 앱 등을 만드는 사람들을 뜻 합니다. 임베디드 프로그래머는 임베디드 시스템이 동작할 수 있게 프로그래밍 해주는 역할을 합니다. 여기서 임베디드 시스템이란 내장된 시스템이란 뜻으로 어떠한 전자기기를 제어하기 위한 컴퓨터 시스템을 뜻 합니다. 쉽게.. 2020. 11. 30. 이전 1 2 3 4 다음 728x90 반응형 LIST