برنامه نویسی پلتفرم قدیمی | mrp

مقدمهتو دنیایی زندگی میکنیم که تکنولوژی روز به روز در حال پیشرفته ، از طرفی پلتفرم های قدیمی تر مثل ( جاوا ، سیمبین و ... ) در حال فراموش شدن هستند یا شاید برای نسل های جدید حتی به جستجو محدود بشه از طرفی این پلتفرم های قدیمی شاید برای برخی از برنامه نویسان جدید|قدیمی جالب باشه ، این مقدمه رو گفتم تا کارو با پلتفرم قدیمی که کمتر کسی میشناسه شروع کنیم ، خب ؟!! (امروز میخوام یکی از چالشهایی رو که خودم ، خودمو توش دعوت کردت براتون دستو پا شکسته توضیح بدم).?پلتفرم mythroad | .mrpشرکت mythroad یا SKYMOBI اون قدیم مدیما یسری از گوشی ها تو کوچه پس کوچه های یکی از کشورهای عزیزمون (چ) تولید میکردند و کیفتی خوبی داشتند یا دارند ? منم از گوشه پس گوشه های خونه یکی از این گوشی ها رو پیدا کردم (K900 TV Mobile) که زهوارش در رفته بود از طرفی جالب بود برام ببینم میشه کارای جالبی باهاش پیاده کرد یا ن! داخل پرانتز این گوشی حدودا برای 12-10 سال پیشه.کالبدشکافیK900 Tv Mobileدیدم الان دیگه وقتشه شروع کردم به کالبدشکافی?‍? چیپست داخلی mtk بود جالب شد بود گوشی رو جمع ، روشنش کردم. اولین جایی که رفتم بخش بازی گوشی بود ، دوتا بازی ساده (خونه سازی ، تاس ) بود ، یکم سرچ زدم چیز زیادی پیدا نشد رفتم سمت موتور جستجو عزیز Baidu نَ من میفهمیدم نَ اون میفهمید چی میخوام? اما من ول کن نبودم رفتم گوگل ترنسلت آوردم وسط حداقل اون مفهمید ولی پس و پیش? دیدم بجایی نمیرسه این کار ، ی رم انداختم تو اسلات ی چرخی زدم تو گوشی رفتم تو حافظه دیدم یه پوشه به اسم mythroad ساخته شده بود، اسم پوشه رو تو گوگل ، بینگ عزیز جستجو زدم چندتا بازی با چندتا فایل دیگه با فرمت mrp پیدا کردم ریختم داخل این پوشه هرکاری کردم فایلا باز نشد که نشد تا اینکه رفتم تو قسمت بازی ها دیدم چندتا بازی اضافه شده بود اجراشون کردم?.....شروع برنامه نویسی mrpساختاراینجا بود که به خودم گفتم کاپیتان الان وقتشه اونم گفت صد در صد ، شروع کردم به جستجو تو موتورهای جستجو تا SDK شو پیدا کنم ، چیزی پیدا نشد ، یچیزایی هم پیدا شد که لاینسس میخواست از طرفی هم از طریق سرور باید اکتیو میشد که سرورش بعد این همه مدت جمع شده بود ، خلاصش کنم راهای زیادی رو رفتم نشد ک نشد ، گفتم کاپیتان این تو بمیری از اون تو بمیری ها نیست ، بحث حیثیت و آبرو وسطه? شروع کردم به مهندسی معکوس کامپایلر SDK ، بالاخره بخش کامپایل اوکی شد ولی برنامه های کامپایل شده اجرا نمی شدند ، یجای کار میلنگید ، تست های مختلفی رو انجام دادم تا اینکه دیدم هدر برنامه مشکل داره ، یدونه برنامه سالم رو مهندسی معکوس زدم فایل هدرشو برداشتم و برنامه جدید و با اون هدر کامپایل کردم به شکل عجیبی جواب داد ، چندتا برنامه دیگه رو کامپایل کردم واقعا کار کرد ، گفتم همینه!? (Yes , Do it)پیشنیاز نوشتن برنامه سادهبرای شروع به یک سری از نرم افزار ها نیاز داریم که انتها این مطلب لینکشونو قرار میدم. اولین بخش SKYSDK که همون اس دی کی پیش نیاز کامپایل کردن هست.دومیش ARM Developer Suite (ADS1.2) این نرم افزار برای کامپایل میکروکنترلر های سری ARM استفاده میشه.سومیش فایل های مهندسی معکوس شده mr_helper.mrp و mrpbuilder.NET.exe هستنوشتن برنامه سادهاولین فایلی که باید بسازیم شبیه فایل make هست ، خب یه فایل با اسم all.mpr می سازم ، از این فایل برای کامپایل کردن پروژه استفاده میکنیم که شامل (اسم ، نوع cpu ، مسیر کتابخونه های مورد نیاز و کدهای C یا C++ ) هست.[information]projectname=HelloWorld.mprfilename=HelloWorld.mrpappname=HelloWorldappid=100000 version=1001visible=1cpu=3vendor=M-CAP7AINdescription=Hello Iraninclude=C:\Users\iDevice\Desktop\SKYSDK\includeconfig=mtk240[config_mtk240]output= HelloWorld.mrpbmp_mode=normal[files_mtk240]file01 = demo.cfile02 = hellostr.bmpfile03 = xj.mid[files]دومین فایل demo.c که مجموعه کدهای اصلی برنامه تو این بخش قرار میگیره که مسیرش در فایل فوق اضافه شده.(برای این فایل ها از هر اسم استانداردی میشه استفاده کرد)کامپایل کردن پروژهخب حالا دیگه وقتشه از برنامه نوشته شده خروجی بگیریم و انتقالش بدیم به پوشه mythroad و از برنامه نوشته شده نهایت لذت رو ببریم.? (برای خروجی گرفتن به کامپایلر مسیر فایل کانفیگ رو میدیم)&quot<DIR>\SKYSDK\compiler\mrpbuilder.NET.exe&quot all.mprوَ تمام ?.فایل های مورد نیاز https://github.com/M-CAP7AIN/mythroad_mrpbuilder