일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- sqlite
- zynq
- ubutu
- ATMEGA128
- avr
- #채터링
- SQLite Studio
- petalinux
- #시리얼통신
- #UART
- Linux
- Database
- Interrupt
- ubuntu
- 인터럽트
- Embedded linux
- git
- #MCU
- xilinx
- github
- #CLCD
- #문자열
- #Atmega128
- #PuTTY
- #ComportMaster
- #textLCD
- Today
- Total
목록분류 전체보기 (16)
재잼재잼의 티스토리
나는 지금까지 AVR, ARM, Arduino와 같은 MCU에 non-OS 펌웨어만 개발해 왔었다. Xilinx FPGA에 대해서는 들어본적도 없었고, Zynq라는게 있는지도 몰랐다. "임베디드 리눅스"에 관해서는 굉장히 필요한 기술이라 생각은 했지만, 혼자서 접근하기에는 어려움이 있어 계속 미뤄왔었다. 드디어 이 임베디드 리눅스를 하지않고는 안되는 상황이 와버렸다. 그것도 한번도 들어본적도 없는 ZynQ라는 SoC로 말이다. 한국자료도 많이 없고, Xilinx에서 제공하는 매뉴얼이나 유저가이드, 포럼을 참조하면서 할 수밖에 없어서 작은 것 하나 하는데도 시간이 많이 걸리고 어려운 부분이 많다. 보드에 리눅스를 올려서 부팅하는 것만해도 꽤 오랜시간이 걸린 것 같다. 아직 개념이나 동작 원리 같은 것도 자..
최근에 진행하는 프로젝트가 리눅스 환경에서 개발을 많이 진행해서 git을 사용해야겠다고 생각했다. 윈도우에서도 GUI를 사용해와서 bash는 조금 익숙하지 않아서 GUI툴을 찾아보았는데, "Smart Git"이라는 프로그램이 있었다. Smart Git을 사용하기로 했다. 다운로드 페이지 : https://www.syntevo.com/smartgit/download/ SmartGit Downloads Dark Theme SmartGit supports an operating-system independent dark theme, which was our #1 requested feature on smartgit.userecho.com. Interactive Rebase SmartGit allows to b..
Qt 프로그램에 DB를 연결하기 전에 SQLite를 사용하여 DB 파일을 먼저 만들어야 한다. 터미널 창에서 sqlite3를 입력하여 생성해도 좋고, SQLite Studio를 사용하여 만들어도 좋다. 나는 SQLite Studio를 사용해서 데이터베이스 파일을 만들 예정. 1. SQLite Studio를 열고, 상단에 "add a database"를 눌러 데이터베이스를 먼저 생성함 2. Create the table 을 눌러서 새로운 테이블 생성. 3. Add column을 눌러서 새로운 column을 생성. 기본키, NOT NULL과 같은 설정을 할 수 있음. 위와 같이 추가했을 경우, 녹색 체크박스(commit ~~~)를 눌러서 변경사항을 적용할 수 있다. 이렇게 생성한 데이터베이스는 파일로 저장되..
최근에 Ubuntu환경에서 QT Creator를 사용하여 GUI프로그램을 만들고 있는데, 데이터 베이스를 사용할 일이 있어서 sqlite3 설치과정을 남기려 한다. OS : Ubuntu 18.04.2 LTS 1. SQLite3 설치 터미널에서 아래 명령어를 사용하여 sqlite3를 설치할 수 있다. #sudo apt-get install sqlite3 터미널에 "sqlite3"를 입력하여 정상적으로 설치가 되었는지 확인할 수 있다. 2. SQLite Studio 설치. SQLite Studio는 sqlite3를 GUI환경으로 사용할 수 있도록 해주는 프로그램. https://sqlitestudio.pl/index.rvt?act=download SQLiteStudio - Downloads Lastest s..
MCU를 사용할 때, 중요하게 사용되는 인터럽트에 관한 내용이다. 인터럽트는 쉽게 정상적인 작업을 수행하는 도중에 비정상적인 이벤트가 발생하면, 수행하던 작업을 잠시 중단하고 발생한 이벤트에대한 처리를 수행한다. 이벤트 처리가 완료되면 다시 정상적인 작업으로 복귀하여 중단된 작업을 다시 수행하는 형태로 동작한다. 이때 발생하는 비정상적인 이벤트를 "인터럽트"라고 하고, 이를 처리하기 위해 실행되는 일련의 과정을 ISR(Interrupt Service Routine)이라고 한다. 데이터 시트를 보면, ATmega128에서 발생하는 내부, 외부인터럽트에 대한 내용이다. 전부 35개의 인터럽트가 있는데, 인터럽트 벡터 번호가 낮을 수록 높은 우선순위로 동작한다. 즉, ADC를 예로 들면 ADC변환 완료 인터럽..
ADC에 대해서 알아보자. 이름그대로 Analog Digital Converter로, 아날로그 입력값을 디지털 값으로 바꿔주는 역할을 한다. MCU로 입력되는 대부분의 값은 아날로그의 전압값으로, MCU에서 처리하기 위해서는 디지털 값으로 변환해주어야하는데 이를 ADC가 수행한다. ATmega128에는 총 8개의 ADC채널이 있고, 이들은 하나의 멀티플렉서에 연결되어 있기 때문에 한번에 하나의 ADC채널을 사용할 수 있다.ㅣ 또한 10bit의 ADC를 가지고 있기 때문에 입력되는 아날로그 값을 0~1023의 값으로 표현할 수 있다. 값을 변환하기 위해서는 변환의 기준이 되는 값이 있어야하는데, 이는 AVCC, AREF, 내부 2.56V 3가지 중에서 선택할 수 있다. AVCC는 5V, AREF는 외부에서..
앞에서는 CLCD에 관해서 사용하는 방법에 대해서 알아보았는데, 실제로 사용하는 것도 필요할 것 같다. 이번에는 그냥 화면에 출력하는 것이지만, 어떻게 동작을 하는지 생각하면서 자세하게 알아보려한다. 먼저 LCD드라이버의 블록다이어그램을 살펴보자. LCD 드라이버중 HD44780의 블록다이어그램이다. 다른 드라이버도 많지만,, 대부분 거의 비슷하게 동작하기 때문에 이해하기 편한것을 가져왔다.... 먼저, DDRAM과 CGROM, CGRAM을 보자. DDRAM(Display Data RAM)은 이름에서도 알 수 있듯이 화면에 출력할 데이터를 저장하는 RAM이다. 지금 사용하고 있는 16 * 2의 LCD는 16글자씩 총 2줄로 표현할 수 있는데, 각각의 칸마다 주소가 정해져 있다. 이것이 DDRAM의 주소다..
이번에는 MCU에서 데이터를 출력하기 위한 LCD에 대해서 알아보자. 16 * 2 CLCD를 사용한다. 1602 LCD 되겠다. 어디서든 쉽게 볼 수 있는 LCD고, 총 16개의 핀이 있다. VSS, VDD, V0, RS, RW, E, D0~D7, A, K 각각의 핀은 위와 같은 역할을 수행한다. LCD에 전원 공급을 위해서 1, 2, 3번 핀은 꼭 연결해 줘야하며, MCU에서 제어하기위해서는 4, 5, 6번 핀과, 7~14번 핀(8bit모드) 또는 11~14번 핀(4bit 모드)을 연결해 주어야한다. 15번, 16번은 꼭 LCD백라이트 핀으로 연결하지 않아도 동작에는 지장이 없지만 사람이 보는데 지장이 생긴다. 위 사진 처럼 잘 보기 힘들다. 그러니까 꼭 연결해주도록 하자... -------------..