고급 개발자로 가는 길
반응형

Firmware 8

[Firmware - STM] 링커 스크립트 LD, 심볼 및 map 할당

링커 스크립트(ld)를 통해 원하는 해당 심볼을 특정 sector 영역에 할당 가능하다. 영역 설정 후 빌드하여 링커에 의해 원하는 주소에 적재 되었는지 확인하기 위해서 map 파일의 심볼 주소영역을 확인 또는 Trace32 dump 등으로 확인 해야 한다. 즉, object 인 input file 의 section 을 output file 인 elf 와 map 로 어떻게 진행해야 하는지 memory map 을 어떻게 잡는지에 대하여 스크립트로 설정하는 것이다. RWW 인 Read While Write 라고하여 Partition 이 나누어져 있다. RRW0 의 경우 Security 가 아닌 code data flash 영역이며 RRW1 의 경우 HSM code 관련 RRW2 의 경우 EEPROM 등, R..

Firmware/STM 2022.03.01

[Firmware - RTOS] RTOS 개념, 차이점, 방식

RTOS가 무엇인지, 그리고 왜 쓰는지, 어떻게 쓰는지에 대해 기술해 볼 것이다. 보통은 미사일을 예로 많이드는데 너무 실시간성만 얘기하기 보다는 조금 더 자세히 들여다 볼 것이다. RTOS 는 해당 보드의 지원되는 OS 종류에 따라 동기화 방법이 다르다.(Semaphore / Mutex) RTOS의 이해 Real Time 이란 임의의 정보가 시스템에 입력이 되었을 때, 주어진 시간안에 작업이 완료되어 결과 도출 되는 것을 의미 결국 신속응답 처리를 위해 일반 펌웨어의 main 시퀀스 외에 여러 Task 를 만든다는 것을 의미한다. RTOS 와 Windows or Linux 차이점 RTOS - 자원을 낭비하더라도 작업의 시간 제한을 맞추는데 포커스 Windows or Linux - 자원을 얼마나 공평하게..

Firmware/RTOS 2022.02.20

[Trace32] T32 Header 구성품

이전에 사용하던 STM 사 SPC 계열 MCU 수급문제로 인해 MCU 변경이 필요했다. Infineon cypress MCU 를 사용하게 되면서, T32 Header 도 변경이 필요하다. 아래는 새로 구매하게 된 T32 Header 이다. 구성은 아래와 같이 되어있다. software licenses / Debug Cable / Header 이 있다. 아래는 기존에 사용중이였던, STM SPC 계열 T32 기기 풀 셋 이다. 펌웨어 개발 시 디버깅의 모든 것이 가능한 기기이다. 실제 메모리 덤프, 디버깅 그 외 많은 기능들이 제공 된다.

Firmware/Trace32 2022.02.12

[Firmware-모터 제어] 모터 PID 제어

PID 제어란 비례 / 적분 / 미분 제어로서 P I D 의미를 갖는다. 자동제어로 센서로부터 I/O 신호를 읽고 목표치와 비교하며, 운전 등 조작량을 제어하므로써 목표 값에 근사하게 유지하는 방식이다. 즉, 조작량을 비례 한 크기로 제어하는 방식이다. PID 제어를 증명하려면 사실 어렵긴하지만, 이 글에서는 PD제어에 대하여 설명 할 것이다. PD 제어 PD 제어는 Proportional Derivative 제어 (비례 미분 제어) 로서, 아래의 수식을 갖는다. 별칭으로는 폭주하는 제어를 잠재우기 위한 미분제 라고도 하며, 실제로 모터 사용 시 아래와 같이 모듈레이션이 좋지 않은걸 스코프로 측정 할 수 있다. 이러한 경우 모터 구동 시 RPM 이 일정하지 않으며, 소음 등이 정상 제어가 되지 않는다. ..

[Trace32] 커맨드 명령어 사용

섹션 정보 보기 symbol.list.section 주소로 코드 정보 파악 symbol.list.line [address] 전역 변수 확인 var.view [전역 변수 이름] var.view %l %t init_thread_union %l : 필드별 주소 정보 %t : 필드 타임 출력 구조체를 주소로 캐스팅 var.view %l %t (struct thread_info*)0x80c00000 어떤 주소든 지정한 구조체로 캐스팅 가능하다. 어셈블리 코드 보기 data.list [address] 주소에 해당하는 어셈블리 코드를 볼 수 있다.

Firmware/Trace32 2022.02.01

[Firmware] Hex, Sre, S19 Format

Bootloader와 App 영역의 sre 포멧을 Merge 해야하는 경우가 생길 수 있다. 공정릴리즈나 업데이트 시 단 하나의 파일로 제공 할 수 있다. 컴파일 설정을 통해 sre, hex, s19 포멧의 데이터를 만들 수 있다. CRT 프로그램 등을 통해 sre 파일에서 s19 파일으 만들 수도 있다. 먼저, SRE Format 은 elf와 같은 binary 를 hex 데이터로 바꾸어 볼 수 있게 만든다. 포멧의 형태는 아래와 같다. Indicate Type Count Address Data CheckSum value S 0~9 n 4, 6, 8 Max. 64Byte Count부터 Data의 모두 더한 값의 1의 보수 character 1 1 2 4~8 2~128 2 Record Description..

Firmware 2022.01.23

[EtherCAT] IO Board 개발 이야기

자동화 시스템에서 빠질 수 없는 IO Board 와 더 빠른 통신을 위한 EtherCAT 통신 기반의 IO Board 를 개발하게 되었다. 이번 글을 통해서는 EtherCAT IO Slave 의 전반적인 환경 및 내용과 결과를 간단하게 설명 할 것이다. 추후 세세한 내용 글을(C언어 및 ET1100) 올려볼 것이다. 정확히는 EtherCAT IO Slave FW 를 개발하게 되었다. EtherCAT 은 독일의 Beckhoff(등등..) 사의 Embedded PC 및 여러 디바이스등을 제공한다. 아래 경로를 통해 여러 자료 및 FAQ 활용 www.ethercat.org/default.htm EtherCAT Technology Group | HOME The worlds largest Industrial Et..

반응형