من خودم در حدود 2 ساله که روی پردازنده های ARM از شرکت Atmel کار می کنم
درست دیتاشیت اون ایسی را نگاه نکردم .. اما فکر می کنم که از هسته arm استفاده کرده باشه..
دیاگ ؟ اگه همون دیباگ باشه این حقیقت درسته ..خیلی خیلی خلاصه شده می نویسم
هسته های Arm واسه برنامه ریزی خودشون از چند اینتر فیس استفاده می کنند . مثلا از رابط های سریال "دیباگر" رابط usb و رابط spi
هر کدوم اینها هم برای استفاده در درجه اول باید پیکر بندی بشند . با این پیکر بندی کار برنامه ریزی سرد تراشه که بهشم خود برنامه ریزی می گند خیلی خیلی ساده ترمیشه
می دونید کار با مثلا usb خیلی سخته .. اما شرکت بخاطر اینکه کاربر بتونه این کار را از این طریق انجام بده خودش داخل تراشه یک برنامه ای روی ROM جدای نوشته و قرار داده که تمام رابط های که باید برای کار اولیه با تراشه پیکر بندی بشند را انجام می ده .
برای اینکه تراشه را به مد BOOT-SAM ببریم مجبوریم که چند تا از پایه های خارجی میکرو را مقدار بدیم "صفر یا یک کنیم " مثلا توی AT91SAM7X256 باید از پایه های PGMEN0/1 و TST +NRST استفاده کنیم تا بتونیم تراشه را به حالت FFPIیا همون Fast flash programming interface ببریم که تو مود دیباگ فعال میشه حالا می تونیم قسمتی از حافظه را انتخاب و دانلود کنیم.
برای کار با این تراشه حتما به مستندات درست و حسابی نیازمندیم . 169 صفحه خیلی کمه .. واسه یه ایسی 8 بیتی بالا 500 صفحه دیتا شیت هست . بدشم اگه این ایسی تو بازار گیر بیاد و بشه بهش سرو کله بزنیم بهتر میشه کدها را حک کرد..
به این سادگی هم نمیشه با تغیر برنامه فلاش سیستم کامپیوتر را از ماشینی به ماشین دیگه تغییر داد باید ببینیم سخت افزار چی میگه .. شاید روی یک ماشین از ورودی یک یا پورت یک برای سنسوری استفاده کردند که روی ماشین دیگه اینطور نیست.. تو این بحث سخت افزار حرف اول میزنه
چند ماهی باید روی این ایسی وقت بزاری و جیک و پیکشا در بیاری .تا خوب باهاش اشنا نشی حتی فکر کردن بهش هم غلط است
اشگه شانس بیاری و چیزی به اسم منطقه حفاظت شده"Region lock /Area lock" که تو تکنولوژی ARM استفاده میشه بهش بر نخوری و تراشه کدینگ نشده باشه .مثل اب خوردنمیشه بشکنیش .