• Sonuç bulunamadı

ARM CORTEX-M4 İLE MİKRODENETLEYİCİ PROGRAMLAMA. Oğuz Emre Çakıl. Yayın Dağıtım Yazılım ve Eğitim Hizmetleri San. ve Tic. Ltd. Şti.

N/A
N/A
Protected

Academic year: 2022

Share "ARM CORTEX-M4 İLE MİKRODENETLEYİCİ PROGRAMLAMA. Oğuz Emre Çakıl. Yayın Dağıtım Yazılım ve Eğitim Hizmetleri San. ve Tic. Ltd. Şti."

Copied!
18
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

I

ARM CORTEX-M4

İLE MİKRODENETLEYİCİ PROGRAMLAMA

®

Yayın Dağıtım Yazılım ve Eğitim Hizmetleri San. ve Tic. Ltd. Şti.

Oğuz Emre Çakıl

(2)

II KODLAB 227

ARM CORTEX-M4 İLE

MİKRODENETLEYİCİ PROGRAMLAMA

OĞUZ EMRE ÇAKIL

ISBN 978-605-2118-26-9 Yayıncılık Sertifika No: 13206

3. Baskı: Şubat 2021

Genel Yayın Yönetmeni Gizem Atlı

Grafik Tasarım Md.

Tamer Takmaz Satış ve Pazarlama Can Üstünel Yunus Emre Üstünel

Baskı: İnkılâp Kitabevi Yayın San. Tic. A.Ş. Sertifika No: 44066

Bu kitabın bütün yayın hakları Kodlab Yayın Dağıtım Yazılım ve Eğitim Hizmetleri San. ve Tic. Ltd. Şti.’ne aittir. Yayınevimizin yazılı izni olmaksızın kısmen veya tamamen alıntı yapılamaz, kopya çekilemez, çoğaltılamaz ve yayınlanamaz.

KODLAB Yayın Dağıtım Yazılım ve Eğitim Hizmetleri San. ve Tic. Ltd. Şti.

15 Temmuz Mh. 1481. Sk. No : 44/A Bağcılar / İSTANBUL

tel: 0(212) 514 55 66 web: www.kodlab.com 0(212) 514 66 61 e-posta: bilgi@kodlab.com

®

(3)

III

Oğuz Emre Çakıl

Elazığ doğumlu yazarımız, ortaöğrenimini Elazığ Çubukbey Anadolu Lisesi’nde, lisans eğitimini ise Yıldız Teknik Üniversitesi Elektrik Mühendisliği Bölümü’nde tamamlamıştır. Yüksek Lisans eğitimine İstanbul Teknik Üniversitesi Elektrik Mühendisliği Bölümü’nde devam etmektedir.

Yazar, 2014 yılından itibaren özel sektörde çeşitli projelerde Ar-Ge Mühendisi olarak çalışmış ve şu anda Uzman Gömülü Yazılım Geliştirme Mühendisi olarak özel bir şirkette çalışmaktadır. Yazarın ilgili olduğu alanlar; Gömülü Sistemler, Gömülü Linux, C++ (Qt) ve Akıllı Şebekeler’dir.

(4)

IV

Şeker Portakalı’na…

(5)

V

ÖNSÖZ

Gömülü Sistemler ve ARM mikroişlemci tabanlı mikrodenetleyiciler hakkında Türkçe içerik konusundaki eksikliği bir nebze de olsa giderebilme isteği ile bu kitap fikri ortaya çıkmıştır.

Kitapta ARM Cortex-M4 işlemcisi ve bu temeldeki mikrodenetleyicileri anlatabilmek için STM32F4Discovery geliştirme kartı baz alınmıştır. Ancak bu kitaptaki mikrodenetleyicilere yaklaşım tüm ARM tabanlı mikrodenetleyicilere uygulanabilmektedir. STM32F4Discovery geliştirme kartı baz alınmasının temel sebeplerinden biri, kolay elde edilebilir olmasıdır.

Kitapta uygulamalar için gerekli olan programların Linux ve Windows tabanlı olarak nasıl kurulacağı anlatılmıştır. Anlatılan konular uygulamalar ile desteklenerek okuyucunun konuları kavraması amaçlanmıştır.

