SlideShare a Scribd company logo
1 of 61
‫معالجات‬ ‫عن‬ ‫تعريفية‬ ‫جلسة‬
ARM
‫م‬.‫طويل‬ ‫يحيى‬
Yahya.tawil@gmail.com
1
‫دمشق‬ ‫جامعة‬
‫والكهربائية‬ ‫الميكانيكية‬ ‫الهندسة‬ ‫كلية‬
‫المحتويات‬
•‫شركة‬ ‫عن‬ ‫مقدمة‬ARM.
•‫ومواصفات‬ ‫بنية‬ ‫عن‬ ‫لمحة‬ARM.
•‫معالجات‬ ‫مع‬ ‫التعامل‬ ‫أدوات‬ARM.
•‫المناس‬ ‫والمزود‬ ‫المناسبة‬ ‫العائلة‬ ‫واختيار‬ ‫البدء‬ ‫كيفية‬‫ب‬.
•‫متحكمات‬ ‫إلى‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬ARM 32-bit‫؟‬
•‫المراجع‬.
2
3
‫مقدمة‬
4
•‫صغري‬ ‫متحكم‬ ‫بنية‬MCU‫العامة‬:
microcontrollers
5
•ARM‫المركزي‬ ‫المعالجة‬ ‫وحدة‬ ‫بنية‬ ‫هي‬Architecture
of CPU
ARM processor-based microcontrollers
6
• ARM CPU+ ‫طرفيات‬ = ARM processor-based
microcontrollers
ARM processor-based microcontrollers
‫صنع‬ ‫متحكمات‬ ‫يوجد‬ ‫هل‬? ARM
•‫شركة‬ARM‫تصنع‬ ‫ال‬ ‫شركة‬ ‫هي‬fabless
•‫الخاص‬ ‫المعالج‬ ‫تصميم‬ ‫استخدام‬ ‫حقوق‬ ‫تبيع‬‫بها‬IP Core.
7
‫المعالجة‬ ‫وحدة‬ ‫بنفس‬ ‫مختلفين‬ ‫مصنعين‬!
•‫الصغرية‬ ‫المتحكمات‬ ‫مختلف‬ ‫بين‬ ‫موحد‬ ‫معيار‬.
•‫التنقل‬ ‫سهولة‬Porting‫آلخر‬ ‫صغري‬ ‫متحكم‬ ‫بين‬(‫أقل‬ ‫كلفة‬
–‫أقل‬ ‫تطوير‬ ‫زمن‬.)
•‫ذلك‬ ‫من‬ ‫أكثر‬Architectural level of IP license
StrongARM – Xscale
8
Architecture version Processor name
9
10
http://www.arm.com/products/processors/index.php
A:Application
R:Real Time
M:MicroController
Cortex A,R,M ?
11
‫ومواصفات‬ ‫بنية‬ ‫عن‬ ‫لمحة‬
ARM
12
13
• ARM ISA :32bit only Instruction.
• THUMB :16bit only Instruction.
• THUMB-2 :16bit and 32bit Instruction.
•ARM Cortex M3‫يدعم‬‫فقط‬THUMB-2
14
ARM,THUMB,THUMB2 ‫التعليمات‬ ‫مجموعة‬
ARM,THUMB,THUMB2 ‫التعليمات‬ ‫مجموعة‬
Ref: The Definitive Guide To Cortex M3 Book P.9
15
– Modes: Handler*-Thread.
– Privilege levels: Privileged – User.
Ref: The Definitive Guide To Cortex M3 Book P.14
* Handler = interrupt service routine 16
‫والصالحية‬ ‫التشغيل‬ ‫أنماط‬
17
‫هارفرد‬ ‫بنية‬
I-BUS
D-BUS
Ref: The Definitive Guide To Cortex M3 Book P.107
18
19
Race Condition / exclusive access
CMSIS Lib
Provided Function
Instruction
Ref: The Definitive Guide To Cortex M3 Book
20
21
‫الذاكرة‬ ‫مخطط‬
‫الذاكرة‬ ‫مخطط‬
22
Vector
Table
Ref: The Definitive Guide To Cortex M3 Book P.41 & P.35
23
Bit Band
• Bitband Region
‫عناوين‬ ‫تحوي‬ ‫الذاكرة‬ ‫من‬ ‫منطقة‬
‫أخرى‬ ‫منطقة‬ ‫بتات‬ ‫فيزيائية‬
Ref: The Definitive Guide To Cortex M3 Book
24
‫الميزات‬ ‫ملخص‬
•‫منفصل‬ ‫للتعليمات‬ ‫مسار‬ ‫يوجد‬ ‫وبالتالي‬ ‫هارفرد‬ ‫بنية‬ ‫استخدام‬‫مسار‬ ‫عن‬
‫نواقل‬ ‫بنية‬ ‫وديناميكية‬ ‫المعطيات‬ARM‫خارجية‬ ‫ذواكر‬ ‫ربط‬ ‫تسمح‬ ‫التي‬
‫أخرى‬ ‫بينية‬ ‫وترابطات‬.
•‫يوجد‬3‫التعليمات‬ ‫مجموعة‬ ‫من‬ ‫أنواع‬:ARM,THUMB,THUMB2
•‫الصالحية‬ ‫من‬ ‫ونوعين‬ ‫التنفيذ‬ ‫أنماط‬ ‫من‬ ‫نمطين‬ ‫يوجد‬(‫أ‬ ‫من‬ ‫يفيد‬‫نظم‬ ‫جل‬
‫التشغيل‬.)
•‫بت‬ ‫كل‬ ‫مستوى‬ ‫على‬ ‫للنفاذ‬ ‫قابلة‬ ‫الذاكرة‬ ‫من‬ ‫منطقتين‬ ‫يوجد‬.
•‫الذاكرة‬ ‫في‬ ‫التوضيع‬ ‫إلعادة‬ ‫قابلة‬ ‫المقاطعة‬ ‫جدول‬.
•‫طرفية‬Systick‫زمنية‬ ‫مقاطعة‬ ‫إلعطاء‬(‫نظم‬ ‫أجل‬ ‫من‬ ‫يفيد‬
‫التشغيل‬/‫المهام‬ ‫جدولة‬scheduling process.)
25
26
‫معالجات‬ ‫مع‬ ‫التعامل‬ ‫أدوات‬ARM
Tool-Chain
27
‫الـ‬ ‫أشهر‬Tool-chain‫بـ‬ ‫الخاصة‬ARM
‫المصدر‬ ‫مفتوح‬ ،‫مجاني‬ ‫نسخة‬ ‫يوجد‬ ،‫المصدر،مدفوع‬ ‫مغلق‬
‫البرنامج‬ ‫حجم‬ ‫في‬ ‫محدودية‬ ‫مع‬ ‫مجانية‬
‫المترجم‬
‫نسخة‬ ‫يوجد‬ ،‫مدفوع‬ ،‫المصدر‬ ‫مغلق‬
‫البرنامج‬ ‫حجم‬ ‫في‬ ‫محدودية‬ ‫مع‬ ‫مجانية‬
‫المترجم‬
28
IDEs
•‫الـ‬IDE‫مترجم‬ ‫وليس‬ ‫تطوير‬ ‫بيئة‬ ‫هو‬.
• NetBeans based IDEs : MPLABX.
• VisualStudio based IDEs : Atmel Studio.
• Eclipse Based IDEs.
29
30
CMSIS Lib
cortex microcontroller software interface standard
Ref: The Definitive Guide To Cortex M3 Book :P.168
31
32
‫متحكمات‬ ‫مع‬ ‫البرمجي‬ ‫التعامل‬ARM
• Bare-Metal embedded C
‫عوائل‬ ‫لكل‬ ‫مناسبة‬ ،‫إضافية‬ ‫ومكونات‬ ‫متطلبات‬ ‫يوجد‬ ‫ال‬ARM
• RTOS (FreeRTOS-uclinux-chibios-…etc)
‫الذواكر‬ ‫من‬ ‫معين‬ ‫حجم‬ ‫توفر‬ ‫تتطلب‬RAM‫لمعظم‬ ‫مناسبة‬ ،
‫التشغيل‬ ‫متطلبات‬ ‫توفر‬ ‫عند‬ ‫العوائل‬
• OS (Android – embedded Linux distro- ..etc)
‫الذاكرة‬ ‫إدارة‬ ‫وحدة‬ ‫تتطلب‬MMU‫مناسبة‬ ،‫وسرعة‬ ‫وذواكر‬
‫لعوائل‬Cortex A.
33
‫المتحكم‬ ‫برمجة‬(‫الذاكرة‬ ‫على‬ ‫البرنامج‬ ‫حرق‬)
34
‫المتحكم‬ ‫برمجة‬(‫الذاكرة‬ ‫على‬ ‫البرنامج‬ ‫حرق‬)
• Atmel -> SPI interface (MOSI,MISO,VCC,Res) ->
internal flash.
• MicroChip -> (VPP,PGD,PGC,GND) -> internal
flash.
• ARM Processor -> Jtag/SWD ->Program+Debug.
35
36
Segger/JlinkOpenOCD based programmers/ using FT2232H
‫محدود‬ ‫الدعم‬ ،‫رخيصة‬ ‫واسع‬ ‫الدعم‬ ،‫غالية‬
‫اإلقالع‬ ‫محمل‬ Bootloader
•‫وحرق‬ ‫التعليمات‬ ‫ملف‬ ‫تلقي‬ ‫عن‬ ‫مسؤول‬ ‫صغير‬ ‫برنامج‬‫على‬ ‫ه‬
‫البرنامج‬ ‫ذاكرة‬.
•‫الـ‬Bootloaders‫منافذ‬ ‫عبر‬ ‫عادة‬ ‫يكون‬:
USB,UART,I2C,…etc
•‫الـ‬ ‫لحرق‬ ‫خارجية‬ ‫مبرمجة‬ ‫الستخدام‬ ‫حاجة‬ ‫هناك‬ ‫يزال‬ ‫ال‬
Bootloader‫مرة‬ ‫أول‬ ‫في‬.
•‫يشحنون‬ ‫الصغيرة‬ ‫المتحكمات‬ ‫مقدمي‬ ‫بعض‬Bootloader
‫مثل‬ ‫به‬ ‫خاصة‬ ‫ذاكرة‬ ‫هناك‬ ‫يكون‬ ‫أو‬ ‫اإلنتاج‬ ‫أثناء‬SAMBA
‫متحكمات‬ ‫في‬ATMEL‫مثل‬AT91SAM7 series
37
‫األدوات‬ ‫ملخص‬
•‫ح‬ ‫الالزمة‬ ‫العمليات‬ ‫وإجراء‬ ‫البرنامج‬ ‫تفسير‬ ‫عن‬ ‫المسؤولة‬ ‫األدوات‬‫تى‬
‫تسمى‬ ‫البرنامج‬ ‫ذاكرة‬ ‫على‬ ‫للبرمجة‬ ‫القابل‬ ‫الملف‬ ‫إنتاج‬Tool-chain.
•‫هناك‬3tool-chain‫لـ‬ ‫بالنسبة‬ ‫مشهورة‬ARM‫وهي‬:GNU GCC-
Keil-IAR
•‫عائلة‬ ‫لكل‬ ‫مرجعية‬ ‫مكتبة‬ ‫يوجد‬Cortex M‫تسمى‬CMSIS.
•‫الخارجية‬ ‫للبرمجات‬ ‫أساسيين‬ ‫نوعين‬ ‫يوجد‬:Jlink-OpenOCD
•‫منفذ‬JTAG‫أو‬SWD‫البرامج‬ ‫وتنقيح‬ ‫لبرمجة‬ ‫يستخدم‬.
38
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 , ARM
9
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 package
Break-Out Board
50
1
2
‫عائالت‬ ‫من‬ ‫عائلة‬ ‫اي‬ ‫اختيار‬ARM‫حاجتك‬ ‫تلبي‬
‫في‬ ‫خيارك‬ ‫على‬ ً‫ء‬‫بنا‬ ‫مزود‬ ‫اختيار‬1
3‫المتحكم‬ ‫مع‬ ‫البرمجي‬ ‫تعامل‬ ‫طريقة‬ ‫اختيار‬:‫سي‬ ‫لغة‬–RTOS…
51
1
2
‫عائالت‬ ‫من‬ ‫عائلة‬ ‫اي‬ ‫اختيار‬ARM‫حاجتك‬ ‫تلبي‬
‫في‬ ‫خيارك‬ ‫على‬ ً‫ء‬‫بنا‬ ‫مزود‬ ‫اختيار‬1
3‫المتحكم‬ ‫مع‬ ‫البرمجي‬ ‫تعامل‬ ‫طريقة‬ ‫اختيار‬:‫سي‬ ‫لغة‬–RTOS…
4‫الكيت‬ ‫اختيار‬Kit‫في‬ ‫اختيارك‬ ‫على‬ ً‫ء‬‫بنا‬3‫و‬1.
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‫في‬ ‫اختيارك‬ ‫على‬ ً‫ء‬‫بنا‬3‫و‬1.
0‫لمعالجات‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬32‫بت‬?ARM
58
0‫لمعالجات‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬32‫بت‬?ARM
Application layer
(‫اإللكتروني‬ ‫الجهاز‬ ‫وظيفة‬ ‫بأداء‬ ‫الخاص‬ ‫البرمجي‬ ‫الكود‬)
Physical layer
(‫فيز‬ ‫بضبطها‬ ‫الخاص‬ ‫البرمجي‬ ‫والكود‬ ‫المستخدمة‬ ‫اإللكترونية‬ ‫العناصر‬‫ئيا‬)
‫إلكتروني‬ ‫جهاز‬ ‫أي‬ ‫بنية‬
59
0‫لمعالجات‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬32‫بت‬?ARM
Application layer
‫تبني‬ ‫التي‬ ‫الطبقة‬ ‫هذه‬ ‫ليست‬‫العليا‬ ‫الطبقة‬ ‫وإنما‬ ‫ناجح‬ ‫تطبيق‬(‫محدودي‬ ‫حال‬ ‫في‬ ‫إال‬‫ة‬
‫الفيزيائية‬ ‫الطبقة‬)
‫إلكتروني‬ ‫جهاز‬ ‫أي‬ ‫بنية‬
60
0‫لمعالجات‬ ‫االنتقال‬ ‫مزايا‬32‫بت‬?ARM
‫المساوئ‬ ‫المزايا‬
•‫متحكم‬ ‫من‬ ‫أكثر‬ ‫تقنية‬ ‫تفاصيل‬ ‫يوجد‬‫ات‬8
‫بت‬
‫المبتدئين‬ ‫تناسب‬ ‫ال‬ ‫قد‬.
•‫منخفضة‬ ‫أسعار‬
•‫متعددة‬ ‫طرفيات‬
•‫مزويدين‬ ‫من‬ ‫مقدمة‬ ‫متعددة‬ ‫خيارات‬
‫مختلفين‬
•‫االنتقال‬ ‫سهولة‬‫بسبب‬ ‫آلخر‬ ‫مزود‬ ‫من‬
‫النواة‬ ‫نفس‬ ‫استخدام‬(‫والمحد‬ ‫األداء‬ ‫نفس‬‫دات‬
‫بالمعالجة‬ ‫الخاص‬).
•‫التقنية‬ ‫لهذه‬ ‫السوق‬ ‫تبني‬.
‫مهمة‬ ‫مراجع‬
61

