| کابینت آشپزخانه | مقالات بازاریابی اینترنتی | خرید اپل ایدی | دانلود قالب جوملا | وکیل پایه یک | اجاره بیلبورد | سنگسابی | ترمیم مو | سرور مجازی | درب اتوماتیک | طراحی سایت | تعمیرات مبل | فن کویل | تعمیر یخچال | اسکوتر هوشمند | دوربین مدار بسته | پویا جیم ، تردمیل خانگی | بازاریابی محتوایی
بوتلودر sam-ba
منو

جستجو در سایت

بوتلودر sam-ba

samba

بوت لودر اصولا به معنی آن است که یک سری دیتا از یک واحد خارجی وارد سیستم بشود و سپس دیتا مورد نظر بعد یا قبل از آدرس قرار گیری بوت لودر در حافظه معمولا حافظه flash قرار بگیرد.
این نوع بوت لودر به بوت لودر سرد معروف است , بدین صورت که برای استفاده نمودن از برنامه اصلی عملا باید حتما بعد از انتقال دیتا به وسیله بوتلودر به روی حافظه flash , میکروکنترلر reset شود و cpu از آدرس 0x0000 شروع به خواندن کند. اکثر میکروکنترلر های خانواده arm دارای بوتلودر سرد هستند , و از بوت لودر گرم به ندرت استفاده می شود.
sam-ba یک بوتلودر معمول است با این تفاوت که کد بوتلودر بر روی قسمتی از حافظه rom قرار داده شده است.
حافظه rom را که شرکت Atmel از قبل اطلاعات را بر روی آن قرار داده است , مقداری از آن را برای sam-ba قرار داده است , هدف از این کار قرار دادن یک سیستم in system programming بوده که در میکروکنترلر های نسل avr به ISP معروف بود و هنوز هم بسیاری از این روش برای برنامه ریزی استفاده می کنند(حتی با وجود JTAG) برای شروع ابتدا باید بوتلودر را از روی حافظه ROM بر روی حافظه FLASH بریزید که این کار به صورت سخت افزاری است و در دو سری AT91SAM7S و AT91SAM7X متفاوت است.
زمان معمول برای کپی شدن بوتلودر از روی ROM به FLASH طبق گفته ATMEL در هر دو سری AT91SAM7S و AT91SAM7X بیش از 10 ثانیه لازم است ولی در عمل این زمان می تواند کمتر هم باشد. در تست های عملی که انجام شد زمان 5 ثانیه نیز کافی بود.
ستفاده از SAM-BA فقط در حالتی امکان دارد که کریستال خارجی با فرکانس 18.432MHZ حتما به پایه های XIN و XOUT وصل باشد. دلیل آن که حتما نیاز به این کلاک می باشد این است که PLL طوری تنظیم شده است که با دادن این کلاک به میکروکنترلر کلاک 48 مگاهرتزی مورد نیاز USB به وجود می آید و امکان ارتباط با USB را به ما می دهد.
میکروکنترلر را طبق شماتیک مورد نیاز usb بر روی یک pcb مونتاژ کنید , سپس برد را به کامپیوتر وصل کنید در حالتی که بوت لودر sam-ba بر روی flash قرار نداشته باشد یا این که برنامه بوت لودر به همراه برنامه main از قبل روی flash قرار داشته باشد کامپیوتر توانایی شناسایی میکروکنترلر را ندارد به همین منظور مراحل زیر را انجام دهید تا حافظه flash پاک شود و بوتلودر sam-ba از rom به flash منتقل شود:
پین tst را برای سری at91sam7s یک کنید(منظور از یک همان vcc یعنی 3.3 ولت است)
برای سری At91sam7x هم پایه erase را یک کنید
سپس تغذیه میکروکنترلر را وصل کنید(حتما نیازی به اتصال usb برای تامین جریان نیست)
حدود 10 ثانیه صبر کنید
حال tst یا erase (با توجه به سری میکروکنترلر که at91sam7s یا At91sam7x است که در جدول بالا درج شده است)را از حالت منطقی 1 خارج کنید و آن را رها بزارید, توصیه شده که به جای رها گذاشتن tst یا erase آن را یا poll down کرد یا این که کلا به gnd وصل بشود
سپس میکروکنترلر را مستقیما به یک پورت usb وصل کنید , سعی کنید که از hob استفاده نکنید
حال یک پیغام مبنی بر شناخته شدن یک سخت افزار جدید نمایش داده می شود در صورتی که میکروکنترلر شناخته نشد مطمئنا یک مشکل سخت افزاری دارید و باید آن را رفع کنید بدین صورت وارد نرم افزار sam-ba 2.3 شوید و فایل bin (باینری)را وارد کنید و سپس write را بزنید حال یک بار میکروکنترلر را Reset کنید و نتیجه برنامه خود را مشاهده کنید.
در صورتی که از نرم افزار keil استفاده می کنید , این نرم افزار بعد از کامپایل شدن برنامه خروجی hex (هگزا دسیمال)تحویل می دهد , و باید از طریق یک نرم افزار hex را به bin تبدیل کنید که می توانید از نرم افزار hjtag یا موارد مشابه استفاده کنید.

نوشته شده توسط: علی کاظمی

ارتباط با ما

فرم ورود



بازگشت به بالا