Kitabın tüm bölümleri ARM firmasının ve mikrodenetleyici üreticisinin sunduğu veri sayfaları ve uygulama notları referans alınarak anlatılmıştır. Bu kitabın temel amacı, üreticilerin sunduğu dokümanlar ile mikrodenetleyiciyi programlayabilme kültürünü edinebilmektir.

Kitaptaki tüm uygulamalar, anlatılan bir bölümden sonra o bölümü temel alarak geliştirilmiştir. Kitaptaki bazı uygulamalar önceki bölümleri de kapsamaktadır. Tüm uygulamalar bare-metal (mikrodenetleyici üzerinde herhangi bir işletim sistemine dayandırılmadan) geliştirilmiştir. Uygulamaların temel amacı, ilgili bölümün çalışma mantığını anlatmaktır. Uygulamalar STM32F4Discovery geliştirme kartı dışında asgari malzemeye ihtiyaç duyulacak şekilde seçilmiştir.

Oğuz Emre ÇAKIL

(6)

VI

TEŞEKKÜR

Kitabın tüm uygulamalarını yayından önce test eden ve kitabın aynı zamanda ilk okuru olan meslektaşım Mustafa Furkan Özkan’a,

Desteklerini hiçbir zaman esirgemeyen aileme ve dostlarım Ali Temiz’e, Berk Kaçar’a, Enes Bayram’a ve Tahir İnce’ye,

Kitabı yazarken tüm anı beraber geçirdiğim Kadıköy’ün kahve kokan kitap kafelerine ve tüm bu anlarda şarkılarıyla, sözleriyle bana eşlik eden, hayatımın fon müziği Erkan Oğur’a teşekkür ederim.

(7)

İÇİNDEKİLER VII

İÇİNDEKİLER

1 GİRİŞ 1

Gömülü Sistemler (Embedded Systems) 1

Kitap Hakkında 2

Kitap Kimler İçin? 2

Kitabı Takip Edebilmek İçin Gerekenler 3

Kitabın İçeriği ve Uygulamaları 4

2 ARM İŞLEMCİSİ VE MİKRO-DENETLEYİCİLER 9

Mikroişlemciler (Microprocessors) 9

Merkezi İşlem Birimi (Central Processing Unit) 10

Hafıza (Memory) 12

Giriş-Çıkış Birimi (Input-Output) 13

Mikrodenetleyiciler (Microcontrollers) 13

Analog Arayüz 14

Paralel Arayüz 14

Seri Arayüz (Serial) 14

Zaman Arayüzü (Time) 14

ARM Temelleri 15

ARM Mimarisi 16

ARM Ailesi 18

Cortex-M İşlemci Mimarisi 19

İletişim Yolları (Bus) 20

Kaydediciler (Registers) 21

Hafıza (Memory) 22

3 STM32F4 MİKRO-DENETLEYİCİSİ 23

STM32 Ailesi ve STM32F407 23

STM32 Ailesi 23

STM32 Mikrodenetleyicileri 30

Numaralandırılması 30

(8)

ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA VIII

STM32F4 Ailesi 33

STM32F407 Teknik Kılavuzları 34

STM32F407 Datasheet İncelemesi 34

STM32F407 Reference Manual İncelemesi (Referans Kılavuzu) 39 STM32F407 Errata Sheet İncelemesi (Hata Kılavuzu) 49

STM32 Geliştirme Kartları 49

STM32F4DISCOVERY Kartı (STM32F407G-DISC1) 50

ST-LINK Programlayıcısı 54

4 STM32 KOD DERLEYİCİLERİ 57

Atollic TrueSTUDIO 57

Atollic TrueSTUDIO Derleyicisi 57

Windows İşletim Sistemleri İçin Kurulumu 58

Linux İşletim Sistemleri İçin Kurulumu 64

Keil 70

Keil ve MDK-ARM 70

Windows İşletim Sistemleri İçin Kurulumu 70

Mbed Online Derleyici (Mbed OS) 74

5 STM32CUBE VE CUBEMX 77

HAL (Donanım Soyutlama Katmanı) Sürücüleri 78

Low Layer (Düşük Katman Sürücüleri -LL) 78

STM32CubeMX 79 Linux Tabanlı İşletim Sistemleri İçin CubeMX Kurulumu 80 Windows İşletim Sistemleri İçin CubeMX Kurulumu 82 6 DEBUG (HATA AYIKLAMA) VE GEREKLİ DİĞER ARAÇLAR 85