More Related Content

Similar to Intro to Arm cortex m3_V2

مكونات الكمبيوتر المادية Copy
مكونات الكمبيوتر المادية    Copyمكونات الكمبيوتر المادية    Copy
مكونات الكمبيوتر المادية CopyAbeer Rizk
 
مقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLD
مقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLDمقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLD
مقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLDAl-Jouf College of Technology (KSA)
 
مكونات الكمبيوتر
مكونات الكمبيوترمكونات الكمبيوتر
مكونات الكمبيوترNahed Eid
 
عمارة الحاسب
عمارة الحاسبعمارة الحاسب
عمارة الحاسبتقانة
 
النظام الأساسي للكمبيوتر الشخصي
النظام الأساسي للكمبيوتر الشخصيالنظام الأساسي للكمبيوتر الشخصي
النظام الأساسي للكمبيوتر الشخصيKhalid Tabasi
 
Innovative systems icdl lesson 01 arabic
Innovative systems icdl lesson 01 arabicInnovative systems icdl lesson 01 arabic
Innovative systems icdl lesson 01 arabicKamal Al Mounajed
 
هوازن ناضره - الحاسب الآلي
هوازن ناضره - الحاسب الآليهوازن ناضره - الحاسب الآلي
هوازن ناضره - الحاسب الآليAcademic Supervisor
 
الصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخلية
الصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخليةالصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخلية
الصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخليةmoaa alaassr
 
مكونات الحاسب.ppt
مكونات الحاسب.pptمكونات الحاسب.ppt
مكونات الحاسب.pptMustaphaLarouci
 
abdullah alshehri A+
abdullah alshehri  A+abdullah alshehri  A+
abdullah alshehri A+abood20
 
مكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأممكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأمAhmad Abdelbaqy
 
الوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوب
الوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوبالوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوب
الوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوبEyad Almasri
 
انتاج المهمة الأول
انتاج المهمة الأولانتاج المهمة الأول
انتاج المهمة الأولAsmaa Youssef
 

Similar to Intro to Arm cortex m3_V2 (20)

عرض عمارة الحاسب 05
عرض عمارة الحاسب 05عرض عمارة الحاسب 05
عرض عمارة الحاسب 05
 
Cour.semestre.01.(info01)
 Cour.semestre.01.(info01) Cour.semestre.01.(info01)
Cour.semestre.01.(info01)
 
مكونات الكمبيوتر المادية Copy
مكونات الكمبيوتر المادية    Copyمكونات الكمبيوتر المادية    Copy
مكونات الكمبيوتر المادية Copy
 
مقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLD
مقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLDمقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLD
مقدمة عن الدوائر المنطقيّة القابلة للبرمجة PLD
 
