رفتن به مطلب

پست های پیشنهاد شده

اگر کسی در مورد میکروکنترلرهای ARM چیزی میدونه تواین تاپیک قرار بده......

 

 

stdv912f.gif

به اشتراک گذاری این ارسال


لینک به ارسال

1-تو مقاله زیر با طرح چند سوال با کامپایلرهای arm و سخت افزار آن اشنا میشید

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

------------------------------------

 

2-تو این مقاله با محیط نرم افزار keil جهت برنامه نویسی میکرو کنترلرهای ARM اشنا میشید

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

------------------------------------------

 

تو این مقاله با عملگرها و متغیرهای ریاضی وبرخی دستورات مربوط به برنامه نویسی ARM آشنا میشید

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

به اشتراک گذاری این ارسال


لینک به ارسال

یه pdf که شامل گزیده ای از دیتاشیت AT91m42800A می باشد:

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

به اشتراک گذاری این ارسال


لینک به ارسال

در این pdf اطلاعاتی در مورد 3 ای سی AT91SAM7x512 AT91SAM7x128 AT91SAM7x256 و بیان ویژگیها و تفاوتهای آنها آورده شده است.در فایل دوم نیز به بررسی سخت افزاری این میکروکنترلرها پرداخته است.

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

به اشتراک گذاری این ارسال


لینک به ارسال

arm چی هست؟

 

این قطعات پردازنده ای هستند ، از نوع 32 بیتی و دارای معماری RISC هستند و سرعت نسبتا بالایی هم دارند (کلاک از 300 تا 2000 مگاهرتز)و مجهز به برخی امکانات داخلی (adc و dac و تایمر وکانتر و pwm و rtc و i2c و spi و dmaو ...)وحافظه کش هستند . قابلیت ها و باس های استانداردی که برای این پروسسورها در نظر گرفته شده به همراه سرعت بالا ، حافظه کش مناسب ، مقایسه گرهای داخلی ، تایمرهای 16 بیتی برای پیاده سازی RTC و ... ، باعث شده که عملکرد این تراشه ها نسبت به انواع دیگر پروسسورهای هم تراز ، دارای کیفیت و قدرت بالاتری باشه .

 

 

 

چرا قبلا از این پردازنده استفاده نمیشده ، ایا به تازگی وارد بازار شدند؟

 

 

این پردازنده قبلا توسط شرکت arm تولید میشده که این شرکت هم به قیمت بالا این پردازنده رو به مشتریان خاص میفروخته ، اما از اوایل سال 2002 به بعد این شرکت مجوز ساخت این پردازنده رو به شرکتی های همچون ATMEL و

Luminary Micro و شركت philips و چند تا شرکت دیگه میده .

شرکت های فوق با اضافه کردن امکاناتی مثل انواع مبدل ها (دیجتال به انالوگ و ....)، انواع رابط ها (بلوتوث ، usb )و... این پردازنده رو به یک پردازنده عمومی تبدیل میکنند و اون رو به بازار جهانی عرضه میکنن.

 

 

برای برنامه نویسی این پردازنده ها از چه زبان و کامپایلری استفاده میشه ؟

 

 

برای برنامه نویسی این پردازنده از زبان های c و بیسیک و اسمبلی استفاده میشه .

کلیه کامپایلر های زبان اسمبلی برای این پردازنده رایگان هستند و شما میتونید از لینک های زیر اونا رو دانلود کنید:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
. uk/ONLINE/BEGINPRG/INDEX.HTM

برای زبان های c مثل خود c و c++ کامپایلر های متعددی ارائه شده که کی از این کامپایلر ها کامپایلر keil uvision هست که در اون میشه به زبان های اسمبلی و c و c++ برنامه نوشت .

نسخه رایگان این کامپایلر در لینک زیر موجود است:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

برای زبان بیسیک نیز کامپایلر بسکام arm وجود داره که هنوز در دسترس عموم قرار نگرفته تا کرک بشه.

 

 

ایا این پردازنده cpu هستند یا مانند میکرو کنترلر ها میباشند ، یعنی در در داخل خود ram و i/o و.. دارند یا نه ما خودمان باید این امکانات را بهش اضافه کنیم ؟

 

این پردازنده در نمونه های گوناگونی ارایه شده است مثلا مدل LPC2138 دارای 512 کیلو حافظه فلش ، 32 کیلو حافظه رم ، مبدل آنالوگ به دیجیتال ، مبدل دیجیتال به آنالوگ و ... میباشد