Debug (Hata Ayıklama) 85

Debug Yapmak Neden Önemlidir? 85

Debug Yöntemleri ve Araçları 86

Logic Analyzer 89

ST-LINK Utility (ST-LINK Arayüz Uygulaması) 90

(9)

İÇİNDEKİLER IX

Windows İşletim Sistemleri İçin Kurulumu 90

7 PROJE OLUŞTURMA VE PROJE TEMELLERİ 93

CubeMX Projesi Oluşturma 94

Atollic TrueSTUDIO Projesi Oluşturma 100

Keil Projesi Oluşturma 104

Register’ler 110

Register’lere Erişim 110

Register’lere Değer Girme ve Okuma 112

Proje Dosyaları 113

Startup (.s) Başlangıç Dosyası 113

System (.c) Kaynak Dosyası 113

Stm32f4xx (.h) Başlık Dosyası 113

Derleme, Debug ve Flash 114

Keil ve Atollic TrueSTUDIO İle Kod Derleme 114 Keil ve Atollic TrueSTUDIO İle Debug Ayarları ve Giriş 116 Keil ve Atollic TrueSTUDIO İle Derlenen Kodun Yüklenmesi (Flash) 119

8 RESET VE CLOCK CONTROL BİRİMİ 121

Reset 121 Clock 122

STM32F4DISCOVERY Kartı Kristalleri 124

RCC Register’leri 126

STM32F4 Clock Ayarı 148

CubeMX Üzerinden Clock Ayarı 149

Register Seviyesinde (Low Level) Clock Ayarı 150 9 GENEL AMAÇLI GİRİŞ-ÇIKIŞ BİRİMİ (GPIO) 159

GPIO Özellikleri 159

Giriş ve Çıkış Modu 160

Analog Mod 160

Alternate Function (Değişmeli İşlev Modu) 161

(10)

ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA X

STM32F4 Pin Listesi Ve Özellikleri 162

GPIO Register’leri 169

Örnek GPIO Register Ayarı 178

10 KESME (INTERRUPT) 179

İç İçe Geçmiş Vektörlü Kesme Denetleyicisi Birimi (NVIC) 180

STM32F4 Interrupt Vektörleri 180

Cortex-M4 İşlemcisi NVIC Registerları 186

Cortex-M4 NVIC Fonksiyonları 191

Interrupt Önceliği (Priority) 193

Örnek NVIC Ayarı 194

11 TEMEL SAYAÇ (BASIC TIMER) 197

Basic Timer Özellikleri 197

Çalışma Mantığı 197

Basic Timer Diyagramları 199

Basic Timer Register’leri 204

12 ANALOG DİJİTAL DÖNÜŞTÜRÜCÜ (ADC) 209

ADC Genel Özellikleri 209

ADC Blok Diyagramı 209

ADC Pinleri 211

ADC Kontrol ve Clock 212

Dahili Sıcaklık Sensörü ve Pil Yönetimi İzleme 212

ADC Çalışma Grupları 213

ADC Regular (Düz) Grup 213

ADC Injected (Enjekte Edilmiş) Grup 213

ADC Modları 213

Single (Tek) Mod 213

Continuous (Sürekli) Mod 214

Scan (Tarama) Mod 214

Discontinuous Mod 214

(11)

İÇİNDEKİLER XI

Trigger (Tetikleme) Mod 215

Auto-Injection Mod 215

ADC Data Yönetimi 216

DMA’lı Data Yönetimi 216

DMA’sız Data Yönetimi 217

Data Örnekleme Zamanı 218

ADC Interrupt’ları 218

Regular Grup Çevrim Sonu Interrupt’u 218

Injected Grup Çevrim Sonu Interrupt’u 218

Analog Watchdog Interrupt’u 219

Overrun Interrupt’u 219

ADC Register’leri 220

13 GENEL AMAÇLI SAYAÇ TIM2...TIM5 (GENERAL-PURPOSE TIMERS) 237

Genel Özellikleri 237

Temel Çalışma Mantığı 238

Sayma Modları (Counting Modes) 238

Yukarı Sayma Modu (Upcounting) 238

Aşağı Sayma Modu (Downcounting) 240

