검색결과 리스트
글
우분투 사용중 안보이거나 깨진 언어가 나올 때 언어 설치방법
우분투가 상당히 매력적인 부분 중 하나라면 다양한 언어를 지원해준다는 점입니다. 심지어 이렇게 한글도 제공하는 환경인 것을 보면 우분투는 이름 그대로 공동체 정신을 담고 있는 것은 아닌가 싶습니다.
우분투를 사용하다가 종종 괴랄하게 등장하는 언어들이 보입니다. 이는 자신의 우분투에 해당 언어가 설치되어 있지 않아 보이지 않는 현상입니다.
위키피디아를 사용하던 중 생전 처음보는 괴랄한 글자들이 보시는 바와 같이 튀어나오고 있습니다. 과연 이 언어는 무엇일까요
잠시 한글위키로 넘어온 후 다른 언어로 된 위키백과 모두 보기를 눌러봅니다.
언어 목록들 중 유독 글자가 깨져서 보이는 것이 하나 보입니다. 써있기로는 Burmese라 되어 있군요,
확인해보니 해당 글은 버마어(미얀마어)였습니다. 이렇게 자신의 우분투 환경에서 존재하지 않는 언어를 확인하셨다면 해당 언어를 찾아 우분투에 설치하도록 합니다.
우분투의 시스템 설정 메뉴로 들어가신 후 언어 지원을 클릭합니다.
다음으로 '언어 설치/제거' 버튼을 눌러줍니다.
설치할 언어들의 목록들이 펼쳐지는 것을 보실 수 있습니다. 우리는 이 곳에서 버마어(미얀마어)를 추가합니다.
자신의 슈퍼유저 암호를 입력하시면 해당 언어의 설치가 시작됩니다.
해당 언어를 설치하신 후 우분투를 리셋하시면 깨져 보이지 않던 언어가 드디어 모습을 드러내게 됩니다.
'공대생의 팁' 카테고리의 다른 글
컴퓨터가 대기모드 되자마자 바로 풀릴 때 해결방법 (0) | 2015.04.05 |
---|---|
우분투에서 인터넷창을 통해 윈도 미디어 플레이어 관련 영상 보는 방법 (0) | 2015.04.04 |
티스토리 블로그를 반년간 하면서... (0) | 2015.03.12 |
[VMware] NX / XD is required. The processor must support and it must be enabled in the BIOS. (0) | 2015.02.21 |
Windows XP에서 DOS 파일 실행시 EMS 문제 해결방법 (0) | 2015.01.26 |
설정
트랙백
댓글
글
Timer를 활용하여 특정 파형간 간격 측정방법
아날로그 회로를 사용할 때 알고 싶은 정보들 중 하나로 특정 파형 간의 간격을 시간으로 구하는 것일겁니다. 그런데 이 파형이 간헐적이라면 사람의 감으로 대략적으로 알 수 있겠습니다만 1MHz 정도 되는 파형으로는 절대 사람의 힘으로는 알 수 없을 것입니다. 이러한 파형을 측정하기 위해 사용되는 것이 바로 MCU에서 사용되는 Timer와 Counter이지요.
2015년 현재 웨어러블이 주목받고 있습니다. 사람의 몸에 직접 착용하여 사용하는 기기이다 보니 사람의 생체를 활용한 기능들이 속속 선보이고 있습니다. 삼성전자의 갤럭시워치에는 심전도 측정 기능이 등장하였는데요 심박수를 측정할 때도 이 Timer가 쓰이는 것이지요.
2015년 현재의 대표적인 상징물이라 할 수 있는 스마트워치
심전도, 만보계 등 생체를 활용한 기능들이 활용되고 있다.
이번 포스팅에서는 특정 파형에서 원하는 구간을 측정하여 해당 구간의 시간 간격을 타이머로 구하는 방법에 대해 이야기하려 합니다. 파형으로 심전도 측정값을 활용하여 진행해 보도록 하겠습니다.
다음과 같이 특정한 파형이 있다고 가정해 봅시다. 우리는 위 파형에서 보이고 있는 Peak 값을 구해볼 것입니다. MCU에서 해당 부분만 검출하기 위해서 아날로그 비교기(Analog Comparator)를 통해 검출해내 보겠습니다.
여기서 잠시 Analog Comparator의 동작 방식에 대해 간단하게 이해를 하고 넘어가겠습니다.
Analog Comparator은 기본적으로 2개의 입력과 1개의 출력으로 구성되어 있습니다. 이 때 Vin+을 Input1로, Vin-을 Input2라 가정합니다. 쉽게 설명하자면 Input1과 Input2의 전압차이가 +일 경우 Output의 값은 1이 되며 Input1과 Input2의 전압차이가 -가 될 경우 Output의 값은 0이 됩니다. 아래는 Analog Comparator을 사용한 입출력값과 결과값을 나타냅니다.
출력결과를 확인하시면 우리들이 흔히 접하는 0과 1의 디지털 파형이 되는 것을 보실 수 있습니다. 이제 이 Output값을 이용해서 우리는 각 1이되는 값 사이의 간격을 측정해 볼 것입니다. 여기서 Output의 파형을 상세하게 보도록 하겠습니다.
아날로그 파형에서 자신이 측정하고자 하던 파형 사이의 간격은 다음과 같이 측정하면 될 것입니다. 이 때 파형을 측정하는 방법을 다음과 같이 4가지로 보실 수 있습니다.
1. 파형이 1이 될 때
2. 파형이 0이 될 때
3. 파형이 Positive Edge(0에서 1로 올라가는 순간)이 될 때
4. 파형이 Negative Edge(1에서 0으로 내려가는 순간)이 될 때
Interrupt를 공부하신 분이라면 이 부분에서 '아하!'하고 이해하실 수 있을 것입니다. 그렇습니다. 출력 부분을 Interrupt 처리가 가능한 입력 부분에 연결하실 후 Positive Edge가 발생하는 순간부터 Timer를 동작시켜 시간을 측정하신 후 그 다음 Interrupt가 들어오는 순간 Timer의 동작을 종료시킨 후 해당 값을 확인하시면 파형간 간격을 측정하실 수 있으실 것입니다.
'임베디드 > MCU' 카테고리의 다른 글
Infineon AURIX TC237 사용기(2) - TriCore™ 컴파일 후 프로그램 실행 (5) | 2016.06.26 |
---|---|
Infineon AURIX TC237 사용기(1) - TriCore™ Entry Tool Chain 설치하기 (1) | 2016.04.26 |
MCU 입력으로 설정한 핀의 값이 일정하지 않을 때(Floating) (1) | 2014.07.27 |
mcu를 활용한 진동모터 회로 설계 (0) | 2014.07.25 |
I2C(TWI) 통신 (2) | 2014.07.24 |
설정
트랙백
댓글
글
안드로이드 프레임워크 프로그래밍(13) [커널이미지 적용후 부팅화면만 나올 때 대처법]
AOSP를 알면 알수록 참으로 심오한 안드로이드의 신비를 몸소 느끼고 있습니다. 아마 이 포스팅을 보시는 여러분들도 안드로이드의 구조에 대해 열심히 공부하고 계시리라 생각합니다. 이번 포스팅에서는 프로그래밍 도중 일어날 수 있는 무한 부팅모드에 대해 이야기를 해보려 합니다.
안드로이드 기기를 켰을 때 부팅화면이 나오게 되는데 이 상태에서 안드로이드 기기는 설정되어 있는 시스템들을 모두 구동될 때 까지 준비중이라는 의미로 부팅화면을 띄우는데요. 간혹 특정 코드 부분을 코딩하다보면 의도치 않게 보시는 바와 같이 무한 로딩 상태에 빠지는 경우가 있습니다.
아마 위의 화면처럼 안드로이드의 부팅화면이 반복되는 것을 본다면 혹시 고장은 아닌가 하는 걱정이 들 것입니다. 이는 eclipse를 실행 후 Logcat 화면을 확인해 보시면 분명 기기는 동작중이긴 한데 특정 부분에서 exception이 벌어지고 있는 것을 보실 수 있습니다.
과연 이 경우는 어떤 경우일까요? 가장 큰 요인은 자신이 수정한 부분에서 문제가 발생하였을 때 이러한 현상이 주로 발생합니다. 비록 단순하지만 다음과 같이 대처하시면 원인을 찾으실 수 있으실 겁니다.
1. 일단 자신의 기기의 전원버튼을 계속 누르셔서 기기를 종료합니다. 어떤 기기의 경우 전원이 꺼지자마자 바로 부팅모드에 진입하는 경우가 있는데 그런 경우 그냥 처음부터 bootloader 모드로 진입하도록 합니다.
2. 커널 이미지를 적용하기 직전 자신이 작성한 소스코드 부분들을 모두 주석처리합니다. 그런 다음 다시 컴파일을 시도하신 후 이미지를 bootloader에 진입한 기기에 적용합니다.
3. 주석처리한 코드를 꼼꼼히 살피면서 주석을 한 줄씩 지워가며 문제가 발생한 부분을 찾습니다. 거의 이 단계에서 무안 부팅모드에 빠지는 코드를 찾아내실 수 있으실 겁니다.
'안드로이드 > 프레임워크' 카테고리의 다른 글
안드로이드 Native 코드 분석 : DECLARE_META_INTERFACE() (0) | 2015.03.28 |
---|---|
안드로이드 Native 코드 분석 : IMPLEMENT_META_INTERFACE() (0) | 2015.03.27 |
안드로이드 프레임워크 프로그래밍(12) [IServiceManager 등록과정] (1) | 2015.03.23 |
안드로이드 프레임워크 프로그래밍(11) [JAVA 프레임워크와 Native 프레임워크 연결 원리] (2) | 2015.03.18 |
안드로이드 Native 코드 분석 : sp<> - Smart Pointer (0) | 2015.03.02 |