پاسخ : سیستم عامل برای میکرو avr
در مورد سوالتون درباره کاهش سرعت باید بگم که حق با شماست . یعنی سرعت تا حدی پایین می یاد ولی این به چیزی که بدست آوردیم یعنی چند وظیفه ای یا باصطاح Multi Tasking می ارزه. چون در فاصله های زمانی معینی که بهش Tick میگن کرنل کنترل CPU رو در دست میگیره تا یک Task دیگه رو برای اجرا آمده کنه و بعد کنترل CPU به اون Task داده میشه تا از جایی که باقی مونده بود دوباره شروع به اجرا بکنه و این تعویض Task و اومدن کرنل به روی کار برای تعوض Task ( و یا کارای دیگه) بالاخره یه سرباری ایجاد میکنه و باعث کاهش سرعت میشه .
از قدیم گفتن هر کی خربزه میخوره باید پای لرزش هم بشینه !!
حجم برنامه هم همینطور. یعنی زیادتر میشه و حجم کلش برابر میشه با حجم برنامه هایی که نوشتین ( Task ها ) بعلاوه ی حجم کرنل .
حالا اینکه کرنل چقدر فضای ROM رو اشغال میکنه به کرنل مورد استفاده بستگی داره. من فعلا داره روی uCOS مطالعه میکنم و هنوز به مرحله تست روی میکرو نرسیدم و دقیقا نمیدونم چقدر فضای ROM میخواد.
خوب ، در جواب سوالتون درباره زبان مورد استفاده برای نوشتن Task بذارید با یه مثال توضیح بدم.
فرض کنید شما یه کتابخونه از توابعی برای راه اندازی LCD و Keypad و ... دارین که با زبان C نوشته شده. آبیا میتونین از این توابعی که بزبان C نوشته شده مثلا توی یه کامپایلر زبان بیسیک استفاده کنین. یعنی اونارو Include کنین و بکار ببندین.
میدونیم که نمیشه ( حداقل تا جایی که من میدونم ) .
حالا فکرکنین سرویسهایی که کرنل ارایه میده بزبان C نوشته شده باشه. واسه اینکه بتونیم از اونا توی برنامه هامون ( Task ها ) استفاده کنیم باید اونارو Include کنیم. پس مجبوریم Task هامونم رو هم با C بنویسیم.
شما به کرنل و سرویسهای اون مثل یک کتابخونه مثلا برای کار با LCD و امثالهم نگاه کنید. به همین سادگی !!
در مورد منبع یادگیری نحوه کار با یه کرنل و سرویسهای اون و حتی چجوری انجام شدن کارها توسط کرنل اول باید بدونین که از چه کرنلی میخواین استفاده کنین.
من بشخصه خیلی دوست دارم که با کرنل uCLinux کار کنم. منتها چون مرجع فارسی ای برای اون پیدا نکردم رفتم سراغ uCOS که یه کتاب خریدم بنام MicroC/OS نوشته جین لابروس ( که این کرنل هم نوشته خودشه) و ترجمه فرزاد شکاری زاده که کلا کرنل uCOS رو واست میشکافه و توضیح میده
این کار سرعت میکرو رو به اندازه ی چشم گیری تغییر نمیده ؟
( البته سرعت میکرو انقدر زیاد هست که .............................. )
بعد حجم برنامه ها چی ؟ حدودا چقدر تغییر میکنه ؟
بعد اینطوری که شما میگین که Task های مشخصی داره 2 تا سوال پیش میاد :
اول اینکه این Task ها مخصوص زبان خاصی هست ؟ این سرویس کرنل ها مخصوص زبان خاصی هست ؟ اگه هست چه زبانی ؟
و سوال دوم اینه که این سرویس کرنل هارو چطوری باید یاد بگیری ؟
یعنی این دستورات مخصوص کرنل منبعش کجاست ؟؟
( البته سرعت میکرو انقدر زیاد هست که .............................. )
بعد حجم برنامه ها چی ؟ حدودا چقدر تغییر میکنه ؟
بعد اینطوری که شما میگین که Task های مشخصی داره 2 تا سوال پیش میاد :
اول اینکه این Task ها مخصوص زبان خاصی هست ؟ این سرویس کرنل ها مخصوص زبان خاصی هست ؟ اگه هست چه زبانی ؟
و سوال دوم اینه که این سرویس کرنل هارو چطوری باید یاد بگیری ؟
یعنی این دستورات مخصوص کرنل منبعش کجاست ؟؟
از قدیم گفتن هر کی خربزه میخوره باید پای لرزش هم بشینه !!
حجم برنامه هم همینطور. یعنی زیادتر میشه و حجم کلش برابر میشه با حجم برنامه هایی که نوشتین ( Task ها ) بعلاوه ی حجم کرنل .
حالا اینکه کرنل چقدر فضای ROM رو اشغال میکنه به کرنل مورد استفاده بستگی داره. من فعلا داره روی uCOS مطالعه میکنم و هنوز به مرحله تست روی میکرو نرسیدم و دقیقا نمیدونم چقدر فضای ROM میخواد.
خوب ، در جواب سوالتون درباره زبان مورد استفاده برای نوشتن Task بذارید با یه مثال توضیح بدم.
فرض کنید شما یه کتابخونه از توابعی برای راه اندازی LCD و Keypad و ... دارین که با زبان C نوشته شده. آبیا میتونین از این توابعی که بزبان C نوشته شده مثلا توی یه کامپایلر زبان بیسیک استفاده کنین. یعنی اونارو Include کنین و بکار ببندین.
میدونیم که نمیشه ( حداقل تا جایی که من میدونم ) .
حالا فکرکنین سرویسهایی که کرنل ارایه میده بزبان C نوشته شده باشه. واسه اینکه بتونیم از اونا توی برنامه هامون ( Task ها ) استفاده کنیم باید اونارو Include کنیم. پس مجبوریم Task هامونم رو هم با C بنویسیم.
شما به کرنل و سرویسهای اون مثل یک کتابخونه مثلا برای کار با LCD و امثالهم نگاه کنید. به همین سادگی !!
در مورد منبع یادگیری نحوه کار با یه کرنل و سرویسهای اون و حتی چجوری انجام شدن کارها توسط کرنل اول باید بدونین که از چه کرنلی میخواین استفاده کنین.
من بشخصه خیلی دوست دارم که با کرنل uCLinux کار کنم. منتها چون مرجع فارسی ای برای اون پیدا نکردم رفتم سراغ uCOS که یه کتاب خریدم بنام MicroC/OS نوشته جین لابروس ( که این کرنل هم نوشته خودشه) و ترجمه فرزاد شکاری زاده که کلا کرنل uCOS رو واست میشکافه و توضیح میده
دیدگاه