일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TI
- RTOS
- Embedded System
- m4
- 임베디드시스템
- 초보개발자
- 아트웍
- terminal
- bldc
- MAC OS
- easyeda
- CCS
- TM4C123GXL
- Programming
- 8051
- mcu
- 7 세그먼트
- TM4C123
- 모두의연구소
- Developer
- PCB
- 마이컴
- St
- JLCPCB
- 임베디드
- EMBEDDED
- GPIO
- Arm
- IoT
- 전자공학
- Today
- Total
목록EMBEDDED (10)
Engineering Agit
◈ 여는 글 본 카테고리는 RTOS의 이론적인 공부 내용을 담는다. 1. Real-time embedded system 실시간 임베디드 시스템은 '실시간 시스템'과 '임베디드 시스템'의 특성을 동시에 갖고 있다. 1-1. Real-time system 실시간 시스템은 다음과 같이 정의된다. "실시간장치를 시스템을 계속 감시하여 장치의 상태가 바뀔 때 그와 동시에 제어동작을 구동시키는 시스템" 실시간 시스템은 하나의 controlling system과 하나 이상의 controlled system으로 구성된다. Controlling system과 controlled system의 상호작용은 다음과 같이 세 가지로 볼 수 있다. 1) Periodic interaction 상호작용이 주기적인 경우에는 contr..
◈ 여는 글 Interrupt에 관한 프로그래밍을 하다 startup code에 다음과 같이 적혀있는 함수들을 본 적이 있을 것이다. . . . //Weak Function Deffinitions, can be written / declared in other files extern void SVC_Handler(void) __attribute__((weak)); // SVCall Handler extern void DebugMon_Handler(void) __attribute__((weak)); // Debug Monitor Handler extern void PendSV_Handler(void) __attribute__((weak)); // PendSV Handler extern void SysTic..
◈ 본문에 들어가기 앞서 본 게시물은 GPIO 기본적인 input, output 설정에 관한 code analysis를 다룬다. 2020/08/22 - [Embedded Lab. @ Modu inst./2020 Session 02 (2020.06~)] - [Session 02 TM4C123GXL Study 02] - GPIO 03 [Session 02 TM4C123GXL Study 02] - GPIO 03 ◈ 본 글은 지난 '[Session 02 TM4C123GXL Study 02] - GPIO 02'에 이어진다. 2020/08/07 - [Embedded Lab. @ Modu inst./2020 Session 02 (2020.06~)] - [Session 02 TM4C123GXL Study 02] - G..
◈ Introduction 본 프로젝트는 8051 중 AT89S52를 main controller로 활용하기 위한 프로젝트이다. 이 프로젝트를 통해 8051에 대해 공부했던 지식을 십분 활용할 것이다. 8051은 현재 시중에 나와 있는 고성능의 MCU보다는 단순한 구조의 MCU이다. 이 때문에 복잡한 구조의 시스템을 만들기에는 한계가 있고 별도의 IC 칩들을 이용해주어야한다. 하지만 이를 이용하여 전체적인 프로젝트를 계획, 설계, 제작하여 차후의 공부를 위한 발판이 될 수 있기에 필요 이상의 복잡한 MCU가 아닌 8051을 선택한 것이다. 계획서의 구조는 ' IEEE STD 830-1998'를 참고하여 작성하도록한다. 계획서는 대략적인 내용만을 담고 있기 때문에 세부사항들은 별도의 게시물로 작성될 예정이..
◈ 본 글은 지난 '[Session 02 TM4C123GXL Study 02] - GPIO 02'에 이어진다. 2020/08/07 - [Embedded Lab. @ Modu inst./2020 Session 02 (2020.06~)] - [Session 02 TM4C123GXL Study 02] - GPIO 02 2. Interrupt control 각각의 GPIO 핀의 interrupt는 7개의 register들에 의해 제어된다. 이들 register들은 interrupt source, interrupt 우선순위, 그리고 edge property들(interrupt 인식을 rising-edge에서 할 것인지, falling-edge에서 할 것인지 아니면 이 두개가 결합된 형태로 할 것인지)을 선택하는 ..
◈ Introduction to the project 본 카테고리 '2019 Robotic Arm project'는 2019년도 하반기에 진행되었던 개인 프로젝트의 내용을 담고 있다. 1. Hardware specification Robotic arm의 구조는 위의 초안 그림처럼 4-DoF이다. 1 개의 stepper motor와 3개의 servo motor가 사용된다. 이를 기구학적으로 분석하기 위해서 FBD(Free Body Diagram)를 그렸으며 아래의 그림과 같다. 이를 그리기 위해 DH(Denavit-Hartenburg) convention을 사용하였다. W = Robotic arm이 드는 물체의 무게 w1, w2 = 서보모터의 무게. 동일한 서보를 사용할 것이므로 동일 (55g) m1, m..
◈ Embedded system의 SW를 설계하는 방식에는 크게 3가지가 있다. 첫번째는 machine language(0과 1로 이루어진 언어)로 프로그래밍하는 것이다. 이 방식은 system이 작동하기에 가장 효율적인 코드를 짤 수 있다는 장점이 있지만 그 방법이 어렵고 프로그램의 가독성이 좋지 못하다. 두번째는 assembly language이다. 이 방식은 machine language보다는 프로그래밍이 쉽고 가독성도 좋으며 한 줄 한 줄이 한 개의 instruction이므로 작동시간을 계산하는 것이 가능하다. 세번째는 C/C++과 같은 고급언어이다. 이번 session에서는 코딩시에는 C를 이용할 것이며 동작체크 시와 instruction 수행시간등을 체크하는 용도로 assembly langua..
#3 Function Description 각각의 GPIO port는 위의 두 그림과 같이 동일한 물리적인 block으로 분리되어있다. 우리가 다루는 TM4C123GH6PM의 경우에는 GPIO port가 6개 존재하므로 이러한 물리적인 GPIO block이 6개 존재한다. 주의할 것은 모든 포트의 핀들이 이것에 심어져있는 것이 아니라는 점인데, 어떤 핀들은 on-chip peripheral module들의 I/O signal 기능을 한다. 예를들어 GPIO 핀이 alternate HW function으로 사용되는 것은 아래의 표에서 찾아볼 수 있다. 1. Data control 위의 그림에서 GPIODATA reg.와 GPIODIR reg.가 이에 해당된다. 이들 register들은 GPIO의 작동 mo..
1. CCS (Code Composer Studio) Texas Instruments의 IDE로 Eclipse기반이다. 대부분의 Code editing 작업과 complie, debugging 및 다운로드 작업을 이곳에서 진행한다. 2. TI Cloud Tools 링크: https://dev.ti.com/ TI DevTools [[item.type]] - [[item.title]] dev.ti.com Ti의 경우에는 STM사의 IDE와는 다르게 pin설정을 GUI로 보여주며 기본 코드를 구성할 수 있는 툴이 독립되어있다. 위의 링크를 들어가면 SysConfig 혹은 PinMUX라는 툴이 STM의 pin설정 툴과 같이 구성되어 있음을 알 수 있다. 윈도우의 경우 이 프로그램을 컴퓨터에 다운받아 오프라인으로..
#1 Intro 맥으로 8051을 개발하는 방식은 초기 환경 조성에 어려움이 있다. 이는 수많은 구글링과 테스팅으로 방식을 찾아야하기 때문이다. 또한 catalina부터는 32bit 프로그램을 지원하지 않기에 구글에서 찾은 방식이 적용안되는 경우가 허다하다. 따라서 이를 명심하고 정보를 찾아야한다. #2 1. SDCC (Small Device C Compiler) C/C++로 개발하는 상황에서는 이를 8051이 이해할 수 있는 HEX 파일로 변환해주는 compiler가 필요하다. 대게 이는 IDE(Integrated Development Environment)에서 가능하기에 신경을 크게 쓸 필요가 없었다. 8051의 경우에도 'mcu8051ide', 'uvision(KEIL)'등 ide가 존재한다. MS..