Hizalanmış Çift Mod (Center-aligned - Up/down Counting) 241

Çalışma Modları 242

Giriş Yakalama Modu (Input Capture) 242

Çıkış Karşılaştırma Modu (Output Compare) 243

Darbe Genişlik Modülasyonu Modu (PWM) 243

Tek Darbe Modu (One-pulse) 243

Clock Kaynağı Seçimi 244

Genel Amaçlı Sayaç TIM2...TIM5 Register’leri 244 14 HARİCİ KESME (EXTERNAL INTERRUPT - EXTI) 263

EXTI Genel Özellikleri 263

EXTI Blok Diyagramı 264

EXTI Hatları 265

(12)

ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA XII

EXTI Birimi Interrupt Vektörleri 266

SYSCFG Birimi EXTI Register’leri 268

EXTI Register’leri 271

15 RASTGELE SAYI ÜRETECİ (RANDOM NUMBER GENERATOR / RNG) 275

RNG Genel Özellikleri 275

RNG Blok Diyagramı 275

RNG Hata Yönetimi 276

Rastgele Üretilen Sayıların Kullanım Amacı 277

RNG Register’leri 278

16 GERÇEK ZAMANLI SAAT (REAL TIME CLOCK - RTC) 281

RTC Kullanımı İçin Ön Bilgiler 281

Binary Coded Decimal - BCD (İkili Kodlu Onlu Sayı) 281

Backup Domain (Yedek Etki Alanı) 282

RTC Genel Özellikleri 283

RTC Kullanım Amaçları 284

RTC Clock Seçenekleri 285

RTC Takvim (Calendar) 286

RTC Alarm 287

RTC Giriş ve Çıkışlar 287

RTC Alarm Çıkışı 287

RTC Tamper Girişi 287

RTC Kalibrasyon Clock Çıkışı 287

RTC Başlatma Ayarları 288

RTC Birimi Interrupt Vektörleri 289

RTC Register’leri 290

17 EVRENSEL ASENKRON ALICI VERİCİ BİRİMİ (UART) 311

UART Genel Özellikleri 311

UART Blok Diyagramı 312

UART Pinleri 313

(13)

İÇİNDEKİLER XIII

UART Data Frame (Veri Çerçevesi) 313

Idle Frame (Boş Damga) 314

Break Frame (Hat Kesme) 315

Parity Kontrol (Eşlik) 315

UART Oversampling - OVER8 (Yüksek Hızda Örnekleme) 316

Receiver (Alıcı) 318

Transmitter (Verici) 318

Haberleşme Hata Durumları 319

Overrun Hatası (Taşma) 319

Noise Hatası (Gürültü) 319

Frame Hatası (Veri Çerçevesi Hatası) 320

Hardware Flow Control (Donanımsal Akış Kontrolü) 320

USART Register’leri 321

18 SERİ ÇEVRESEL ARAYÜZ HABERLEŞMESİ (SPI) 329

SPI Genel Özellikleri 329

SPI Blok Diyagramı 330

SPI Pinleri 330

NSS Pin Yönetimi 331

SPI Data Frame (Veri Çerçevesi) 332

SPI Clock Seçenekleri (Hız, Kutup ve Faz) 333

SPI Çalışma Modları 335

Master Mod 335

Slave Mod 336

SPI Durum Bayrakları 337

SPI Haberleşme Modları Ve Data Yönetimi 338

Full-Duplex Mod 338

Half-Duplex Unidirectional Mod (Tek Yönlü) 340 Half-Duplex Bidirectional Mod (Çift Yönlü) 341

SPI Register’leri 342

19 DOĞRUDAN BELLEK ERİŞİMİ (DİRECT MEMORY ACCESS) 347

(14)

ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA XIV

DMA Genel Özellikleri 347

DMA Blok Diyagramı 348

DMA Kanalları 348

DMA Akış Modları 350

DMA Çalışma Modları 352

DMA Dairesel Mod (Circular) 352

DMA Çift Tampon Modu (Double Buffer) 352

DMA FIFO 353

DMA Interrupt’ları 354

DMA Register’leri 354

20 GÖMÜLÜ FLASH BELLEK ARABİRİMİ

(EMBEDDED FLASH MEMORY INTERFACE) 365

