61
ات ج ل عا م ن ع ة ي ف ي ر ع ي ة س ل جARM ل ي و ط ى ي ح ي م.[email protected] 1 ق% ش م د ة ع م ا ج ة ي* ئ ا رب لكه وا ة ي ك ي ئ كا ي م ل ا ة س د ي ه ل ا ة ي ل ك

Intro to Arm cortex m3_V2

Embed Size (px)

Citation preview

Page 1: Intro to Arm cortex m3_V2

1

جلسة تعريفية عن معالجات

ARM

م.يحيى طويل[email protected]

جامعة دمشقكلية الهندسة الميكانيكية والكهربائية

Page 2: Intro to Arm cortex m3_V2

2

المحتوياتشركة • عن .ARMمقدمةومواصفات • بنية عن .ARMلمحةمعالجات • مع التعامل .ARMأدواتوالمزود • المناسبة العائلة واختيار Cالبدء كيفية

المناسب.متحكمات • إلى أنتقل أن يجب ؟ARM 32-bitهلالمراجع.•

Page 3: Intro to Arm cortex m3_V2

3

مقدمة

Page 4: Intro to Arm cortex m3_V2

4

صغري • متحكم :MCUبنية العامة

microcontrollers

Page 5: Intro to Arm cortex m3_V2

5

•ARM المركزي المعالجة وحدة بنية هيArchitecture of CPU

ARM processor-based microcontrollers

Page 6: Intro to Arm cortex m3_V2

6

• ARM CPU+ طرفيات= ARM processor-based microcontrollers

ARM processor-based microcontrollers

Page 7: Intro to Arm cortex m3_V2

7

صنع متحكمات يوجد ARM ? هل

تصنع ARMشركة • ال شركة fablessهيبها • الخاص المعالج تصميم استخدام حقوق تبيع

IP Core.

Page 8: Intro to Arm cortex m3_V2

8

وحدة بنفس مختلفين مصنعينالمعالجة !

•. الصغرية المتحكمات مختلف بين موحد معيار

التنقل • آلخر Portingسهولة صغري متحكم بين.) أقل) – تطوير زمن أقل كلفة

ذلك • من Architectural level of IP licenseأكثرStrongARM – Xscale

Page 9: Intro to Arm cortex m3_V2

9

Architecture version Processor name

Page 10: Intro to Arm cortex m3_V2

10http://www.arm.com/products/processors/index.php

A:Application

R:Real Time

M:MicroController

Cortex A,R,M ?

Page 11: Intro to Arm cortex m3_V2

11

ومواصفات بنية عن ARMلمحة

Page 12: Intro to Arm cortex m3_V2

12

Page 13: Intro to Arm cortex m3_V2

13

Page 14: Intro to Arm cortex m3_V2

14

• ARM ISA :32bit only Instruction.• THUMB :16bit only Instruction.• THUMB-2 :16bit and 32bit Instruction.

•ARM Cortex M3 فقطيدعم THUMB-2

ARM,THUMB,THUMB2 التعليمات مجموعة

Page 15: Intro to Arm cortex m3_V2

15

ARM,THUMB,THUMB2 التعليمات مجموعة

Ref: The Definitive Guide To Cortex M3 Book P.9

Page 16: Intro to Arm cortex m3_V2

16

–Modes: Handler*-Thread.– Privilege levels: Privileged – User.

Ref: The Definitive Guide To Cortex M3 Book P.14

* Handler = interrupt service routine

والصالحية التشغيل أنماط

Page 17: Intro to Arm cortex m3_V2

17

بنية هارفرد

Page 18: Intro to Arm cortex m3_V2

18

I-BUS

D-BUS

Ref: The Definitive Guide To Cortex M3 Book P.107

Page 19: Intro to Arm cortex m3_V2

19

Page 20: Intro to Arm cortex m3_V2

20

Race Condition / exclusive access

CMSIS Lib Provided Function

Instruction

Ref: The Definitive Guide To Cortex M3 Book P.445

Page 21: Intro to Arm cortex m3_V2

21

الذاكرة مخطط

Page 22: Intro to Arm cortex m3_V2

22

الذاكرة مخطط

Page 23: Intro to Arm cortex m3_V2

23

Vect

or

Tabl

e

Ref: The Definitive Guide To Cortex M3 Book P.41 & P.35

Page 24: Intro to Arm cortex m3_V2

24

Bit Band• Bitband Region

عCناوين تحوي الذاكرة من منطقةأخرى منطقة بتات فيزيائية

Ref: The Definitive Guide To Cortex M3 Book :P.85

Page 25: Intro to Arm cortex m3_V2

25

الميزات ملخصمنفصل • للتعليمات مسار يوجد وبالتالي هارفرد بنية استخدام

نواقل بنية وديناميكية المعطيات مسار تسمح ARMعن التي. أخرى بينية وترابطات خارجية ذواكر ربط

:3يوجد • التعليمات مجموعة من ARM,THUMB,THUMB2أنواعيفيد ) • الصالحية من ونوعين التنفيذ أنماط من نمطين يوجد