یا مدل at76c551 ساخت شرکت اتمل دارای امکانتی همچون بلوتوث ، ارتباط usb و... هست

یا مدل arm7tdmi فقط یک پردازنده است که روی خود فقط خطوط i/o دارد و باید برای ان مانند یک میکرو پروسوسر واحد های rom و ram و کانتر و... تعبیه کرد

این پردازنده در مدل های وسیع ساخته میشوند (بسیار گسترده تر از avr و pic و.. ) و دست شما برای انتخاب باز است برای اطلاعات بیشتر در مورد هر پردازنده به شرکت سازنده مراجعه کنید :

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

ایا برای شبیه سازی این میکرو پروسسور ها نرم افزاری وجود دارد ، قیمت انها در چه حدی است ؟

 

 

خود نرم افزار kiel دارای قسمت شبیه ساز میباشد ، به علاوه نرم افزار قدرتمند پروتوس نیز از این پروسسور ها پشتیبانی میکند

 

قیمت این پروسسور ها بسته به امکانات از 5 تا 500 هزار تومان متغییر است،

مثلا قیمت lpc2300 نه هزار تومان است ، این پروسسور دارای امکانات زیر میباشد:

فرکانس کاری 72 مگاهرتز

512 کیلو حافظه فلش قابل برنامه ریزی

8 کیلو sram برای cpu و 16 کیلو برای شبکه و 8 کیلو هم برای usb

قابلیت اتصال به usb و شبکه lan و...

قابلیت اتصال کارت mmc و sd و...

پشتیبانی از usb 2.0

پورت های spi و i2c و ...

70 تا پایه ورودی و خروجی

6 تا adc ده بیتی

چند تا dac 10 بیتی (توی دیتا شیت تعداد نزده)

5 عدد تایمر و کانتر که میتونن از بیرون تحریک بشن و ...

rtc

ولتاژ تغذیه 3.3 تا 3.6 ولت

نوسان ساز داخلی کریستالی از 1 تا 24 مگاهرتز

و کلی امکانات دیگه که توی دیتا شیت این پروسسور موجود هست.

 

 

ایا کتاب و منبع فارسی یا انگلیسی برای یاد گیری این پروسسور میشناسید ؟

 

منبع انگلیسی :

help نرم افزار و سایت های زیر:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

کتاب به زبان اسمبلی:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

به اشتراک گذاری این ارسال


لینک به ارسال

معماری سیستم روی تراشه ARM - حجم 17,917 KB

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

ARM_system-on-chip_architecture.pdf

 

فهرست مطالب :

 

An Introduction to Processor Design

1.1 Processor architecture and organization

1.2 Abstraction in hardware design

1.3 MU0 - a simple processor

1.4 Instruction set design

1.5 Processor design trade-offs

1.6 The Reduced Instruction Set Computer

1.7 Design for low power consumption

1.8 Examples and exercises

 

 

The ARM Architecture

2.1 The Acorn RISC Machine

2.2 Architectural inheritance

2.3 The ARM programmer's model

2.4 ARM development tools

2.5 Example and exercises

 

 

ARM Assembly Language Programming

3.1 Data processing instructions

3.2 Data transfer instructions

3.3 Control flow instructions

3.4 Writing simple assembly language programs

3.5 Examples and exercises

 

 

ARM Organization and Implementation

4.1 3-stage pipeline ARM organization

4.2 5-stage pipeline ARM organization

4.3 ARM instruction execution

4.4 ARM implementation

4.5 The ARM coprocessor interface

4.6 Examples and exercises

 

 

The ARM Instruction Set

5.1 Introduction

5.2 Exceptions

5.3 Conditional execution

5.4 Branch and Branch with Link (B, BL)

5.5 Branch, Branch with Link and eXchange (BX, BLX)

5.6 Software Interrupt (SWI)

5.7 Data processing instructions

5.8 Multiply instructions

5.9 Count leading zeros (CLZ - architecture v5T only)

5.10 Single word and unsigned byte data transfer instructions

5.11 Half-word and signed byte data transfer instructions

5.12 Multiple register transfer instructions

5.13 Swap memory and register instructions (SWP)

5.14 Status register to general register transfer instructions

5.15 General register to status register transfer instructions

5.16 Coprocessor instructions

5.17 Coprocessor data operations

5.18 Coprocessor data transfers

5.19 Coprocessor register transfers

5.20 Breakpoint instruction (BRK - architecture v5T only)

5.21 Unused instruction space