مكونات الكمبيوتر
مكونات الكمبيوترمكونات الكمبيوتر
مكونات الكمبيوتر
 
عمارة الحاسب
عمارة الحاسبعمارة الحاسب
عمارة الحاسب
 
Microservice pattern
Microservice patternMicroservice pattern
Microservice pattern
 
النظام الأساسي للكمبيوتر الشخصي
النظام الأساسي للكمبيوتر الشخصيالنظام الأساسي للكمبيوتر الشخصي
النظام الأساسي للكمبيوتر الشخصي
 
Innovative systems icdl lesson 01 arabic
Innovative systems icdl lesson 01 arabicInnovative systems icdl lesson 01 arabic
Innovative systems icdl lesson 01 arabic
 
هوازن ناضره - الحاسب الآلي
هوازن ناضره - الحاسب الآليهوازن ناضره - الحاسب الآلي
هوازن ناضره - الحاسب الآلي
 
Processor
ProcessorProcessor
Processor
 
الصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخلية
الصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخليةالصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخلية
الصف العاشر-الذاكرة-الرئيسية-ومكونات-جهاز-الحاسوب-الداخلية
 
مكونات الحاسب.ppt
مكونات الحاسب.pptمكونات الحاسب.ppt
مكونات الحاسب.ppt
 
رانا أحمد
رانا أحمد رانا أحمد
رانا أحمد
 
abdullah alshehri A+
abdullah alshehri  A+abdullah alshehri  A+
abdullah alshehri A+
 
مكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأممكونات الحاسب الآلي - اللوحة الأم
مكونات الحاسب الآلي - اللوحة الأم
 
الوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوب
الوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوبالوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوب
الوحدة الثانية - مكونات الحاسوب المادية والبرمجية -مهارات الحاسوب
 
عرض عمارة الحاسب 02
عرض عمارة الحاسب 02عرض عمارة الحاسب 02
عرض عمارة الحاسب 02
 
انتاج المهمة الأول
انتاج المهمة الأولانتاج المهمة الأول
انتاج المهمة الأول
 
Processor
ProcessorProcessor
Processor
 

More from yahya tawil

introduction to computer and automation engineering
introduction to computer and automation engineering introduction to computer and automation engineering
introduction to computer and automation engineering yahya tawil
 
Hardware startup v3
Hardware startup v3Hardware startup v3
Hardware startup v3yahya tawil
 
Programming for hardwarians
Programming for hardwariansProgramming for hardwarians
Programming for hardwariansyahya tawil
 
