مهارتجوامین اله دهقانپرسیده شده ۱ سال پیش۶۵ بازدید۲ پاسخ
با سلام
میکروکنترلر آرم از کجا می داند که ابتدا باید تابع main را اجرا کند؟
پاسخ منتخب
استادمهراد معین· ۱ سال پیش
پاسخ منتخب
سلام دوست عزیز، در واقع این کامپایلر هست که این رو میدونه. میکرو کنترلر فقط زبان ماشین و دستورات ماشین رو میفهمه. وقتی که شما به زبان C، C++ و یا به هر زبان دیگری در یک محیط نرم افزاری کد میزنید، وقتی که کامپایل انجام میشه، اون نرم افزار کامپایلر، کد های شما رو تبدیل میکنه به کدهای ماشین که از بالا به پایین اجرا میشن و خود کامپایلر کدهای تابع main رو بالای برنامه میذاره.
مهارتجوامین اله دهقان· ۱ سال پیش
ممنون از پاسخگویی شما.
آیا اسم رجیسترهایی که برای این کار اختصاص داده شده اند را می دانید؟ کامپایلر چه رجیسترهایی را از میکرو کنترلر تنظیم می کند؟ این سوال را میپرسم چون در یک مصاحبه کاری با یک شرکت خارجی این سوال از من شد. و من نمی دانستم و نمی دانم.
با تشکر از شما
مهارتجوامین اله دهقان· ۱ سال پیش
ممنونم از وقتی که برای جواب دادن گذاشتید. بسیار مفید بود.
پاسخها (۲)
استادمهراد معین· ۱ سال پیش
میکروکنترلر به میکروکنترلر متفاوت هست ولی همه پروسسور ها یک فایل user manual خیلی مفصل دارن که تمام جزییات داخل اون ذکر شده.
علاوه بر اون، کد ها داخل حافظه فلش ذخیره میشن و شما میتونید از این حافظه برای نگه داری داده های غیر از کد هم استفاده کنید. داخل تنظیمات کامپایلر، میتونید دقیقا مشخص کنید که کد از کدام شماره حافظه شروع میشه و تا کجا ادامه داره. در برخی موارد هم چیزی به اسم boot loader رو در ابتدای برنامه قرار میدن که کدی هست که قبل از اجرای برنامه اصلی اجرا میشه.