Slide 1

Slide 1 text

Ubuntu에서 임베디드 개발하기

Slide 2

Slide 2 text

Windows 기반 IDE 및 툴

Slide 3

Slide 3 text

3 임베디드 개발

Slide 4

Slide 4 text

4 임베디드 개발

Slide 5

Slide 5 text

5 임베디드 개발 Windows 기반의 개발 툴들

Slide 6

Slide 6 text

6 임베디드 개발

Slide 7

Slide 7 text

7 임베디드 개발 Windows 기반의 프로그래밍/양산 툴들

Slide 8

Slide 8 text

이제 리눅스에서도 임베디드 개발 할 수 있다!

Slide 9

Slide 9 text

많아지는 공식 IDE

Slide 10

Slide 10 text

10 많아지는 공식 IDE Arduino IDE Various Arduino based SDK AVR, ESP32, ARM, etc...

Slide 11

Slide 11 text

11 많아지는 공식 IDE Segger Embedded studio Various MCU, Nordic nRF series

Slide 12

Slide 12 text

12 많아지는 공식 IDE Espressif-IDE ESP32 Series

Slide 13

Slide 13 text

13 많아지는 공식 IDE Renesas e2 studio RL78, RX, RA, RE, RZ

Slide 14

Slide 14 text

14 많아지는 공식 IDE Espressif-IDE ESP32 Series

Slide 15

Slide 15 text

15 많아지는 공식 IDE STM32CubeIDE STM32 Series

Slide 16

Slide 16 text

16 많아지는 공식 IDE MCUXpresso IDE NXP LPC Series NXP Kinetis Series NXP MCX Series

Slide 17

Slide 17 text

17 많아지는 공식 IDE Quartus Prime Intel (Altera) CPLD, FPGAs

Slide 18

Slide 18 text

18 많아지는 공식 IDE MPLAB X IDE For PIC, AVR

Slide 19

Slide 19 text

많아지는 MCU용 도구들

Slide 20

Slide 20 text

20 많아지는 MCU 도구들 Segger Ozone

Slide 21

Slide 21 text

21 많아지는 MCU 도구들 Segger J-Link Utility J-Flash, J-Link GDB Server,...

Slide 22

Slide 22 text

22 많아지는 MCU 도구들 STM32CubeProgrammer MP Tool for STM32

Slide 23

Slide 23 text

편리한 디버깅

Slide 24

Slide 24 text

24 커널 디버그 메시지

Slide 25

Slide 25 text

25 커널 디버그 메시지

Slide 26

Slide 26 text

리눅스 시스템 설정하기

Slide 27

Slide 27 text

27 커널 디버그 메시지 설정

Slide 28

Slide 28 text

28 커널 디버그 메시지 설정 생성 /etc/sysctl.d/10-local.conf 작성 kernel.dmesg_restrict=0 저장 재부팅

Slide 29

Slide 29 text

29 커널 디버그 메시지 설정

Slide 30

Slide 30 text

30 rules 파일

Slide 31

Slide 31 text

31 rules 파일

Slide 32

Slide 32 text

32 lp, dialout 그룹

Slide 33

Slide 33 text

33 lp, dialout 그룹 설정하고 나서 재부팅을 꼭 해줄 것! 그렇지 않을 경우 반영이 안됨!

Slide 34

Slide 34 text

Linux 임베디드 유틸리티

Slide 35

Slide 35 text

35 Minicom

Slide 36

Slide 36 text

36 Minicom

Slide 37

Slide 37 text

37 CuteCom

Slide 38

Slide 38 text

38 CuteCom

Slide 39

Slide 39 text

Eclipse 설정하기

Slide 40

Slide 40 text

40 Eclipse

Slide 41

Slide 41 text

41 Eclipse

Slide 42

Slide 42 text

42 Eclipse Window → Preferenes 로 설정 창 진입. 대부분의 Eclipse 기반 IDE는 이런 식으로 설정 창에 진입함.

Slide 43

Slide 43 text

43 Eclipse Content Assist

Slide 44

Slide 44 text

44 Eclipse Windows 키 바인딩 Ctrl + Space Linux 키 바인딩 Alt + / 기본 값이 다름.

Slide 45

Slide 45 text

45 Eclipse C/C++ → Editor → Contst Assist 에서 Content Assist 세부 설정 Delay (ms)를 1로 설정하면 쾌적한 Content Assist 호출 가능

Slide 46

Slide 46 text

46 Eclipse Code Formatter로 들여쓰기 및 띄어쓰기 설정. 클래스나 연산자 별 띄어쓰기 등 세세한 부분까지 설정.

Slide 47

Slide 47 text

47 Eclipse 전체 선택 후 Source → Format 하면 설정한 대로 자동 코드 포맷

Slide 48

Slide 48 text

48 Eclipse 전체 선택 후 Source → Format 하면 설정한 대로 자동 코드 포맷

Slide 49

Slide 49 text

49 Eclipse Scalability Settings 관련 많은 줄 수의 파일이 열렸을 때 파서를 정지시키는 기능. 사양이 충분하다면 필요 없다.

Slide 50

Slide 50 text

50 Eclipse Scalability Settings 관련 많은 줄 수의 파일이 열렸을 때 파서를 정지시키는 기능. 사양이 충분하다면 필요 없다.

Slide 51

Slide 51 text

51 Eclipse 비활성화하고 싶다면 Enable scalibity mode 의 숫자를 늘릴 것. Ex) 5000 → 5000000

Slide 52

Slide 52 text

52 Eclipse Problem 탭을 사용하여 오류 검출하기

Slide 53

Slide 53 text

앞으로의 임베디드 도구

Slide 54

Slide 54 text

54 VS Code, Theia https://youtu.be/guNg5OVhakU

Slide 55

Slide 55 text

55 VS Code, Theia 새로운 Arduino IDE 는 Theia 기반, Theia는 이클립스 재단에서 VS Code를 고친 것.

Slide 56

Slide 56 text

56 VS Code, Theia IAR 빌드 도구의 Linux, VS Code 지원

Slide 57

Slide 57 text

Q&A

Slide 58

Slide 58 text

Thanks!