5.22 Memory faults

5.23 ARM architecture variants

5.24 Example and exercises

 

 

Architectural Support for High-Level Languages

6.1 Abstraction in software design

6.2 Data types

6.3 Floating-point data types

6.4 The ARM floating-point architecture

6.5 Expressions

6.6 Conditional statements

6.7 Loops

6.8 Functions and procedures

6.9 Use of memory

6.10 Run-time environment

6.11 Examples and exercises

 

 

The Thumb Instruction Set

7.1 The Thumb bit in the CPSR

7.2 The Thumb programmer's model

7.3 Thumb branch instructions

7.4 Thumb software interrupt instruction

7.5 Thumb data processing instructions

7.6 Thumb single register data transfer instructions

7.7 Thumb multiple register data transfer instructions

7.8 Thumb breakpoint instruction

7.9 Thumb implementation

7.10 Thumb applications

7.11 Example and exercises

 

 

Architectural Support for System Development

8.1 The ARM memory interface

8.2 The Advanced Microcontroller Bus Architecture (AMBA)

8.3 The ARM reference peripheral specification

8.4 Hardware system prototyping tools

8.5 The ARMulator

8.6 The JTAG boundary scan test architecture

8.7 The ARM debug architecture

8.8 Embedded Trace

8.9 Signal processing support

8.10 Example and exercises

 

 

ARM Processor Cores

9.1 ARM7TDMI

9.2 ARM8

9.3 ARM9TDMI

9.4 ARM10TDMI

9.5 Discussion

9.6 Example and exercises

 

 

Memory Hierarchy

10.1 Memory size and speed

10.2 On-chip memory

10.3 Caches

10.4 Cache design - an example

10.5 Memory management

10.6 Examples and exercises

 

 

Architectural Support for Operating Systems

 

11.1 An introduction to operating systems

11.2 The ARM system control coprocessor

11.3 CP15 protection unit registers

11.4 ARM protection unit

11.5 CP15 MMU registers

11.6 ARM MMU architecture

11.7 Synchronization

11.8 Context switching

11.9 Input/Output

11.10 Example and exercises

 

 

ARM CPU Cores

12.1 The ARM710T, ARM720T and ARM740T

12.2 The ARM810

12.3 The StrongARM SA-110

12.4 The ARM920T and ARM940T

12.5 The ARM946E-S and ARM966E-S

12.6 The ARM1020E

12.7 Discussion

12.8 Example and exercises

 

 

Embedded ARM Applications

13.1 The VLSI Ruby II Advanced Communication Processor

13.2 The VLSI ISDN Subscriber Processor

13.3 The OneC™ VWS22100 GSM chip

13.4 The Ericsson-VLSI Bluetooth Baseband Controller

13.5 The ARM7500 and ARM7500FE

13.6 The ARM7100

13.7 The SA-1100

13.8 Examples and exercises

 

 

The AMULET Asynchronous ARM Processors

14.1 Self-timed design

14.2 AMULET1

14.3 AMULET2

14.4 AMULET2e

14.5 AMULET3

14.6 The DRACO telecommunications controller

14.7 A self-timed future?

14.8 Example and exercises

 

 

Appendix: Computer Logic

به اشتراک گذاری این ارسال


لینک به ارسال

پروژه ساخت برد آموزشی ARM

arm%20am.jpg

 

شما میتونید نقشه PCB این برد آموزشی رو از این لینک دانلود کنید.

به اشتراک گذاری این ارسال


لینک به ارسال

امروزه با پیشرفت روز افزون تجهیزات و الكترونیكی شدن آنها، بكارگیری سیستم های یكپارچه رونق زیادی یافته است. به طوری كه در اكثر دستگا ههای جدید از این سیستم ها استفاده می شود. به عنوان مثال گوشی های همراه، دستگاه و ....اكثراً دارای این تجهیزات الكترونیكی می باشند. با توجه به این موضوع اكثر ABS سیستم های ترمز ،GPS شركت ها و كارخانجات الكترونیكی به سمت این سیستم های الكترونیكی روی آورده اند. كه این خود باعث ایجاد یك رقابت در بین تولیدكنندگان پردازنده های سرعت بالا شده است. در این خلال نسل جدید پردازنده های ARM به بازار معرفی شدند ، كه دارای سیستم پردازش 32 بیتی با سرعت پردازش چند مگاهرتز تا چند صد مگ اهرتز می باشند . سرعت بالا، قیمت ارزان و حجم كم این پردازنده ها باعث شد كه اكثر تولیدكنندگان میكروكنترلرها و پروسسورها مانند ATMEL PHILIPS, و... آنرا در لیست محصولات خود قرار دهند.حجم كم پردازنده های ARM باعث شده كه اكثر فضای داخلی میكروكنترلرها برای تجهیزات جانبی مانند DAC ، Serial, LAN, USB, ADC و ... بكار گرفته شود.هسته داخلی تمام میكروكنترلرهای ARM كارخانجات مختلف یكی است بنابراین برنامه نوشته شده برای یك سری از میكروكنترلرها را می توان برای سری دیگر نیز استفاده كرد.

