Intro to Arm cortex m3_V2

Preview:

Citation preview

1

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

ARM

م.يحيى طويلYahya.tawil@gmail.com

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

2

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

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

3

مقدمة

4

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

microcontrollers

5

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

ARM processor-based microcontrollers

6

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

ARM processor-based microcontrollers

7

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

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

IP Core.

8

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

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

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

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

9

Architecture version Processor name

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

A:Application

R:Real Time

M:MicroController

Cortex A,R,M ?

11

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

12

13

14

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

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

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

15

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

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

16

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

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

* Handler = interrupt service routine

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

17

بنية هارفرد

18

I-BUS

D-BUS

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

19

20

Race Condition / exclusive access

CMSIS Lib Provided Function

Instruction

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

21

الذاكرة مخطط

22

الذاكرة مخطط

23

Vect

or

Tabl

e

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

24

Bit Band• Bitband Region

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

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

25

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

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

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

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

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

26

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

27

Tool-Chain

28

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

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

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

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

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

29

IDEs

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

30

31

CMSIS Lib cortex microcontroller software interface standard

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

32

33

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

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

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

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

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

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

34

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

35

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

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

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

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

36

Segger/JlinkOpenOCD based programmers/ using FT2232H

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

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

37

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

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

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

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

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

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

38

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

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

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

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

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

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

39

استراحة

40

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

41

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

42

1

2

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

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

43

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

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

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

2

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

45

2

46

2

47

2

48

2

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

50

1

2

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

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

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

51

1

2

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

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

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

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

52

4

NUCLEO - Development Board ~ 10$

Debugger

53

4

Tiva c - Development Board ~ 20$

Debugger

54

4

Pioneer - Development Board (Base Board) ~ 24$

Debugger Header

55

4

EFM32 Gecko – Starter KIT ~ 29$

Debugger, underscreen

56

4

EFM32 Gecko – developer KIT ~ 309 $

57

1

2

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

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

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

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

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

58

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

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

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

فيزئياً(

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

59

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

Application layer

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

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

60

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

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

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

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

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

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

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

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

61

مهمة مراجع

Recommended