Hardware startup
Hardware startup Hardware startup
Hardware startup yahya tawil
 
Wikilogia hackerspace fpga
Wikilogia hackerspace fpgaWikilogia hackerspace fpga
Wikilogia hackerspace fpgayahya tawil
 
Soldring basics(ar)|wikilogiahackerspace
Soldring basics(ar)|wikilogiahackerspaceSoldring basics(ar)|wikilogiahackerspace
Soldring basics(ar)|wikilogiahackerspaceyahya tawil
 
Open hardware tablets
Open hardware tabletsOpen hardware tablets
Open hardware tabletsyahya tawil
 
البيئة مفتوحة المصدر
البيئة مفتوحة المصدرالبيئة مفتوحة المصدر
البيئة مفتوحة المصدرyahya tawil
 

More from yahya tawil (13)

introduction to computer and automation engineering
introduction to computer and automation engineering introduction to computer and automation engineering
introduction to computer and automation engineering
 
Hardware startup v3
Hardware startup v3Hardware startup v3
Hardware startup v3
 
Programming for hardwarians
Programming for hardwariansProgramming for hardwarians
Programming for hardwarians
 
Hardware startup
Hardware startup Hardware startup
Hardware startup
 
Fablogiapresent
FablogiapresentFablogiapresent
Fablogiapresent
 
Wikilogia hackerspace fpga
Wikilogia hackerspace fpgaWikilogia hackerspace fpga
Wikilogia hackerspace fpga
 
Soldring basics(ar)|wikilogiahackerspace
Soldring basics(ar)|wikilogiahackerspaceSoldring basics(ar)|wikilogiahackerspace
Soldring basics(ar)|wikilogiahackerspace
 
Oh intro v2
Oh intro v2Oh intro v2
Oh intro v2
 
Open hardware tablets
Open hardware tabletsOpen hardware tablets
Open hardware tablets
 
Fab lab
Fab labFab lab
Fab lab
 
البيئة مفتوحة المصدر
البيئة مفتوحة المصدرالبيئة مفتوحة المصدر
البيئة مفتوحة المصدر
 
S@n@
S@n@S@n@
S@n@
 
Oh intro
Oh introOh intro
Oh intro
 