NS9360.jpg

پردازنده هایی كه در میكروكنترلرهای ARMاستفاده می شوند ، پردازنده های 32 بیتی با معماری Risk می باشد، این پردازنده ها برای كاربردهای قابل حمل (Portable) بهینه سازی شده اند به صورتی كه مصرف توان آن ها بسیار كم است و می توان آن ها را توسط باتری برای مدت زیادی روشن نگه داشت به عنوان نمونه می توان گوشی های موبایل را نام برد كه در آنها از این هسته پردازشی استفاده می شود.

معروفترین هسته پردازنده ARM7 ، ARM می باشد كه یكی از رایج ترین هسته های پردازشی موجود می باشد.

بعد از ARM 7 به ترتیب ARM9 و ARM10 و ARM11 قرار دارند.

انواع هسته های پردازنده سری : ARM7

 

ARM7TDMI (1: رایج ترین هسته پردازنده 32 بیتی با معماری RISK می باشد.

: ARM7TDMI-S (2 این هسته نسخه قابل سنتز ARM7TDMI است.

ARM72OT (3: این هسته علاوه بر ویژگی های هسته های بالا داری حافظه CASHو بخش مدیریت حافظه می باشد.

: ARM7EJ-5 (4 این هسته برخی از قابلیت های پیشرفته DSP را در خود دارد و برای كارهای پردازش سیگنال مناسب می باشد.

 

پردازنده های ARM از سیستم PIPELINE برای پردازش استفاده می كنند منظور از این سیستم این است كه پردازنده دارای سه مد كاری برای اجرای یك دستور است:

FETCH (1 یا بازخوانی اطلاعات از حافظه كد

DECODE (2 یا رمزگشایی اطلاعات نوشته شده

EXECUTE (3 یا اجرای برنامه در پردازنده های قدیمی تر

در سیكل اول دستور اول FETCH می شود ، در سیكل دوم دستور اول DECODE می شود دستور دوم FETCHمیشود. در سیكل سوم دستور اول EXECUTE دستور دوم DECODE می شود و دستور سوم FETCHمی شود.

این نوع سیستم 3 STAGE PIPELINE است.

در پردازنده های ARM بالاتر مانند ARM9 سیستم پردازش 5STAGE PIPELINE می باشد كه عملیات خواندن و نوشتن از حافظه ها نیز جزء این عملیات قرار گرفته در10 ARM سیستم پردازش به صورتPIPELINE 6 STAGE است.

 

انتخاب میکرو کنترلر :

 

شرکت های مختلفی میکروکنترلر های بر مبنای پروسسور ARM می سازند مانند : atmel , Philips ,Samsung , St-micro , Motorola و کمپانی های دیگر ما از میان این شرکت ها میکروکنترلر های ساخت Philips رو که از تولید شرکت NXP است به دلایل زیر انتخاب کردیم:

· قطعات سری LPC2000 یکی از متنوع‏ترین خانواده‏ های میکروکنترلرهای با هسته‏ی ARM7 هستند و قطعات این سری، در مقایسه با AT91SAM قیمت کمتری دارند. مثلاً قیمت LPC2101 حدود 2 دلار است که این مقدار از خیلی از میکروکنترلرهای 8 بیتی (مثل ATmega16) کمتر است.

· اجرای برنامه از حافظ ه‏ی فلش بسیار سریعتر است. بدلیل دسترسی 128 بیتی به حافظه‏ی فلش و وجود واحد شتاب‏دهنده‏ی حافظه (MAM)، قطعات LPC2000 می‏توانند در مُد ARM با حداکثر سرعت 60 تا 75 MHz به حافظه‏ی فلش دسترسی داشته باشند؛ در حالیکه که SAM7ها با سرعتی کمتر از نصف این مقدار کد برنامه را اجرا می‏کنند. علاوه براین، در مقایسه با سایر میکروهای با هسته ی ARM7، فرکانس کاری میکروکنترلرهای LPC2000 نسبتاً بالاست (60 تا 70 مگاهرتز در LPC2000ها در مقایسه با 55 مگاهرتر در sam

· راه‏اندازی Peripheralهای قطعات LPC2000 ساده‏تره. اکثر سخت‏افزارهای جنبی به شکلی طراحی شده‏اند که لازمه رجیسترهای کمتری تنظیم بشن و بسیاری از اونها را می‏تونید به حالت پیش‏فرض رها کنید.

· میکروکنترلرهای LPC2000 دارای Peripheralهایی هستند که به ندرت در سایر میکروکنترلرهای با هسته‏ی ARM7 دیده می‏شه. مثلاً تایمر 32 بیتی با پیش‏تقسیم‏کننده‏ی 32 بیتی (AT91SAMها فقط تایمر 16 بیتی دارن!)، DAC، RTC، LIN، SSP، MMC/SD Controller، USB Host/OTG، Fast GPIO ،XGA LCD Controller و غیره.

· قطعات LPC دارای تعداد I/O بیشتری هستند. مثلاً قطعه‏ی LPC2132 که یک قطعه‏ی 64 پایه است 47 پایه‏ی GPIO داره درحالیکه قطعه ی مشابه 64 پایه ای AT91SAM7S64، دارای 32 خط I/O است.

· مستندات و نمونه برنامه های ارائه شده توسط NXP برای LPCها کاملتر و غنی از ATmel برای SAM7هاست.

 

 

حافظه فلش چیپ می تواند به روش های مختلفی برنامه ریزی شود :

 

1- واسط سریال J-Tag 2- به صورت ISP توسط UART0 3- استفاده از in application programming (IAP)

 

کامپایلر ها و مفسر های موجود برای چیپ های ARM را در اینجا ذکر می کنم :

 

IAR : قابلیت برنامه نویسی میکرو کنترل های ارم ببه زبان های C و C++و اسمبلی ، امکان شبیه سازی برنامه نوشته شده ، پشتیبانی تمامی میکروکنترلر های ارم ، منابع اموزشی متوسط و محیط حرفه ای ، پشتیبانی از SPY-C که امکانات خیلی زیادی دارد ، سرعت اجرای بالا و سازگاری کامل با ANSI C ، توابع کتاب خانه ای کم ، نداشتن باگ های امنیتی.

 

Winarm : قابلیت برنامه نویسی به زبان های C و C++ ، عدم شبیه سازی برنامه ، فقط پشتیبانی ARM7 ، منابع آموزشی و مثال های زیاد ، متن باز بودن برنامه و بالطبع رایگان بودن ، داشتن توابع کتابخانه ای بالا ، 3 سال است که این نرم افزار به روز رسانی نشده است.

 

Keil : برنامه نویسی به زبان های Cو C++ و اسمبلی ، امکان شبیه سازی برنامه نوشته شده ، پشتیبانی تمام میکروکنترلر های ARM ، کاربرپسند بودن برنامه و منابع اموزشی متوسط

 

سایر کامپایلر ها : Cross works for ARM , Flowcode ARM, ARM ADS,تقریبا دو کامپایلر keil و IAR از محبوبیت بیشتری برخوردارند .

 

 

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

به اشتراک گذاری این ارسال


لینک به ارسال

ساخت اولین پروژه ARM توسط میکروکنترلر LPC2138:

پروژه Led چشمک زن کامپایلر Keil Uvision4 را اجرا کنید. از منوی Project گزینه New Uvision project را انتخاب کنید و در پنجره باز شده نام پروژه را انتخاب کنید. به طور مثال led lpc انتخاب می کنیم.

arm2-1.jpg

پنجره جدیدی باز می شود که باید در آن نوع میکروکنترلر خود را انتخاب کنیم: در منوی سمت چپ گزینه NXP را انتخاب می کنیم و در زیر مجموعه نمایان شده نوع میکرو را که در اینجا LPC2138 می باشد را انتخاب می کنیم. ...

arm2-2.jpg

پنجره ای ظاهر می شود که گزینه Yes را در آن انتخاب کنید.

arm2-3.jpg

حال از منوی فایل کزینه New را انتخاب کنید. یک سند text اجرا می شود که همان محیط کد نویسی می باشد. کد زیر را در این پنجره کپی کنید. و مجدد از منوی فایل گزینه save را انتخاب کنید و فایل ایجاد شده را در محل ذخیره سازی پروژه به صورت "Name".c ذخیره کنید به عنوان مثال: led lpc.c

#include

 

void wait (void) { /* wait function */

long d;

for (d = 0; d

}

int main (void)

{

unsigned int i; /* LED var */

IODIR1 = 0x00FF0000; /* P1.16..23 defined as Outputs */

while (1)

{ /* Loop forever */

for (i = 1

IOSET1 = i; /* Turn on LED */

wait (); /* call wait function */

IOCLR1 = i; /* Turn off LED */

}

for (i = 1 1>=1 ) { /* Blink LED 7,6,5,4,3,2,1 */

IOSET1 = i; /* Turn on LED */

wait (); /* call wait function */

IOCLR1 = i; /* Turn off LED */

}

}

}

arm2-4.jpg

در قسمت چپ کامپایلر در پنجره Project مجموعه ای به نام Target ایجاد شده که با کلیک کردن روی آن زیر مجموعه Source Group نمایان می شود. بر روی source group راست کلیک کرده و گزینه Add files to Source Code را انتخاب کنید. در پنجره باز شده سند led lpc.c ساخته شده در مرحله قبل را add کنید و پنجره را ببندید. از منوی project گزینه Build Target را انتخاب کنید مشاهده می کنید که برنامه مورد نظر کامپایل می شود، دقت کنید که در پنجره پایینی Build output باید عبارت 0 Error(S) – 0 Warning(s) را ببینید در غیر اینصورت در انجام یکی از مراحل بالا اشتباه داشتید.

arm2-5.jpg

اکنون شما یک برنامه کامپایل شده و آماده اجرا دارید. شبیه سازی در Keil: شما می توانید در کامپایلر Keil شبیه سازی برنامه نوشته شده را ببینید و از خروجی مدار خود را ببینید به طور مثال برای این پروژه که در بالا توضیح داده شد می خواهیم سیمولاتور میکروکنترلر ARM خود را در کامپایلر keil ببینیم. بعد از کامپایل کردن برنامه که در بالا به آن اشاره شد. برای سیمولیشن (شبیه سازی برنامه) از منوی Debug گزینه Start/Stop debug session را انتخاب کنید. در صورت مشاهده پنجره زیر ok را بزنید.

arm2-6.jpg

این کار پنجره دیگری را نشان خواهد داد که شما در آن می توانید شبیه ساز برنامه را ببینید. مانند تصویر زیر:

arm2-7.jpg

این پنجره به شما اطلاعاتی در مورد رجیستر های lpc2138 خواهد داد. مجدد منوی Debug را انتخاب کنید و از این منو گزینه RUN را بزنید تا کامپایلر شروع به شبیه سازی برنامه شما کند. از منوی Peripherals گزینه GPIO و سپس Port1 را انتخاب کنید. پنجره ای جدید باز می شود که در آن می توانید ترتیب خاموش و روشن شدن Led ها را از Pin16 تا Pin23 از PORT1 را ببینید.

arm2-8.jpg

این یک روش استاندارد و ابتدایی برای اطلاع از صحت کارکرد میکرو است. می توان از شبیه سازهای خارجی مانند Proteus برای شبیه سازی و مشاهده عملکرد این میکرو استفاده کرد که در قسمت بعد آموزش درمورد آن توضیح داده خواهد شد. برای توقف شبیه ساز گزینه Start/Stop debug session را بزنید. برای پروگرام کردن یک میکرو باید توسط پروگرامر آن را پروگرام کرد و تقریبا تمامی پروگرامرها به فایل Hex ساخته شده توسط کامپایلر برای پروگرام میکرو نیاز دارد. برای داشتن فایل Hex باید تنظیمات آن را اعمال کنید. برای این کار از منوی Flash گزینه Configure Flash Tools را انتخاب کنید پنجره ای باز می شود که می توایند توسط تنظیمات مربوط به پروژه را انجام دهید. در بالای پنجره منوی Output را انتخاب کنید. و از این منو گزینه Create Hex File را تیک بزنید و دکمه ok را بزنید تا تنظیمات اعمال شود. برای ساخت فایل Hex باید مجدد برنامه را کامپایل کنید برای این کار دکمه F7 کیبورد را بزنید یا از منوی Project گزینه Build Target را کلیک کنید. مشاهده خواهید کرد که در دایرکتوری ذخیره شده پروژه یک فایل با پسوند Hex اضافه خواهد شد.

arm2-9.jpg

منبع:avrelec.com

 

دانلود سورس برنامه با حجم 54KB

lpc led.rar

به اشتراک گذاری این ارسال


لینک به ارسال
arm چی هست؟

 

این قطعات پردازنده ای هستند ، از نوع 32 بیتی و دارای معماری RISC هستند و سرعت نسبتا بالایی هم دارند (کلاک از 300 تا 2000 مگاهرتز)و مجهز به برخی امکانات داخلی (adc و dac و تایمر وکانتر و pwm و rtc و i2c و spi و dmaو ...)وحافظه کش هستند . قابلیت ها و باس های استانداردی که برای این پروسسورها در نظر گرفته شده به همراه سرعت بالا ، حافظه کش مناسب ، مقایسه گرهای داخلی ، تایمرهای 16 بیتی برای پیاده سازی RTC و ... ، باعث شده که عملکرد این تراشه ها نسبت به انواع دیگر پروسسورهای هم تراز ، دارای کیفیت و قدرت بالاتری باشه .

 

 

 

چرا قبلا از این پردازنده استفاده نمیشده ، ایا به تازگی وارد بازار شدند؟

 

 

این پردازنده قبلا توسط شرکت arm تولید میشده که این شرکت هم به قیمت بالا این پردازنده رو به مشتریان خاص میفروخته ، اما از اوایل سال 2002 به بعد این شرکت مجوز ساخت این پردازنده رو به شرکتی های همچون ATMEL و

Luminary Micro و شركت philips و چند تا شرکت دیگه میده .

شرکت های فوق با اضافه کردن امکاناتی مثل انواع مبدل ها (دیجتال به انالوگ و ....)، انواع رابط ها (بلوتوث ، usb )و... این پردازنده رو به یک پردازنده عمومی تبدیل میکنند و اون رو به بازار جهانی عرضه میکنن.

 

 

برای برنامه نویسی این پردازنده ها از چه زبان و کامپایلری استفاده میشه ؟

 

 

برای برنامه نویسی این پردازنده از زبان های c و بیسیک و اسمبلی استفاده میشه .

کلیه کامپایلر های زبان اسمبلی برای این پردازنده رایگان هستند و شما میتونید از لینک های زیر اونا رو دانلود کنید:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
. uk/ONLINE/BEGINPRG/INDEX.HTM

برای زبان های c مثل خود c و c++ کامپایلر های متعددی ارائه شده که کی از این کامپایلر ها کامپایلر keil uvision هست که در اون میشه به زبان های اسمبلی و c و c++ برنامه نوشت .

نسخه رایگان این کامپایلر در لینک زیر موجود است:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

برای زبان بیسیک نیز کامپایلر بسکام arm وجود داره که هنوز در دسترس عموم قرار نگرفته تا کرک بشه.

 

 

ایا این پردازنده cpu هستند یا مانند میکرو کنترلر ها میباشند ، یعنی در در داخل خود ram و i/o و.. دارند یا نه ما خودمان باید این امکانات را بهش اضافه کنیم ؟

 

این پردازنده در نمونه های گوناگونی ارایه شده است مثلا مدل LPC2138 دارای 512 کیلو حافظه فلش ، 32 کیلو حافظه رم ، مبدل آنالوگ به دیجیتال ، مبدل دیجیتال به آنالوگ و ... میباشد

یا مدل at76c551 ساخت شرکت اتمل دارای امکانتی همچون بلوتوث ، ارتباط usb و... هست

یا مدل arm7tdmi فقط یک پردازنده است که روی خود فقط خطوط i/o دارد و باید برای ان مانند یک میکرو پروسوسر واحد های rom و ram و کانتر و... تعبیه کرد

این پردازنده در مدل های وسیع ساخته میشوند (بسیار گسترده تر از avr و pic و.. ) و دست شما برای انتخاب باز است برای اطلاعات بیشتر در مورد هر پردازنده به شرکت سازنده مراجعه کنید :

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

ایا برای شبیه سازی این میکرو پروسسور ها نرم افزاری وجود دارد ، قیمت انها در چه حدی است ؟

 

 

خود نرم افزار kiel دارای قسمت شبیه ساز میباشد ، به علاوه نرم افزار قدرتمند پروتوس نیز از این پروسسور ها پشتیبانی میکند

 

قیمت این پروسسور ها بسته به امکانات از 5 تا 500 هزار تومان متغییر است،

مثلا قیمت lpc2300 نه هزار تومان است ، این پروسسور دارای امکانات زیر میباشد:

فرکانس کاری 72 مگاهرتز

512 کیلو حافظه فلش قابل برنامه ریزی

8 کیلو sram برای cpu و 16 کیلو برای شبکه و 8 کیلو هم برای usb

قابلیت اتصال به usb و شبکه lan و...

قابلیت اتصال کارت mmc و sd و...

پشتیبانی از usb 2.0

پورت های spi و i2c و ...

70 تا پایه ورودی و خروجی

6 تا adc ده بیتی

چند تا dac 10 بیتی (توی دیتا شیت تعداد نزده)

5 عدد تایمر و کانتر که میتونن از بیرون تحریک بشن و ...

rtc

ولتاژ تغذیه 3.3 تا 3.6 ولت

نوسان ساز داخلی کریستالی از 1 تا 24 مگاهرتز

و کلی امکانات دیگه که توی دیتا شیت این پروسسور موجود هست.

 

 

ایا کتاب و منبع فارسی یا انگلیسی برای یاد گیری این پروسسور میشناسید ؟

 

منبع انگلیسی :

help نرم افزار و سایت های زیر:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

کتاب به زبان اسمبلی:

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

سلام :icon_pf (95)::icon_pf (95)::Ghelyon::Ghelyon::Ghelyon::Ghelyon:

با این اوصاف اصلا نمی صرفه که برنامه برای ارم بنویسیم چون برای چشمک زدن یه led که اینقدر برنامه ببره .وای وقتی که بخوایم یه برنامه مثلا کم روی ال سی دی گرافیکی بنویسیم دیگه بدبختیم

یه سوال دارم ایا همون بیسک که فرمودین کامپایلرش هست فکر کنم بهتر باشه لطفا اگه هست منبعی چیزی برامون معرفی کنید

به اشتراک گذاری این ارسال


لینک به ارسال
سلام :icon_pf (95)::icon_pf (95)::Ghelyon::Ghelyon::Ghelyon::Ghelyon:

با این اوصاف اصلا نمی صرفه که برنامه برای ارم بنویسیم چون برای چشمک زدن یه led که اینقدر برنامه ببره .وای وقتی که بخوایم یه برنامه مثلا کم روی ال سی دی گرافیکی بنویسیم دیگه بدبختیم

یه سوال دارم ایا همون بیسک که فرمودین کامپایلرش هست فکر کنم بهتر باشه لطفا اگه هست منبعی چیزی برامون معرفی کنید

 

ولی برای کارهای خیلی حرفه ای آرم خیلی توپه:a030:

به اشتراک گذاری این ارسال


لینک به ارسال
ولی برای کارهای خیلی حرفه ای آرم خیلی توپه:a030:

بله البته که توپه اونم چه توپی اونوقت که پیمون دراومد . انوقت میفهمیم میصرفه یا نه

در ضمن شما اصلاع ندارید که کامپایلر بسکامش هست یا نه ؟؟؟؟؟؟؟؟؟؟؟؟؟:w02:

به اشتراک گذاری این ارسال


لینک به ارسال
بله البته که توپه اونم چه توپی اونوقت که پیمون دراومد . انوقت میفهمیم میصرفه یا نه

در ضمن شما اصلاع ندارید که کامپایلر بسکامش هست یا نه ؟؟؟؟؟؟؟؟؟؟؟؟؟:w02:

 

نه عزیز کار نکردم هنوز

به اشتراک گذاری این ارسال


لینک به ارسال

جزوه آموزشی میکروکنترلرهای arm نسخه موبایل ,جهت استفاده در گوشیهای همراه رو میتونید از لینک زیر دانلود کنید :

 

:download2:

به اشتراک گذاری این ارسال


لینک به ارسال
جزوه آموزشی میکروکنترلرهای arm نسخه موبایل ,جهت استفاده در گوشیهای همراه رو میتونید از لینک زیر دانلود کنید :

 

:download2:

 

سلام

ضمن تشکر از مطلب مفیدتون

این فایل ظاهرا پسورد میخواد!؟

به اشتراک گذاری این ارسال


لینک به ارسال
سلام

ضمن تشکر از مطلب مفیدتون

این فایل ظاهرا پسورد میخواد!؟

 

سلام دوست عزيز :icon_gol:

 

پسورد تمام فايل هايي كه پسورد آنها ذكر نشده : www.noandishaan.com

به اشتراک گذاری این ارسال


لینک به ارسال

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...