در واقع ARM یک هسته هست که 32 بیتی است و از طرف شرکتهای مختلف خریداری میشه .. اولین بار توسط مهندسین شرکت acron ارائه شد و این شرکت که بعد ها arm شد بیشترین پولشا از فروش لیسانس این تراشه به جیب زده ..
شرکتهای مختلفی ارم سری خودشون را تولید می کند که توی ایران اتمل و فیلیپسش مشهوره ..
من نمی خوام به این موضوع بپردازم که چشم و ابروش چجوره ..تصمیم دارم یه سری اطلاعات که کسی به این سادگی گیر نمی یاره را بهتون بدم ..
اول: برنامه ریزی این تراشه نیازی به پروگرامر نداره .. به 6-7 روش میشه این را برنامهریزی کرد که برنامه نویس را از پروگرامر خلاص میکنه .. وقتی به پروگرامر نیاز نداره پس پیچیده گی خاص خودش را داره و فرض بر این میگزاریم که طرفمون توی برنامه نویسی با سی و سی ++ و اسمبلی مهارت داره
1 برنامه ریزی از طریق FFP که خودس به صورت موازی و پارالل انجام میشه .. fast flash programming که fast flash parallel programming /fast flash serial programming
2 از طریق رابط can
3از طریق رابط اترنت
4 از طریق پورت سریال debug
5 از طریق پورت usb
6از طریق رابط jtag
اما اگه با هرکدوم از این پورتها بخوایم کار کنیم اول باید انها را کانفیگ کنیم .. که خودش یک تخصص است مثلا پورت اترنت ..
اما نگران نباشید خود شرکت داخل خافظه روم یک سیستم عامل مانند کوچیکی قرار داده که اگه فعال بشه کارهای مدیریتی و پیکر بندی این پورتها را انجام میدیه .. که بهش می گند SAM-BAیا مثلا
Smart ARM base microcontroller-boot assistance
اما قبل از این باید پرسسور توی این حالت قرار بگیره توی ارم 7 از پایه تست و دو یا سه پین از پورت A0.3 استفاده میشه ..
اما استفاده از جی تگ نیازی به بوت شدن از این نمنی باشه .. چون به صورت سخت افزاری و از طریق ماکروسل های اختصاصی داخل شده که بهش می گنند میشه اون را پروگ کرد .EmbeddedICE™ In-circuit Emulation, Debug Communication Channel Support
خوب پس واسه پروگرامینگش فقط باید یا به tcp/ip ..can..jtag..debug..و غیره تسلت داشته باشی.. حداقل اطلاعات پایه اون
من پیشنها می کنم و اصلا رسمش اینه که یا با usb/RS232/JTAG اونها را پروگ کنیم .. JTAG +DEBUG+ USB کمترین سخت افزار را می خواند بخصوص یو اس بی ش
حالا زبانهای برنامه نویسیش ..
نرم های مختلفی اومده که حتی یکش با نقاشی کشیدن و فلوچارت میشه برنامه نویسشی کرد .. که واسه مبتدیهاست که می خواند خودشونا گول بزنند .. اصولیش اینه که کد نویسی کنی
اگه گوگل کنید پیدا میشه
نرم افزار KEIL و IAR من خیلی دوست دارم
KEIL خوشگله و کار باهاش بچه بازیه اما امکانات خیلی خوبی داره سیمولاتورشم واقعا عالی کار میکنه
IAR واقعا حرفه ایه .. سرعتش بالاست ..امکانتی که داره اخر مهندسیه ..رابط کاربر خیلی ضعیفی داره ..و. باید توی ارم مهارت خوبی داشته باشی که بتونی باهاش کار کنی.. همش محاسباتیه .. اما تو قبلی فقط تیک بزن و از لیست باکس انتخاب کن ..
برنامه نویسیش C/C++ / ASSEMBLY هست
اسمبلش به هیچ وجه پیشنهاد نمی کنیم چون اون موقع باید 2 گروه برنامه نویسی یاد بگیری THUMB و ARM
علاوه بر این یه اشتباه کوچیک تو سوئیچ کردن بین اونها و یا استفاده نادرست ازشون باعث میشه که یکی از 7 حالت استثناع رخ بد.. این پردازنده 7 تا حالت داره
USER/SUPERVOISE/IRG/FIR/UNDEF/ABORT/SYSTEM
خوبی اسمبلی اینه که هر کاری که می خوای بکنی می تونی شرطیش کنی.. اسمبل اون با اونای که اسمبی کار کردند زمین تا اسمون فرق می کنه .. هر کاری که می خوای بکنی باید با ثباتهای R13-R15 باید انجام بشه ..
بسپاری دست کامپایلر های C/C++ ابرو مند تره ..
اما توی برنامه نویسی با C/C++ هم با یه فایل هدری روبرو هستی که حدودا 2000 خط تعریف داره .. هر ثباتی 32 بیت داره و ادرسی.. این ادرس .. ساختارها و .. همگی چشم ادما قلومبه می کنه ..اما میشه تو 6 ماه همشونا حفظ کرد و کار کرد..
بدش سراق برنامه نویسی باید رفت که اونم فرض کردیم بلدیم ..
بهم پیام بدین من علی هستم .. اگه خواستید می تونم کار اموزش شرو کنیم .تضمینی و با یه نرخ خوبببببببب