Flash Genel Özellikleri 365

Flash Bölümleri 367

Flash Koruması 368

Flash-Okuma (Read) 368

Flash-Yazma (Write/Program) 369

Flash-Silme (Erase) 369

Flash Interrupt’ları 370

Flash Register’leri 370

21 UYGULAMALAR 375

Uygulama-1: LED Yakıp Söndürme (Blinking LED) 375

Amaç ve Yöntem 375

CubeMX İle Projenin Oluşturulması 376

GPIO HAL Kütüphanesi ve Fonksiyonları 378

Atollic TrueSTUDIO veya Keil ile Kodlama 379

Low Level Kodlanması 382

Uygulama-2: SysTick Sayacı ve Kesmesi (SysTick Timer) 384

Amaç ve Yöntem 384

SysTick Hakkında 385

(15)

İÇİNDEKİLER XV

SysTick Register’leri 385

CubeMX İle Projenin Oluşturulması 387

SysTick HAL Kütüphanesi Fonksiyonları 389

Atollic TrueSTUDIO veya Keil ile Kodlama 390

Low Level Kodlanması 392

Atollic TrueSTUDIO veya Keil ile Kodlama 392 Low Level Uygulamalar İçin Delay Fonksiyonu Yazılması 395

Uygulama-3:Timer7 Birimi Kesmesi 398

Amaç ve Yöntem 398

CubeMX ile Projenin Oluşturulması 399

Timer HAL Kütüphanesi ve Fonksiyonları 403

Atollic TrueSTUDIO veya Keil ile Kodlama 403

Low Level Kodlanması 405

Atollic TrueSTUDIO veya Keil ile Kodlama 405 Uygulama-4: 3 Kanal Injected Grup ADC ve Kesmesi 409

Amaç ve Yöntem 409

CubeMX İle Projenin Oluşturulması 412

ADC HAL Kütüphanesi ve Fonksiyonları 417

Atollic TrueSTUDIO veya Keil ile Kodlama 418

Low Level Kodlanması 421

Atollic TrueSTUDIO veya Keil ile Kodlama 421

Debug ile Değişkenlerin İzlenmesi 424

Uygulama-5: TIM4 İle 4 Kanal PWM 426

Amaç ve Yöntem 426

CubeMX ile Projenin Oluşturulması 428

Timer HAL Kütüphanesi ve Fonksiyonları 432

Atollic TrueSTUDIO veya Keil ile Kodlama 433

Low Level Kodlanması 435

Atollic TrueSTUDIO veya Keil ile Kodlama 435 Logic Analyzer Veya Osiloskop İle Sinyallerin İzlenmesi 439

Uygulama-6: TIM3 Tetikli ADC Kesmesi 440

(16)

ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA XVI

Amaç ve Yöntem 440

CubeMX ile Projenin Oluşturulması 442

Gerekli HAL Timer ve ADC Fonksiyonları 450

Atollic TrueSTUDIO veya Keil ile Kodlama 451

Low Level Kodlanması 453

Atollic TrueSTUDIO veya Keil ile Kodlama 453

Uygulama-7: PWM Giriş Mod (Input Capture) 458

Amaç ve Yöntem 458

PWM Okuma Yöntemi 460

CubeMX ile Projenin Oluşturulması 462

Gerekli HAL Timer Fonksiyonları 467

Atollic TrueSTUDIO veya Keil ile Kodlama 468

Low Level Kodlanması 471

Atollic TrueSTUDIO veya Keil İle Kodlama 471

Debug İle Değişkenlerin İzlenmesi 476

Uygulama-8: Dahili Buton İle Harici Kesme Oluşturma (External Interrupt) 478

Amaç ve Yöntem 478

CubeMX İle Projenin Oluşturulması 479

Atollic TrueSTUDIO veya Keil ile Kodlama 482

Low Level Kodlanması 483

Uygulama-9: Rastgele Sayı Üretimi (RNG) 486

Amaç ve Yöntem 486

CubeMX İle Projenin Oluşturulması 487

RNG HAL Kütüphanesi ve Fonksiyonları 487

Atollic TrueSTUDIO veya Keil ile Kodlama 488

Low Level Kodlanması 490

Atollic TrueSTUDIO veya Keil ile Kodlama 490 Uygulama-10: Takvim ve Alarm Kesmesi (RTC) 493

