پاسخ : کوچ کردن از کدویژن به AtmelStudio
در مورد تنظیمات قسمت Toolchain برخی تنظیمات تخصصی هستند و باید اطلاعات کافی درباره کامپایلر GCC داشت تا بتوان تفاوتها رو درک کرد و اکثر این تنظیمات باید به همین شکلی که هستند باشند و نیازی به تغییر نیست البته در کنار هر کدام توضیحات کوتاهی وجود دارد اما برای درک بهتر عملکرد هرکدام باید به قسمت GCC Command Options در GCC Manual مراجعه کرد اما برخی تنظیمات هستند که قبلا هم در این تاپیک به آنها اشاره شده و بیشتر مورد استفاده هستند
مثلا در قسمت Symbols -> Defined symbols هر تعریفی نوشته شود در کل برنامه قابل استفاده هست و اگر تعریف مشابهی در برنامه وجود داشته باشد تنها این تعریف برای کامپایلر شناخته شده هست و کلا از ابتدا این قسمت کامپایل می شود که معمولا در این قسمت می توان F_CPU رو تعریف کرد و در کل برنامه استفاده کرد و روش این کار هم یه این شکل هست که دکمه add رو زده و عبارت F_CPU=16000000UL رو وارد می کنیم در این صورت در کل پروژه F_CPU برابر با این مقدار هست و نیازی به تعریف مجدد نیست.
در قسمت Optimization -> Optimization Level چهار سطح بهینه سازی وجود دارد که O1, O2, O3 سه سطح بهینه سازی از لحاظ سرعت هست که دلیل وجود سه سطح برای این کار تفاوت در سرعت و حجم کد خروجی برای هر کدام هست که به دلیل تفاوت در نحوه بهینه سازی هر کدام توسط کامپایلر است. Os هم بیشترین سطح بهینه سازی از نظر حجم کد خروجی را دارد. در رابطه با O0- اگر می خواهید عمل دیباگ برنامه رو انجام دهید بهتر هست از این گزینه استفاده کنید اما در حالت عادی اگر این گزینه انتخاب شده باشد هنگام کامپایل به صورت وارنینگ به شما اعلام می شود.
در قسمت Linker -> Libraries که بیشتر مورد سوال بود اضافه کردن لایبرری های نرم افزار و یا لایبرری که خود شخص نوشته در پروژه انجام می شود. در قسمت بالا لایبرری که در مسیر پیشفرض نرم افزار هست اضافه می شود که فقط باید اسم لایبرری به این قسمت اضافه شود و libm همیشه وجود دارد و در قسمت پائین لایبرری که در مسیر دیگری وجود دارد اضافه می شود. البته راه ساده تر برای این کار راست کلیک بر روی پوشه Libraries یا اسم پروژه و انتخاب گزینه Add Library هست که با این کار لایبرری اضافه شده در ToolChain هم اضافه خواهد شد.
در مورد تنظیمات قسمت Toolchain برخی تنظیمات تخصصی هستند و باید اطلاعات کافی درباره کامپایلر GCC داشت تا بتوان تفاوتها رو درک کرد و اکثر این تنظیمات باید به همین شکلی که هستند باشند و نیازی به تغییر نیست البته در کنار هر کدام توضیحات کوتاهی وجود دارد اما برای درک بهتر عملکرد هرکدام باید به قسمت GCC Command Options در GCC Manual مراجعه کرد اما برخی تنظیمات هستند که قبلا هم در این تاپیک به آنها اشاره شده و بیشتر مورد استفاده هستند
مثلا در قسمت Symbols -> Defined symbols هر تعریفی نوشته شود در کل برنامه قابل استفاده هست و اگر تعریف مشابهی در برنامه وجود داشته باشد تنها این تعریف برای کامپایلر شناخته شده هست و کلا از ابتدا این قسمت کامپایل می شود که معمولا در این قسمت می توان F_CPU رو تعریف کرد و در کل برنامه استفاده کرد و روش این کار هم یه این شکل هست که دکمه add رو زده و عبارت F_CPU=16000000UL رو وارد می کنیم در این صورت در کل پروژه F_CPU برابر با این مقدار هست و نیازی به تعریف مجدد نیست.
در قسمت Optimization -> Optimization Level چهار سطح بهینه سازی وجود دارد که O1, O2, O3 سه سطح بهینه سازی از لحاظ سرعت هست که دلیل وجود سه سطح برای این کار تفاوت در سرعت و حجم کد خروجی برای هر کدام هست که به دلیل تفاوت در نحوه بهینه سازی هر کدام توسط کامپایلر است. Os هم بیشترین سطح بهینه سازی از نظر حجم کد خروجی را دارد. در رابطه با O0- اگر می خواهید عمل دیباگ برنامه رو انجام دهید بهتر هست از این گزینه استفاده کنید اما در حالت عادی اگر این گزینه انتخاب شده باشد هنگام کامپایل به صورت وارنینگ به شما اعلام می شود.
در قسمت Linker -> Libraries که بیشتر مورد سوال بود اضافه کردن لایبرری های نرم افزار و یا لایبرری که خود شخص نوشته در پروژه انجام می شود. در قسمت بالا لایبرری که در مسیر پیشفرض نرم افزار هست اضافه می شود که فقط باید اسم لایبرری به این قسمت اضافه شود و libm همیشه وجود دارد و در قسمت پائین لایبرری که در مسیر دیگری وجود دارد اضافه می شود. البته راه ساده تر برای این کار راست کلیک بر روی پوشه Libraries یا اسم پروژه و انتخاب گزینه Add Library هست که با این کار لایبرری اضافه شده در ToolChain هم اضافه خواهد شد.









دیدگاه