Intro to Arm cortex m3_V2

  • 1. ‫معالجات‬ ‫عن‬ ‫تعريفية‬ ‫جلسة‬ ARM ‫م‬.‫طويل‬ ‫يحيى‬ Yahya.tawil@gmail.com 1 ‫دمشق‬ ‫جامعة‬ ‫والكهربائية‬ ‫الميكانيكية‬ ‫الهندسة‬ ‫كلية‬
  • 2. ‫المحتويات‬ •‫شركة‬ ‫عن‬ ‫مقدمة‬ARM. •‫ومواصفات‬ ‫بنية‬ ‫عن‬ ‫لمحة‬ARM. •‫معالجات‬ ‫مع‬ ‫التعامل‬ ‫أدوات‬ARM. •‫المناس‬ ‫والمزود‬ ‫المناسبة‬ ‫العائلة‬ ‫واختيار‬ ‫البدء‬ ‫كيفية‬‫ب‬. •‫متحكمات‬ ‫إلى‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬ARM 32-bit‫؟‬ •‫المراجع‬. 2
  • 5. 5 •ARM‫المركزي‬ ‫المعالجة‬ ‫وحدة‬ ‫بنية‬ ‫هي‬Architecture of CPU ARM processor-based microcontrollers
  • 6. 6 • ARM CPU+ ‫طرفيات‬ = ARM processor-based microcontrollers ARM processor-based microcontrollers
  • 7. ‫صنع‬ ‫متحكمات‬ ‫يوجد‬ ‫هل‬? ARM •‫شركة‬ARM‫تصنع‬ ‫ال‬ ‫شركة‬ ‫هي‬fabless •‫الخاص‬ ‫المعالج‬ ‫تصميم‬ ‫استخدام‬ ‫حقوق‬ ‫تبيع‬‫بها‬IP Core. 7
  • 8. ‫المعالجة‬ ‫وحدة‬ ‫بنفس‬ ‫مختلفين‬ ‫مصنعين‬! •‫الصغرية‬ ‫المتحكمات‬ ‫مختلف‬ ‫بين‬ ‫موحد‬ ‫معيار‬. •‫التنقل‬ ‫سهولة‬Porting‫آلخر‬ ‫صغري‬ ‫متحكم‬ ‫بين‬(‫أقل‬ ‫كلفة‬ –‫أقل‬ ‫تطوير‬ ‫زمن‬.) •‫ذلك‬ ‫من‬ ‫أكثر‬Architectural level of IP license StrongARM – Xscale 8
  • 12. 12
  • 13. 13
  • 14. • ARM ISA :32bit only Instruction. • THUMB :16bit only Instruction. • THUMB-2 :16bit and 32bit Instruction. •ARM Cortex M3‫يدعم‬‫فقط‬THUMB-2 14 ARM,THUMB,THUMB2 ‫التعليمات‬ ‫مجموعة‬
  • 15. ARM,THUMB,THUMB2 ‫التعليمات‬ ‫مجموعة‬ Ref: The Definitive Guide To Cortex M3 Book P.9 15
  • 16. – Modes: Handler*-Thread. – Privilege levels: Privileged – User. Ref: The Definitive Guide To Cortex M3 Book P.14 * Handler = interrupt service routine 16 ‫والصالحية‬ ‫التشغيل‬ ‫أنماط‬
  • 18. I-BUS D-BUS Ref: The Definitive Guide To Cortex M3 Book P.107 18
  • 19. 19
  • 20. Race Condition / exclusive access CMSIS Lib Provided Function Instruction Ref: The Definitive Guide To Cortex M3 Book 20
  • 23. Vector Table Ref: The Definitive Guide To Cortex M3 Book P.41 & P.35 23
  • 24. Bit Band • Bitband Region ‫عناوين‬ ‫تحوي‬ ‫الذاكرة‬ ‫من‬ ‫منطقة‬ ‫أخرى‬ ‫منطقة‬ ‫بتات‬ ‫فيزيائية‬ Ref: The Definitive Guide To Cortex M3 Book 24
  • 25. ‫الميزات‬ ‫ملخص‬ •‫منفصل‬ ‫للتعليمات‬ ‫مسار‬ ‫يوجد‬ ‫وبالتالي‬ ‫هارفرد‬ ‫بنية‬ ‫استخدام‬‫مسار‬ ‫عن‬ ‫نواقل‬ ‫بنية‬ ‫وديناميكية‬ ‫المعطيات‬ARM‫خارجية‬ ‫ذواكر‬ ‫ربط‬ ‫تسمح‬ ‫التي‬ ‫أخرى‬ ‫بينية‬ ‫وترابطات‬. •‫يوجد‬3‫التعليمات‬ ‫مجموعة‬ ‫من‬ ‫أنواع‬:ARM,THUMB,THUMB2 •‫الصالحية‬ ‫من‬ ‫ونوعين‬ ‫التنفيذ‬ ‫أنماط‬ ‫من‬ ‫نمطين‬ ‫يوجد‬(‫أ‬ ‫من‬ ‫يفيد‬‫نظم‬ ‫جل‬ ‫التشغيل‬.) •‫بت‬ ‫كل‬ ‫مستوى‬ ‫على‬ ‫للنفاذ‬ ‫قابلة‬ ‫الذاكرة‬ ‫من‬ ‫منطقتين‬ ‫يوجد‬. •‫الذاكرة‬ ‫في‬ ‫التوضيع‬ ‫إلعادة‬ ‫قابلة‬ ‫المقاطعة‬ ‫جدول‬. •‫طرفية‬Systick‫زمنية‬ ‫مقاطعة‬ ‫إلعطاء‬(‫نظم‬ ‫أجل‬ ‫من‬ ‫يفيد‬ ‫التشغيل‬/‫المهام‬ ‫جدولة‬scheduling process.) 25
  • 28. ‫الـ‬ ‫أشهر‬Tool-chain‫بـ‬ ‫الخاصة‬ARM ‫المصدر‬ ‫مفتوح‬ ،‫مجاني‬ ‫نسخة‬ ‫يوجد‬ ،‫المصدر،مدفوع‬ ‫مغلق‬ ‫البرنامج‬ ‫حجم‬ ‫في‬ ‫محدودية‬ ‫مع‬ ‫مجانية‬ ‫المترجم‬ ‫نسخة‬ ‫يوجد‬ ،‫مدفوع‬ ،‫المصدر‬ ‫مغلق‬ ‫البرنامج‬ ‫حجم‬ ‫في‬ ‫محدودية‬ ‫مع‬ ‫مجانية‬ ‫المترجم‬ 28
  • 29. IDEs •‫الـ‬IDE‫مترجم‬ ‫وليس‬ ‫تطوير‬ ‫بيئة‬ ‫هو‬. • NetBeans based IDEs : MPLABX. • VisualStudio based IDEs : Atmel Studio. • Eclipse Based IDEs. 29
  • 30. 30
  • 31. CMSIS Lib cortex microcontroller software interface standard Ref: The Definitive Guide To Cortex M3 Book :P.168 31
  • 32. 32
  • 33. ‫متحكمات‬ ‫مع‬ ‫البرمجي‬ ‫التعامل‬ARM • Bare-Metal embedded C ‫عوائل‬ ‫لكل‬ ‫مناسبة‬ ،‫إضافية‬ ‫ومكونات‬ ‫متطلبات‬ ‫يوجد‬ ‫ال‬ARM • RTOS (FreeRTOS-uclinux-chibios-…etc) ‫الذواكر‬ ‫من‬ ‫معين‬ ‫حجم‬ ‫توفر‬ ‫تتطلب‬RAM‫لمعظم‬ ‫مناسبة‬ ، ‫التشغيل‬ ‫متطلبات‬ ‫توفر‬ ‫عند‬ ‫العوائل‬ • OS (Android – embedded Linux distro- ..etc) ‫الذاكرة‬ ‫إدارة‬ ‫وحدة‬ ‫تتطلب‬MMU‫مناسبة‬ ،‫وسرعة‬ ‫وذواكر‬ ‫لعوائل‬Cortex A. 33
  • 35. ‫المتحكم‬ ‫برمجة‬(‫الذاكرة‬ ‫على‬ ‫البرنامج‬ ‫حرق‬) • Atmel -> SPI interface (MOSI,MISO,VCC,Res) -> internal flash. • MicroChip -> (VPP,PGD,PGC,GND) -> internal flash. • ARM Processor -> Jtag/SWD ->Program+Debug. 35
  • 36. 36 Segger/JlinkOpenOCD based programmers/ using FT2232H ‫محدود‬ ‫الدعم‬ ،‫رخيصة‬ ‫واسع‬ ‫الدعم‬ ،‫غالية‬
  • 37. ‫اإلقالع‬ ‫محمل‬ Bootloader •‫وحرق‬ ‫التعليمات‬ ‫ملف‬ ‫تلقي‬ ‫عن‬ ‫مسؤول‬ ‫صغير‬ ‫برنامج‬‫على‬ ‫ه‬ ‫البرنامج‬ ‫ذاكرة‬. •‫الـ‬Bootloaders‫منافذ‬ ‫عبر‬ ‫عادة‬ ‫يكون‬: USB,UART,I2C,…etc •‫الـ‬ ‫لحرق‬ ‫خارجية‬ ‫مبرمجة‬ ‫الستخدام‬ ‫حاجة‬ ‫هناك‬ ‫يزال‬ ‫ال‬ Bootloader‫مرة‬ ‫أول‬ ‫في‬. •‫يشحنون‬ ‫الصغيرة‬ ‫المتحكمات‬ ‫مقدمي‬ ‫بعض‬Bootloader ‫مثل‬ ‫به‬ ‫خاصة‬ ‫ذاكرة‬ ‫هناك‬ ‫يكون‬ ‫أو‬ ‫اإلنتاج‬ ‫أثناء‬SAMBA ‫متحكمات‬ ‫في‬ATMEL‫مثل‬AT91SAM7 series 37
  • 38. ‫األدوات‬ ‫ملخص‬ •‫ح‬ ‫الالزمة‬ ‫العمليات‬ ‫وإجراء‬ ‫البرنامج‬ ‫تفسير‬ ‫عن‬ ‫المسؤولة‬ ‫األدوات‬‫تى‬ ‫تسمى‬ ‫البرنامج‬ ‫ذاكرة‬ ‫على‬ ‫للبرمجة‬ ‫القابل‬ ‫الملف‬ ‫إنتاج‬Tool-chain. •‫هناك‬3tool-chain‫لـ‬ ‫بالنسبة‬ ‫مشهورة‬ARM‫وهي‬:GNU GCC- Keil-IAR •‫عائلة‬ ‫لكل‬ ‫مرجعية‬ ‫مكتبة‬ ‫يوجد‬Cortex M‫تسمى‬CMSIS. •‫الخارجية‬ ‫للبرمجات‬ ‫أساسيين‬ ‫نوعين‬ ‫يوجد‬:Jlink-OpenOCD •‫منفذ‬JTAG‫أو‬SWD‫البرامج‬ ‫وتنقيح‬ ‫لبرمجة‬ ‫يستخدم‬. 38
  • 40. 40 ‫والمزود‬ ‫المناسبة‬ ‫العائلة‬ ‫واختيار‬ ‫البدء‬ ‫كيفية‬‫المناسب‬
  • 41. 41 1‫عائالت‬ ‫من‬ ‫عائلة‬ ‫اي‬ ‫اختيار‬ARM‫حاجتك‬ ‫تلبي‬
  • 42. 42 1 2 ‫عائالت‬ ‫من‬ ‫عائلة‬ ‫اي‬ ‫اختيار‬ARM‫حاجتك‬ ‫تلبي‬ ‫في‬ ‫خيارك‬ ‫على‬ ً‫ء‬‫بنا‬ ‫مزود‬ ‫اختيار‬1
  • 43. 43 ‫معايير‬ ‫عدة‬ ‫على‬ ‫بناء‬ ‫المزودين‬ ‫بدراسة‬ ‫قم‬: •‫مناسب‬ ‫توثيق‬ ‫توفر‬. •‫مناسبة‬ ‫المتحكمات‬ ‫أسعار‬(‫معين‬ ‫منتج‬ ‫تطلق‬ ‫أن‬ ‫تخطط‬ ‫كنت‬ ‫حال‬ ‫في‬) •‫األم‬ ‫الشركة‬ ‫من‬ ‫مدعومة‬ ‫برمجية‬ ‫تطوير‬ ‫بيئة‬ ‫توفر‬. •‫البرمجي‬ ‫الدعم‬ ‫توفر‬(‫نسخ‬ ‫توفير‬ ‫أو‬ ‫الطرفيات‬ ‫مع‬ ‫للتعامل‬ ‫مكاتب‬ ‫كتوفير‬‫توزيعات‬ ‫لينكس‬...‫إلخ‬.) •‫تطويرية‬ ‫أدوات‬ ‫توفر‬Kits‫منها‬ ‫لتبدأ‬ ‫مناسة‬. •‫تعليمية‬ ‫ومصادر‬ ‫ومشاريع‬ ‫مجتمع‬ ‫توفر‬. 2
  • 44. 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 , ARM 9 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. 45 2
  • 46. 46 2
  • 47. 47 2
  • 48. 48 2
  • 49. 49 2 DIP28 package! ARM Cortex-M0 processor, running at frequencies of up to 50 MHz ARM MCU IC packages QFN package QFP package Break-Out Board
  • 50. 50 1 2 ‫عائالت‬ ‫من‬ ‫عائلة‬ ‫اي‬ ‫اختيار‬ARM‫حاجتك‬ ‫تلبي‬ ‫في‬ ‫خيارك‬ ‫على‬ ً‫ء‬‫بنا‬ ‫مزود‬ ‫اختيار‬1 3‫المتحكم‬ ‫مع‬ ‫البرمجي‬ ‫تعامل‬ ‫طريقة‬ ‫اختيار‬:‫سي‬ ‫لغة‬–RTOS…
  • 51. 51 1 2 ‫عائالت‬ ‫من‬ ‫عائلة‬ ‫اي‬ ‫اختيار‬ARM‫حاجتك‬ ‫تلبي‬ ‫في‬ ‫خيارك‬ ‫على‬ ً‫ء‬‫بنا‬ ‫مزود‬ ‫اختيار‬1 3‫المتحكم‬ ‫مع‬ ‫البرمجي‬ ‫تعامل‬ ‫طريقة‬ ‫اختيار‬:‫سي‬ ‫لغة‬–RTOS… 4‫الكيت‬ ‫اختيار‬Kit‫في‬ ‫اختيارك‬ ‫على‬ ً‫ء‬‫بنا‬3‫و‬1.
  • 52. 52 4 NUCLEO - Development Board ~ 10$ Debugger
  • 53. 53 4 Tiva c - Development Board ~ 20$ Debugger
  • 54. 54 4 Pioneer - Development Board (Base Board) ~ 24$ Debugger Header
  • 55. 55 4 EFM32 Gecko – Starter KIT ~ 29$ Debugger, underscreen
  • 56. 56 4 EFM32 Gecko – developer KIT ~ 309 $
  • 57. 57 1 2 ‫عائالت‬ ‫من‬ ‫عائلة‬ ‫اي‬ ‫اختيار‬ARM‫حاجتك‬ ‫تلبي‬ ‫في‬ ‫خيارك‬ ‫على‬ ً‫ء‬‫بنا‬ ‫مزود‬ ‫اختيار‬1 3‫المتحكم‬ ‫مع‬ ‫البرمجي‬ ‫تعامل‬ ‫طريقة‬ ‫اختيار‬:‫سي‬ ‫لغة‬–RTOS… 4‫الكيت‬ ‫اختيار‬Kit‫في‬ ‫اختيارك‬ ‫على‬ ً‫ء‬‫بنا‬3‫و‬1. 0‫لمعالجات‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬32‫بت‬?ARM
  • 58. 58 0‫لمعالجات‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬32‫بت‬?ARM Application layer (‫اإللكتروني‬ ‫الجهاز‬ ‫وظيفة‬ ‫بأداء‬ ‫الخاص‬ ‫البرمجي‬ ‫الكود‬) Physical layer (‫فيز‬ ‫بضبطها‬ ‫الخاص‬ ‫البرمجي‬ ‫والكود‬ ‫المستخدمة‬ ‫اإللكترونية‬ ‫العناصر‬‫ئيا‬) ‫إلكتروني‬ ‫جهاز‬ ‫أي‬ ‫بنية‬
  • 59. 59 0‫لمعالجات‬ ‫أنتقل‬ ‫أن‬ ‫يجب‬ ‫هل‬32‫بت‬?ARM Application layer ‫تبني‬ ‫التي‬ ‫الطبقة‬ ‫هذه‬ ‫ليست‬‫العليا‬ ‫الطبقة‬ ‫وإنما‬ ‫ناجح‬ ‫تطبيق‬(‫محدودي‬ ‫حال‬ ‫في‬ ‫إال‬‫ة‬ ‫الفيزيائية‬ ‫الطبقة‬) ‫إلكتروني‬ ‫جهاز‬ ‫أي‬ ‫بنية‬
  • 60. 60 0‫لمعالجات‬ ‫االنتقال‬ ‫مزايا‬32‫بت‬?ARM ‫المساوئ‬ ‫المزايا‬ •‫متحكم‬ ‫من‬ ‫أكثر‬ ‫تقنية‬ ‫تفاصيل‬ ‫يوجد‬‫ات‬8 ‫بت‬ ‫المبتدئين‬ ‫تناسب‬ ‫ال‬ ‫قد‬. •‫منخفضة‬ ‫أسعار‬ •‫متعددة‬ ‫طرفيات‬ •‫مزويدين‬ ‫من‬ ‫مقدمة‬ ‫متعددة‬ ‫خيارات‬ ‫مختلفين‬ •‫االنتقال‬ ‫سهولة‬‫بسبب‬ ‫آلخر‬ ‫مزود‬ ‫من‬ ‫النواة‬ ‫نفس‬ ‫استخدام‬(‫والمحد‬ ‫األداء‬ ‫نفس‬‫دات‬ ‫بالمعالجة‬ ‫الخاص‬). •‫التقنية‬ ‫لهذه‬ ‫السوق‬ ‫تبني‬.