컴퓨터공학 dhson 2022. 9. 21. 18:00
dead code 제거 : 도달되지 않는 코드, 컴파일러 입장에서 불필요한 코드라고 판단되는 코드는 삭제해버린다. : 휘발성의, 변덕스러운, 순간적인 변수의 값은 현재 프로그램 내에서 뿐만 아니라 다른 프로세스나 하드웨어에 의해서 변할 수도 있다. 이러한 경우, 현재 프로그램 내에서는 이 변수의 값이 전혀 변하지 않는 것처럼 보인다. 컴파일러 눈에는 현재 프로그램 소스만 보이기 때문에 변수가 다른 요소에 의해서 변한다는 것을 이해할 수 없다. 그러므로 최적화를 수행하면 메모리로부터 새로운 값을 읽어오지 않고, 기존의 초기 값으로 프로그램을 수행시킨다. #define TEMP (*(unsigned int *)0x001) //온도센서가 사용할 주소 void main(void) { int a[10],i,j; ..
더 읽기
컴퓨터공학 dhson 2022. 9. 21. 12:00
십진수 3 = 011 (2) ->LED2,3의 불이 켜지도록 한다. 해당 포트에 0을 쓰면 ON, 1을 주면 OFF char *p = (char *)0x30000000; void init(void); void display(int digit); void main(void) { int I,j; init(); while(1) { for(i=0;i
컴퓨터공학 dhson 2022. 9. 21. 06:00
마이크로프로세서는 주변장치를 단순 메모리로 인식한다. (주변장치로부터 데이터를 받을 때는 마치 메모리에 읽거나 쓰는 것처럼 처리한다) memory mapped I/O : 입출력 장치들이 사용하는 메모리가 따로 정해져 있지 않아 개발자가 직접 지정 I/O mapped I/O : 입출력 장치들이 사용하는 메모리가 미리 정해져있어서 지정된 메모리를 사용 입출력포트 : 외부에서 데이터가 입력되거나 외부로 데이터를 출력하는 과정을 중간에서 연결지어준다. char *p = (char *)0x30000000; /*메모리 3000_0000번지로부터 1바이트를 할당 받아서 지정된 포트를 사용할 수 있다. 여기는 LED연결*/ *p = 0; //레지스터 클리어, 모든 LED켜짐 *p |= 0x1
컴퓨터공학 dhson 2022. 9. 21. 00:08
임베디드 시스템 : 범용의 목적이 아닌 정해진 용도에 국한된 기능을 제공해준다. 범용의 목적이 아니므로 각 시스템은 특수 목적을 가지고 제작되기 때문에 시스템을 구성하는 장치나 소프트웨어가 제한적이다. 대부분의 임베디드 시스템은 하드웨어와 소프트웨어를 병행하여 개발 임베디드용 프로세서는 PC용과 다를까? 그렇다 ARM , MIPS, StrongARM, SA1110, PPC, PXA255 실시간성을 제공하는 시스템에서는 고성능 프로세서가 필요, 이동성을 고려해 전력소모 작아야 하고, 가격도 싸고, 크기도 작아야 한다. PC용 소프트웨어를 개발할 때는 개발환경 = 실행환경 (개발하는 시스템의 프로세서와 프로그램이 실행될 시스템의 프로세서가 같다)-> 네이티브 개발환경 임베디드 소프트웨어 개발할 때 개발환경 ..
컴퓨터공학 dhson 2021. 6. 18. 22:43
IPv6 주소를 할당하는 방법에는 크게 3가지가 있다. Manual Configuration Stateless Address Configuration (SLAAC) Stateful Address Configuration (DHCPv6) Manual Configuration 은 수동으로 IP를 할당하는 방법이다. 관리자(또는 사용자)가 IPv6 주소를 수동으로 입력하는 방식으로, 항상 동일한 IP를 사용할 때 이용한다. 나머지 방법 2개는 자동으로 할당받는 방식이다. Stateless Address Configuration (SLAAC)은 단말 호스트가 알아서 IP 주소를 획득하는 방법이다. IP를 자동으로 할당받기 위해서는 할당을 해주는 DHCP 서버가 있어야 하는데 Stateless 방식은 DHCP 서..
컴퓨터공학 dhson 2020. 6. 12. 22:39
이번 글에서는 라즈베리 파이를 어떻게 설치하고 사용하는지에 대해 소개하겠습니다. 라즈베리 파이3은 3세대 라즈베리 파이 모델입니다. 이 모델은 2016년 2월에 라즈베리 파이 2 모델B를 대체하게 되었습니다. 이 글에서는 라즈베리 파이3을 사용할 것 입니다. HDMI 단자가 있는 모니터 또는 TV를 라즈베리 파이의 디스플레이로 사용할 수 있습니다. HDMI-HDMI 케이블이 필요할 것 입니다. USB 키보드와 USB 마우스를 사용할 수 있습니다. microB USB 전원도 필요합니다. 라즈베리 파이에 운영체제와 데이터를 저장하기 위해서 microSD 카드가 사용됩니다. 라즈베리 파이는 새로 구매를 하면 운영체제가 없는 빈 컴퓨터입니다. 따라서 사용자가 직접 운영체제를 다운받아 설치를 해야 합니다. 많은 ..
컴퓨터공학 dhson 2020. 6. 3. 23:20
이번 글에서는 라즈베리 파이를 소개합니다. 라즈베리 파이도 앞에서 다룬 아두이노처럼 IoT 앱을 개발하는데 자주 사용되는 디바이스 개발 플랫폼입니다. 이번 글은 다음 순서와 같이 진행됩니다. 우선 라즈베리 파이가 무엇인지 알아보겠습니다. 그리고 라즈베리 파이의 하드웨어 구성에 대해 설명을 드리겠습니다. 라즈베리 파이에 사용되는 소프트웨어를 소개한 후, 라즈베리 파이를 이용한 재미있는 프로젝트들을 보여드리며 마무리하겠습니다. 라즈베리 파이란 무엇일까요? 라즈베리 파이는 영국의 라즈베리 파이 재단이 학교와 개발 도상국에서 기초 컴퓨터 과학의 교육을 증진시키기 위해 개발한 작은 크기의 싱글 보드 컴퓨터입니다. 라즈베리 파이는 TV나 키보드와 연결이 가능한 신용카드 크기의 컴퓨터입니다. 전자 공학 프로젝트, 그..
컴퓨터공학 dhson 2020. 5. 15. 11:25
이번 글에서는 센서를 이용해서 거리를 측정하는 실습을 해보겠습니다. 이번 시간에 사용할 센서는 적외선 거리 센서입니다. 이 센서는 적외선을 이용해서 장애물과의 거리를 측정할 수 있게 합니다. 장애물과의 거리를 10cm 전후부터 80cm까지 감지할 수 있습니다. 10cm 거리에 있는 장애물을 측정할 때는 약 3.1V의 아날로그 출력 전압을 가지고 80cm거리에 있는 장애물을 측정할 때는 약 0.4V의 출력전압을 가집니다. 그래서 10cm에서부터 80cm까지 사이의 거리들은 0.4V부터 3.1V의 아날로그 출력 전압을 가지게 됩니다. 실제 측정 시, OUTPUT으로 출력 전압이 몇 볼트인지 나오는 건 아니고 0부터 1023사이의 값으로 변환되어 나옵니다. 그래서 0부터 1023 사이의 아날로그 출력 전압을 ..