.) التشغيل نظم أجل من•. بت كل مستوى على للنفاذ قابلة الذاكرة من منطقتين يوجد•. الذاكرة في التوضيع إلعادة قابلة المقاطعة جدولنظم ) Systickطرفية • أجل من يفيد زمنية مقاطعة إلعطاء

المهام/ جدولة (.scheduling processالتشغيل

Page 26: Intro to Arm cortex m3_V2

26

معالجات مع التعامل ARMأدوات

Page 27: Intro to Arm cortex m3_V2

27

Tool-Chain

Page 28: Intro to Arm cortex m3_V2

28

Cال بTool-chain C أشهر ARMالخاصة

المصدر مفتوح مجاني، يوجد المصدر،مدفوع، مغلقفي محدودية مع مجانية نسخة

المترجم البرنامج حجم

يوجد مدفوع، المصدر، مغلقفي محدودية مع مجانية نسخة

المترجم البرنامج حجم

Page 29: Intro to Arm cortex m3_V2

29

IDEs

• CالIDE. مترجم وليس تطوير بيئة هو• NetBeans based IDEs : MPLABX.• VisualStudio based IDEs : Atmel Studio.• Eclipse Based IDEs.

Page 30: Intro to Arm cortex m3_V2

30

Page 31: Intro to Arm cortex m3_V2

31

CMSIS Lib cortex microcontroller software interface standard

Ref: The Definitive Guide To Cortex M3 Book :P.168

Page 32: Intro to Arm cortex m3_V2

32

Page 33: Intro to Arm cortex m3_V2

33

متحكمات مع البرمجي ARMالتعامل

• Bare-Metal embedded Cلكل مناسبة إضافية، ومكونات متطلبات يوجد ال

ARMعوائل • RTOS (FreeRTOS-uclinux-chibios-…etc)

الذواكر من معين حجم توفر مناسبة RAMتتطلب ،التشغيل متطلبات توفر عند العوائل لمعظم

• OS (Android – embedded Linux distro- ..etc)الذاكرة إدارة وحدة وسرعة، MMUتتطلب وذواكر

لعوائل .Cortex Aمناسبة

Page 34: Intro to Arm cortex m3_V2

34

( على البرنامج حرق المتحكم برمجةالذاكرة(

Page 35: Intro to Arm cortex m3_V2

35

( على البرنامج حرق المتحكم برمجةالذاكرة(

• Atmel -> SPI interface (MOSI,MISO,VCC,Res) -> internal flash.

• MicroChip -> (VPP,PGD,PGC,GND) -> internal flash.

• ARM Processor -> Jtag/SWD ->Program+Debug.

Page 36: Intro to Arm cortex m3_V2

36

Segger/JlinkOpenOCD based programmers/ using FT2232H

الدعم رخيصة،محدود

الدعم غالية،واسع

Page 37: Intro to Arm cortex m3_V2

37

اإلقالع Bootloader محمل

وحرقه • التعليمات ملف تلقي عن مسؤول صغير برنامج. البرنامج ذاكرة على

•CالBootloaders : منافذ عبر عادة …,USB,UART,I2Cيكونetc

• Cال لحرق خارجية مبرمجة الستخدام حاجة هناك يزال الBootloader. مرة أول في

يشحنون • الصغيرة المتحكمات مقدمي Bootloaderبعضمثل به خاصة ذاكرة هناك يكون أو اإلنتاج SAMBAأثناء

متحكمات AT91SAM7 seriesمثل ATMELفي

Page 38: Intro to Arm cortex m3_V2

38

األدوات ملخصحتى • الالزمة العمليات وإجراء البرنامج تفسير عن المسؤولة األدوات

تسمى البرنامج ذاكرة على للبرمجة القابل الملف .Tool-chainإنتاج

لtool-chain C 3هناك • بالنسبة GNU GCC-Keil-IARوهي: ARMمشهورة

عائلة • لكل مرجعية مكتبة .CMSISتسمى Cortex Mيوجد

• : الخارجية للبرمجات أساسيين نوعين Jlink-OpenOCDيوجد

.SWDأو JTAGمنفذ • البرامج وتنقيح لبرمجة يستخدم

Page 39: Intro to Arm cortex m3_V2

39

استراحة

Page 40: Intro to Arm cortex m3_V2

40

المناسبة العائلة واختيار البدء كيفيةالمناسب والمزود

Page 41: Intro to Arm cortex m3_V2

41

عائالت 1 من عائلة اي ARMاختيارحاجتك تلبي

Page 42: Intro to Arm cortex m3_V2

42

1

2

عائالت من عائلة اي ARMاختيارحاجتك تلبي

خياركفي على بناءً مزود 1اختيار

Page 43: Intro to Arm cortex m3_V2

43

: معايير عدة على بناء المزودين بدراسة قم•. مناسب توثيق توفرتطلق ) • أن تخطط كنت حال في مناسبة المتحكمات أسعار

) معين منتج•. األم الشركة من مدعومة برمجية تطوير بيئة توفر• ( مع للتعامل مكاتب كتوفير البرمجي الدعم توفر

.) إلخ ... لينكس توزيعات نسخ توفير أو الطرفياتتطويرية • أدوات .Kitsتوفر منها لتبدأ مناسة•. تعليمية ومصادر ومشاريع مجتمع توفر

2

Page 44: Intro to Arm cortex m3_V2

44

Company Documentation Prices IDE Other Features

FreeScale See

www.mouser.com

Kinetis Design Studio IDE

•a lot of families(M0-A9),

STM , A9 •a lot of families(M0-A7),Low speed A9

Spansion • M4, M3, M0+ and R4 CPU

NXP , ARM9

LPCXpress IDE •M0 - M3,ARM9 (Windows CE, Linux) •There is DIP package

cypress PSoC Creator IDE

•Cortex M0 only

Nuvoton •Cortex M4,ARM9

HolTech •Cortex M0 - M3

renesas , Synergy

Renesas Synergy™ Platform

•Cortex A9 Low speed,Cortex M3(industrial) ,Cortex R4 , •HW-RTOS

RockChips •ARM9, A8-A9,M-3 multi core

Marvell •Verity Families including Xscale (StrongARM them Intel ARM implemented )

AllWinner

SiliconLab Simplicity Studio

•M0-M4 Families•Pin compatibility between families.

Texas Instuments

Page 45: Intro to Arm cortex m3_V2

45

2

Page 46: Intro to Arm cortex m3_V2

46

2

Page 47: Intro to Arm cortex m3_V2

47

2

Page 48: Intro to Arm cortex m3_V2

48

2

Page 49: Intro to Arm cortex m3_V2

49

2

DIP28 package!

ARM Cortex-M0 processor, running at frequencies of up to 50 MHz

ARM MCU IC packages

QFN package

QFP packageBreak-Out Board

Page 50: Intro to Arm cortex m3_V2

50

1

2

عائالت من عائلة اي ARMاختيارحاجتك تلبي

خياركفي على بناءً مزود 1اختيار

3 : لغة المتحكم مع البرمجي تعامل طريقة اختيار …RTOSسي –

Page 51: Intro to Arm cortex m3_V2

51

1

2

عائالت من عائلة اي ARMاختيارحاجتك تلبي

خياركفي على بناءً مزود 1اختيار

3 : لغة المتحكم مع البرمجي تعامل طريقة اختيار …RTOSسي –

الكيت 4 اختياركفي Kitاختيار على .1و 3بناءً

Page 52: Intro to Arm cortex m3_V2

52

4

NUCLEO - Development Board ~ 10$

Debugger

Page 53: Intro to Arm cortex m3_V2

53

4

Tiva c - Development Board ~ 20$

Debugger

Page 54: Intro to Arm cortex m3_V2

54

4

Pioneer - Development Board (Base Board) ~ 24$

Debugger Header

Page 55: Intro to Arm cortex m3_V2

55

4

EFM32 Gecko – Starter KIT ~ 29$

Debugger, underscreen

Page 56: Intro to Arm cortex m3_V2

56

4

EFM32 Gecko – developer KIT ~ 309 $

Page 57: Intro to Arm cortex m3_V2

57

1

2

عائالت من عائلة اي ARMاختيارحاجتك تلبي

خياركفي على بناءً مزود 1اختيار

3 : لغة المتحكم مع البرمجي تعامل طريقة اختيار …RTOSسي –

الكيت 4 اختياركفي Kitاختيار على .1و 3بناءً

لمعالجات 0 أنتقل أن يجب 32هلARM ?بت

Page 58: Intro to Arm cortex m3_V2

58

لمعالجات 0 أنتقل أن يجب 32هلARM ?بت

Application layer) اإللكتروني) الجهاز وظيفة بأداء الخاص البرمجي الكود

Physical layerبضبطها) الخاص البرمجي والكود المستخدمة اإللكترونية العناصر

فيزئياً(

جهاز أي بنيةإلكتروني

Page 59: Intro to Arm cortex m3_V2

59

لمعالجات 0 أنتقل أن يجب 32هلARM ?بت

Application layer

الطبقة وإنما ناجح تطبيق تبني التي الطبقة هذه ليست) الفيزيائية ) الطبقة محدودية حال في إال العليا

جهاز أي بنيةإلكتروني

Page 60: Intro to Arm cortex m3_V2

60

لمعالجات 0 االنتقال ?بت 32مزاياARM

المساوئ المزايا

من • أكثر تقنية تفاصيل يوجدبت 8متحكمات

. المبتدئين تناسب ال قد

منخفضة • أسعارمتعددة • طرفياتمن • مقدمة متعددة خيارات

مختلفين مزويدينآلخر • مزود من االنتقال سهولة

نفس ) النواة نفس استخدام بسببالخاص والمحددات األداء

.بالمعالجة(•. التقنية لهذه السوق تبني

Page 61: Intro to Arm cortex m3_V2

61

مهمة مراجع