Amaç ve Yöntem 493

CubeMX ile Projenin Oluşturulması 494

RTC HAL Kütüphanesi ve Fonksiyonları 499

(17)

İÇİNDEKİLER XVII

Atollic TrueSTUDIO veya Keil ile Kodlama 501

Low Level Kodlanması 502

Atollic TrueSTUDIO veya Keil ile Kodlama 502 Uygulama-11: Kesmeli UART Haberleşme ve LED Kontrolü 511

Amaç ve Yöntem 511

CubeMX ile Projenin Oluşturulması 513

UART HAL Kütüphanesi ve Fonksiyonları 516

Atollic TrueSTUDIO veya Keil ile Kodlama 517

Low Level Kodlanması 521

UART Baud Rate Hesabı 521

Atollic TrueSTUDIO veya Keil ile Kodlama 523

Seri Port Terminal Programı 528

Windows İşletim Sistemleri İçin Terminal Programı 528 Linux Tabanlı İşletim Sistemleri İçin Terminal Programı 530 Uygulama-12: SPI ile Dahili 3 Eksenli Hareket Sensörü Haberleşmesi 533

Amaç ve Yöntem 533

LIS3DSH Modülü 535

LIS3DSH Pinleri 535

LIS3DSH Ve SPI Arayüzü 536

LIS3DSH Register’leri 538

CubeMX İle Projenin Oluşturulması 545

SPI HAL Kütüphanesi ve Fonksiyonları 550

Atollic TrueSTUDIO veya Keil ile Kodlama 551

Low Level Kodlanması 557

Atollic TrueSTUDIO veya Keil ile Kodlama 557 Uygulama-13: DMA Üzerinden Çok Kanallı Regular Grup ADC 568

Amaç ve Yöntem 568

CubeMX İle Projenin Oluşturulması 569

ADC-DMA HAL Kütüphanesi ve Fonksiyonları 574 Atollic TrueSTUDIO veya Keil ile Kodlama 574

Low Level Kodlanması 576

(18)

ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA XVIII

Atollic TrueSTUDIO veya Keil ile Kodlama 576 Uygulama-14: Flash Hafızaya Yazma-Silme Uygulaması 581

Amaç ve Yöntem 581

CubeMX İle Projenin Oluşturulması 582

FLASH HAL Kütüphanesi ve Fonksiyonları 582

Atollic TrueSTUDIO veya Keil ile Kodlama 583

Low Level Kodlanması 584

Atollic TrueSTUDIO veya Keil ile Kodlama 584

Referanslar

Benzer Belgeler

Sanayi ve tibbi gazlar dolum tesisleri, Akaryakıt, LPG, LNG ,CNG, Biodizel, Madeni yağlar dolum ve üretim tesisleri projelendirme, imalat takip ve imalatları, akredite

Proje kapsamında araç bakımları yetkili servisler tarafından yapılacağından atık yağ oluşmayacağı öngörülmektedir.. 21 Faaliyet sahasında asfalt plent tesisi

Gürültü: Proje kapsamında işletilmesi planlanan tesis ile ilgili olarak işletme süresince 04.06.2010 tarih ve 27601 sayılı Resmi Gazete’de yayımlanarak

bulunan kafes sayıları ve kafeslerin içindeki hayvan sayıları arttırılarak toplam 394.000 adet/dönem kapasite ile yumurtalık tavuk yetiştiriciliği

SAVEL LTD.ŞTİ. ürün şartlarını karşılayabilmek için bu ihtiyaçları içeren, Kalite Politikası ile tutarlı, ölçülebilir Kalite Hedefleri belirlemiş ve bunları

Firmamız teslim ve gerektiğinde teslim sonrası şartlarda dahil olmak üzere müşteri tarafından belirtilmiş şartları, müşteri tarafından belirtilmeyen genel

Aynı şekilde şirketin salt temsil edilen taraf ya da üçüncü bir taraf analizine şahit olarak bulunduğu durumlarda şirket numunenin analiz edildiğini onaylayan

Kimliği belirli veya belirlenebilir bir gerçek kişiye ait olduğu açık olan ve veri kayıt sistemi içerisinde yer alan, POZİTİF GÜÇ PERSONEL HİZMETLERİ'nin ticari,