1
جلسة تعريفية عن معالجات
ARM
م.يحيى طويل[email protected]
جامعة دمشقكلية الهندسة الميكانيكية والكهربائية
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
مهمة مراجع