PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : برنامه نویسی لینوکس برای cortex-a8



Doloop
19-01-2013, 00:30
بسم الله الرحمن الرحیم


تایپیک از من استارت از شما :0013:
سوالات مربوط به برنامه نویسی لینوکس از محیط برنامه نویسی و نمونه مثال و غیره گرفته تا ...

من بعد از آموزشی ملحق میشم :wink:
اگه عنوان تایپیک هم مورد پسند نبود ویرایش رو میزارم به عهده مدیران :0013:

naatamam
19-01-2013, 10:10
سلام
از آنجایی که من هیچ آشنایی با لینوکس ندارم چند سوال در این باره برام پیش آمده

1- آیا میشه این لینوکس را در ویندوز هم شبیه سازی کرد بطوریکه در آن بشه برای لینوکس برنامه نوشت ؟

2- در لینوکس در چه محیطی و با چه زبانی برنامه نویسی میکنیم ؟

3- برای شروع کار با لینوکس چه پیشنهادی دارید ؟

dariush_ab
19-01-2013, 11:09
سلام.
سوالات خوبی رو کردید.
در مورد سوال اولتون بله با VIRTUAL MACHINE میشود.
برای این کار -شبیه سازی -میتوانید از دو نرم افزار زیر استفاده کنید :

1-VMWARE که حجمش زیاده و پولیه.(البته نه برای ما!)
2- ORACLE VM Virtual Box که هم حجمش کمه و برای لینوکس خیلی خوبه.

اگر پیداش نکردید بگید آپلودش کنم.

برای سوالات دیگه دوستان با تجربه ترند پاسخ خواهند داد.

موفق باشید.

pswin
19-01-2013, 11:37
2- در لینوکس در چه محیطی و با چه زبانی برنامه نویسی میکنیم ؟

با هر زبوني كه دلتون مي خواد. ( اما زبان قالب C هست )


3- برای شروع کار با لینوکس چه پیشنهادی دارید ؟
اول نصبش كنيد با محيط گرافيكيش يكم كار كنيد و بعدش يه كتاب فارسي هم ميتونه مفيد باشه. اما براي برنامه نويسي كتاب the linux interface programming خوبه كه فكر كنم 65 فصل داره.

dariush_ab
19-01-2013, 12:02
با هر زبوني كه دلتون مي خواد. ( اما زبان قالب C هست )

خوب بهترینشو معرفی کنید تا نصب کنیم؟؟

NetBeans IDE روی لینوکس نصب میشه ؟

IDE یا برنامه ای که بشه تو لینوکس و با C براش برنامه نوشت چیه؟

sigma-mx
19-01-2013, 12:31
خوب بهترینشو معرفی کنید تا نصب کنیم؟؟

NetBeans IDE روی لینوکس نصب میشه ؟

IDE یا برنامه ای که بشه تو لینوکس و با C براش برنامه نوشت چیه؟ در اینجا باز هم همون بحث همیشگی مقایسه پیش میاد ! کدوم بهتره ؟ کدوم قابلیت بیشتری داره و کدوم راحتتره ؟
و طبق معمول جواب کاملی به این سوالات نمیشه داد ولی از لحاظ محبوبیت C و C++ در بالای بالا قرار دارند . و بیشتر برنامه های لینوکس با این زبانها نوشته شدند . تو لینوکس دست برنامه نویس خیلی بازه ! اگه تا بحال تو لینوکس کار نکردین و یا برنامه هم ننوشتین تو ویندوز این حرف منو درک نمیکنید . وقتی که مثلا یک ماه فقط با لینوکس کار کنید میفهمید که مایکروسافت فقط سر همه رو گول مالیده و با ظاهر و رنگ و لعاب اصل قضیه رو از دید ما پنهان کرده ! تو برنامه نویسی هم همین طور شاید فکر کنید ( مخصوصا دوستان خبره visual studio کار) الان یه برنامه ویژواااال تو لینوکس بچه ها معرفی میکنند و ما میریم و شروع میکنیم به برنامه نوشتن !! ولی خوشبختانه اینطور نیست . مفهموم و کلمه ویژوال انحصارا مال مایکرو سافت هست !!!! در لینوکس تقریبا همچین چیری نداریم . یسری IDE برای ساخت GUI داریم (gui designer)که اگر خواستید برنامه GUI بنویسید تو ظاهر برنامه ( فرم ها و دکمه ها و ... ) به شما کمک میکنه . یعنی پنجره ای که ساختید به فایل معمولا XML تبدیل میکنه و شما تو سورس اون رو ایمپورت کرده و استفاده میکنید . در حالت کلی برای تمامی زبانهای برنامه نویسی تو لینوکس محیط ما میتونه همون مثل notepad خودمون باشه (text editor) که با خط فرمان ما بعد فایلو کامپایل میکنید .
لینوکس شما رو محدود نمیکنه ، ده ها زبان دیگه هم وجود داره که میتونید از اونا استفاده کنید .تنها کاری که باید کنید اینه که کامپایلرش رو از مخازن لینوکس دانلود . نصب کنید.

IDE هایی نظیر NetBeans و Eclipse در اصل برای لینوکس و مک نوشته شدن !

IDE های مختلفی وجود داره مثل دو مورد بالا و CodeBlock و Geany و .....

dariush_ab
19-01-2013, 12:47
خیلی ممنون از اطلاعات بسیار مفیدی که گفتید.
آره حق کاملا با شماست اما من متاسفانه گرفتار مایکروسافت شدم و زیاد لینوکس کار نکردم!

naatamam
19-01-2013, 13:19
کتاب خیلی هست روی اینترنت در این مورد، قبلا یک سری شو آپلود کردم:
You can see links before reply
اگه حوصله دارید خوب هاشو پیدا کنید به من هم اسمشو بگید ;)
-----------
این لینوکس برای cortex با بقیه آرم ها فقط سر کراس کامپایل فرق میکنه یا فرق دیگه هم داره؟

سلام
این آدرس که دادید شامل چندین فایل زیر است


You can see links before reply

آز آنجایی که حجم فایل ها بسیار بالا می باشد(جمعا" 4,571,886 کیلو بایت) لطفا" مشخص کنید که اینا همه یک کتاب هستند یا چیز دیگری ؟

sarbaz13
19-01-2013, 13:48
در مورد سوال اولتون بله با VIRTUAL MACHINE میشود.
برای این کار -شبیه سازی -میتوانید از دو نرم افزار زیر استفاده کنید :
</b><b>1-VMWARE که حجمش زیاده و پولیه.(البته نه برای ما!)


ببخشیدا کی گفته Vmwareپولی هستش؟و برای شما پولی نیست؟

این لینک دانلودش
دانلود VMware Workstation v9.0.1 Build 894247 Lite + VMware-tools v9.2.2 - نرم افزار استفاده از چند سیستم عامل بطور هم زمان (You can see links before reply)
رایگان هستش با کرک سالم

sigma-mx
19-01-2013, 14:34
بهترین و بروز ترین روش همون اینترنت هست . شما وقتی لینوکس رو نصب میکنی کافیه بگی چیا رو لازم داری . خودش اکثرا برات میگرده و پیدا میکنه و دانلود و نصب میکنه ... به این راحتی ... البته لینوکس official که نصب میکنی به یسری مخازن استاندارد و official وصل میشه اگه برای برنامه های خاصی احتیاج داشتی میتونی آدرس مخازن مورد نظر رو به لیست اضافه کنی ..

hamidam
19-01-2013, 14:53
اگر میشه نحوه نصب لینوکس را از ابتدا همراه با فایل های مورد نیاز توضیح دهید
من می خوام لینوکس را بصورت ویژال در ویندوز شبیه سازی کنم آیا در این صورت میشه برنامه نوشت در لینوکس ؟
فایل های که برای برنامه نویسی لازم دارم چی هست (من میخوام به یکی از زبان های c یا c++ یا c# برنامه بنویسم)

pswin
19-01-2013, 15:12
من كاملا با سيگما موافقم. اگر برنامه نويس باشيد بعد حدود يكي دو ماه كار با لينوكس حتي سراغ ويندوز هم نمي ريد و تازه مي فهميد كه با كامپيوترتون مي تونستيد چه كارهايي بكنيد كه از اونها قافل بوديد:


خوب بهترینشو معرفی کنید تا نصب کنیم؟؟
مفاهيم برنامه نويسي يه مقدار با ويندوز و محيطهاي ديگه متفاوت هست. توي لينوكس بايد 100 طبق اصول حركت كنيد و همه چي طبق اصول كامپيوتري ساخته شده. برنامه نويسي رو كه با هر چي انجام بديد فرق چنداني ني كنه اما شما داخل لينوكس يه كامپايلر داريد و يه محيط IDE و يك عالمه ابزار:

كامپايلرهاي C:
- كامپايلر GCC: كامپايلر قالب و استاندارد لينوكس هست و 99 درصد از اين كامپايلر استفاده ميشه.
- كامپايلر اينتل:‌اين كامپايلر پولي هست و امكانات جالب زيادي، مخوصا براي سيستم هاي چند پردازنده اي داره.

محيطهاي يكپارچه توسعه (ide):
- eclispe
- codeblock
- emacs
- qt
و ...

اصولا برنامه نويسهاي حرفه اي لينوكس از يك text editor ساده استفاده مي كنن و قديميهاي لينوكس يا از vi و يا emacs و تازه كارها بيشتر eclipse و qt رو ترجيح ميدن.

همه اين اديتورها به غير از vi محيط متني لازم دارنو. اما vi حتي قابليت كار با پورت سريال رو هم داره. يعني حتي لازم نيست كه مانيتور داشته باشيد.



که بهش میگن IDE برای ساخت GUI
ide براي ساخت gui نيست. ideها براس ساده تر كردن كار برنامه نويس طراحي شدن. يعني تمامي امكانات برنامه نويسي رو سعي ميكنن يكجا جمع كنن مثا داخل ويژوال استاديو علاوه بر برنامه نويسي مي تونيد به به پايگاه داده هم متصل بشيد و يا كار ديباگ رو انجام بديد. منتها مشكل ويژوال استاديو اينه كه مفاهيم رو پنهان كرده. يعني فرد نمي دونه روند كامپايل چجوريه يا چه پارامترهايي داخل كامپايل كدش دخيل هستند. ولي خدايش از نظر ide ويژوال استاديو فوقالعاده هست اما كامپايلرهاش خوب نيستن.

اما ابزارها:
ابزارها مجموعه اي از برنامه هاي جانبي هستن كه تعدادشون كم نيست و بشدت تك تك اونها مفيد هستن. از جمله اونها ميشه به موارد زير اشاره كرد:

1. gdb
2. dd
3. objcpy
4, objdump
5. hexdump

و ...

مثلا gdb يه ديباگر تمام عيار هست. شما حتي مي تونيد بهش ip بديد و ديباگ يه برنامه از راه دور رو باهاش انجام بديد. objdump يك دي اسمبلر كامل هست. باهاش مي تونيد محل قرار گيري و تك تك متغييرهاي داخل كد رو بيرون بكشيد و يا objcpy امكانات زيادي رو از جمله حذف و اضافه كردن قسمتهايي به فايل exe خودتون رو انجام بديد.

علاوه بر ابزارهاي برنامه نويسي يكسري ديگه از برنامه ها براي كارهاي سيستمي كنار گذاشته شده مثل برنامه lsusb ليست usbهاي سيستم رو ميده.

قسمت ديگه اي از امكانات مربوط به ساخار فايل لينوكس ميشه. مثلا شما مي تونيد امكانات پردازنده سيستم رو داخل فايل /proc/cpuinfo ببيدنيد ( براي اينكار هيچ راهي داخل ويندوز به جزء دستور اسمبلي cpuid وجود نداره و اين دستور هم فقط رو يه قسمتي از كامپيوترهاي pc كار ميكنه.) و يا فايل /proc/meminfo به شما اجازه مشاهده مشخصات كامل حافظه رو ميده يا فايل /proc/version ويرايش لينوكس رو نگهداري ميكنه ( براي اينكار توي ويندوز يه api وجود داره كه يه شماره رو بر مي گرودنه و از طريق اون شماره ميشه ويرايش ويندوز رو بدست آورد و مشكل اينجاست كه مثلا شماره ويندوز 9 چي ميشه؟! )

يكي از مزيتها اينه كه اين فايلها محتويات متني دارن يعني شما بدون نوشتن برنامه هم مي تونيد كل مشخصات سيستم رو بيينيد مثلا با دستور زير مشخصات پردازنده چاپ ميشه.


cat /proc/cpuinfo

اگر گوشي اندرويد داريد مي تونيد برنامه ترمينال رو نصب كنيد و با تايپ اين دستور مشخصات پردازنده گوشيتون رو با تمام جزئيات مشاهده كنيد.

sigma-mx
19-01-2013, 15:44
ممنون که کامل توضیح دادی :0013:
در مورد ide منظور من هم همین بود منتها برای برنامه نویسی ویژوال گفتم باید حتما از این IDE ها استفاده بشه .

اگر برنامه نويس باشيد بعد حدود يكي دو ماه كار با لينوكس حتي سراغ ويندوز هم نمي ريد و تازه مي فهميد كه با كامپيوترتون مي تونستيد چه كارهايي بكنيد كه از اونها قافل بوديد:
طوری هست که از اینکه میبینید همه چی به همین سادگی تو ویندوز نیست خوشحال میشین !!! چون همه چی حساب و کتاب داره و شما دقیقا درک میکنید که داره چه اتفاقی میوفته ! در واقع تو ویندوز و لینوکس و ... همینه منتها تو ویندوز مخفیه و کاربر و برنامه نویس فقط 4 تا کلیک میکنه و :mrgreen: هست !

در مورد نصب لینوکس که دوستان گفتن ،به نظر من ، بهتره با توجه به گستردگی مطالب ، به انجمنهای ایرانی لینوکس مراجعه بشه . چون این مطالب کاملا در اونجا توضیح داده شده . برای اوبونتو : انجمنهای فارسی اوبونتو - فهرست (You can see links before reply)

naatamam
19-01-2013, 18:50
مجموعه کتاب های در مورد برنامه نویسی و ساختار مدارهای embedded هست و سایر موضوعات، درهم هست :




ممنون
در این مجموعه کتاب های خوبی بچشم میخورد
با اینکه حجم آن بالاست (در حد یک dvd) ولی من دارم دانلودش میکنم که فکر کنم تا یکی دو روزه دیگه تمام بشه
لذا اگر هر کدام را خواستید بگید من لینک دانلود آنرا اینجا قرار دهم

zaghaghi
19-01-2013, 22:46
من فکر میکنم اگر توزیع لینوکسی رو که میخواهید باهاش کار کنید رو مشخص کنید یه کم راهنمایی‌ها راحتتر میشه.
اگر تازه وارد هستید توزیعی رو انتخاب کنید که کاربران ایرانی بسیاری ازش استفاده میکنند که در صورت برخورد با مشکل راحتتر حل بشه مشکل های لینوکسی تون رو میتونید توی چت روم‌های IRC گروه‌های لینوکسی شهرها برطرف کنید. مثلا Tehran Linux Users Group (You can see links before reply)

در مورد برنامه نویسی هم همونطور که دوستان گفتند بعد از یه مدت متوجه میشید که با یه ادیتور ساده و قوی هم میشه برنامه نوشت مثلا (You can see links before reply). اما تا زمانی که تازه کار هستید و البته حتی زمانی هم که حرفه ای شدید میتونید از این محیطها استفاده کنید:
-- Eclipse CDT رو میتونید از این لینک بگیرید Eclipse CDT (You can see links before reply)
این محیط برای تازه کارها تقریبا خوبه بیشتر از این جهت که کاربرای زیادی باهاش کار میکنند و مشکلات احتمالی راحت قابل حل کردن هستند.

-- Qt Creator هم محیط خوبی است و با کتابخانه غنی Qt ارائه میشه و برای کسانی که به یه محیط کامل و جامع عادت کردند و دوست دارند همه چی همونجا پیدا بشه محیط خوبی هست ولی تعداد کاربرانی که ازش استفاده میکنند به مراتب کمتر از Eclipse هست میتونید از اینجا دانلودش کنید (You can see links before reply) البته یکی از مزیت های کتابخانه Qt اینه که برنامه نوشته شده رو میتونید توی لینوکس، ویندوز و مک هم بدون تغییر یا با کمترین تغییر کامپایل کنید و استفاده کنید.

naatamam
20-01-2013, 14:26
کتاب خیلی هست روی اینترنت در این مورد، قبلا یک سری شو آپلود کردم:
You can see links before reply
اگه حوصله دارید خوب هاشو پیدا کنید به من هم اسمشو بگید ;)
-----------
این لینوکس برای cortex با بقیه آرم ها فقط سر کراس کامپایل فرق میکنه یا فرق دیگه هم داره؟

سلام
این فایل ها را من همشو دانلود کردم (در حدود 4.30 گیگ ) که از Embedded.part01.rar تا mbedded.part11.rar
ولی گویا کامل نیست و باید فایل یا فایل های دیگری هم باشند که مجموعه کامل شود...
لطفا" فایل های (mbedded.part12.rar , .... ) بعدی را هم لینکش را قرار دهید

naatamam
21-01-2013, 10:27
-- Qt Creator هم محیط خوبی است و با کتابخانه غنی Qt ارائه میشه و برای کسانی که به یه محیط کامل و جامع عادت کردند و دوست دارند همه چی همونجا پیدا بشه محیط خوبی هست ولی تعداد کاربرانی که ازش استفاده میکنند به مراتب کمتر از Eclipse هست میتونید از اینجا دانلودش کنید (You can see links before reply) البته یکی از مزیت های کتابخانه Qt اینه که برنامه نوشته شده رو میتونید توی لینوکس، ویندوز و مک هم بدون تغییر یا با کمترین تغییر کامپایل کنید و استفاده کنید.

سلام
من فکر میکنم که Qt Creato بهتر و کامل تر باشه و در سیستم عامل های دیگر(شنیدم حتی اندروید) هم میشه برنامه را اجرا کرد.
با توجه به شکل زیر کدام ورژن را پیشنهاد میدهید دانلود کنم (اونی که علامت زدم مد نظر من است)

You can see links before reply

electera
21-01-2013, 11:46
صحبتهای جالبی شده که شخصا استفاده کردم، ممنون از همه دوستان.
منم تجربیات شخصیم رو با دوستان به اشتراک میزارم تا نظرشون رو بدن:
شخصا معتقدم یک مهندس نرم افزار یا کامپیوتر باید بتونه با زبانهای مختلف برنامه نویسی کار کنه و با سیستم عامل مختلف و زبانهای برنامه نویسی آشنا باشه و براساس نیاز روی مورد یا مواردی مسلط باشه.
اما برای مهندسین الکترونیک این قضیه یکم متفاوته! چراکه این قشر به اندازه کافی با اصطلاحات و اصول مختلف درگیر هستند که سوئیچ روی موضوع جدید برای اونها ممکنه دشوار باشه چراکه هر شاخه از الکترونیک خودش دنیاییه.
پیشنهادم به دوستان الکترونیک اینه که زیاد نباید درگیر جزئیات برنامه نویسی شد و باید بیشتر روی الگوریتم و خروجی مورد نیازمون برای پروژه متمرکز شد تا کارنهایی مطلوبیت خودش و هدف غایتش رو ازدست نده.
فکر میکنم به همین خاطره که سازمانی بزرگ مثل ناسا از زبانی گرافیکی (G) یعنی labview برای رفع نیازهاش استفاده میکنه.
چندماهه پیش خودم در این زمینه احساس نیاز کردم و به این نتیجه رسیدم برم سراغ زبانهایی که خروجی اونها در سیستم عامل های مختلف قابل استفاده باشه و گزینه مناسب رو qt دیدم، البته گزینه های بهتر هم وجود داره اما باتوجه به پیش زمینه خودم و محیط کامل و... این مورد بنظرم جالب بود.
لینکهای مفید:
فیلم های آموزشی برای qt: Index of /video/voidRealMs (You can see links before reply)
انجمن: انجمن گروه موج سازان - برنامه نویسی در محیط QT (You can see links before reply)
You can see links before reply
You can see links before reply
You can see links before reply

zaghaghi
21-01-2013, 13:41
سلام
من فکر میکنم که Qt Creato بهتر و کامل تر باشه و در سیستم عامل های دیگر(شنیدم حتی اندروید) هم میشه برنامه را اجرا کرد.
با توجه به شکل زیر کدام ورژن را پیشنهاد میدهید دانلود کنم (اونی که علامت زدم مد نظر من است)

You can see links before reply

ورژن ۵ تازه اومده و فکر نکنم مشکلی داشته باشه و اگر روی ویندوز برنامه نویسی انجام میدید همونی رو که مشخص کردید دانلود کنید. البته قبل از دانلود، مطالب مربوط به کراس کامپایل Qt رو هم مطالعه کنید (Qt 4.7: Cross-Compiling Qt for Embedded Linux Applications (You can see links before reply))

مطالعه این لینک هم ممکنه به درد بخور باشه: arm - Qt 4.8 Cross Compile for Embedded Linux using Linaro Toolchain from Windows - Stack Overflow (You can see links before reply)

pswin
21-01-2013, 15:15
شخصا معتقدم یک مهندس نرم افزار یا کامپیوتر باید بتونه با زبانهای مختلف برنامه نویسی کار کنه و با سیستم عامل مختلف و زبانهای برنامه نویسی آشنا باشه و براساس نیاز روی مورد یا مواردی مسلط باشه.

اما برای مهندسین الکترونیک این قضیه یکم متفاوته! چراکه این قشر به اندازه کافی با اصطلاحات و اصول مختلف درگیر هستند که سوئیچ روی موضوع جدید برای اونها ممکنه دشوار باشه چراکه هر شاخه از الکترونیک خودش دنیاییه.

کلا همه علوم چه می خواد نرم افزار باشه یا الکترونیک به اندازه کافی ‍یچیده هستن. و مهندسین این دو نمی تونن بصورت تخصصی وارد رشته های مختلف بشن. مثلا هیچ وقت یه مهندس الکترونیک نمی تونه با یه مهندس کامپیوتر توی زمینه ای مثل برنامه نویسی رقابت کنه و یا برعکس

برای همین موضوع هم یکسری از رشته های مهندسی میانه وجود داره بشکلی که مهندسین اون رشته بتونن داخل هر دو حوزه وارد بشن. توی علوم مهندسی معمولا به عنوان معمار از اونها یاد میشه. یعنی کسی که معماری سیستم رو درست می کنه و بعد اون با توجه به اطلاعات داده شده مهندسین دو و یا چند رشته شروع به محاسبات مهندسی می کنن.

اصولا سیستم های الکترونیک دیجیتالی و سیستم های کامپیوتری مثل سخت افزار و نرم افزار باهم درگیر هستن و رشته ای که اینها رو به هم متصل میکنه بهش معماری سیستم های کامپیوتری میگن. حالا اگر بحث مکانیک و سیستم های آنالوگ هم باز بشه رشته مکاترونیک عرض ادب میکنه.

متاسفانه از اونجا که توی مملکت ما نه همکاری هست ونه حس همکاری و نه متخصص درست و حسابی همیشه این رشته ها جدا از هم می مونن. و نتیجه کار خوبی بیرون نمیاد.

مثلا همین الان بچه های تالاربا اینکه درگیر کار سیستمی هستند درگیر QT شدن که بیشتر یه کتابخونه UI هست. و در آینده شاید فقط ۱۰ درصد کارشون رو با QT انجام بدن. مشکل اینجاست که اینجایی ها اکثرا الکترونیک هستند و با حوزه نرم افزار آشنایی ندارند. و بر عکس

من فکر میکنم برای کار اصولی روی سیستم های embedded در مرحله اول باید کار سیستمی انجام داد. برای کار سیستمی هم برنامه نویس سیستمی لازمه. برنامه نویسی سیستمی هم توی لینوکس و اندروید به راحتی برنامه نویسی avr و یا دات نت نیست و جند زیر شاخه میشه:

۱. برنامه نویسی POSIX: استفاده از امکانات نرم افزاری سیستم های لینوکسی
۲. برنامه نویسی درایور: توسعه درایورهای مورد نیاز در لینوکس ( الان خود لینوکس یه رنج بزرگ رو ساپورت میکنه معمولا نیازی نیست مگر اینکه درایور جدید و یا مورد خاصی باشه.
۳. برنامه نویس هسته: توسعه، تغییر و یا خصوصی سازی در حیطه لینوکس ( مثلا نوشتن یه ماژول برای لینوکس و ... )
۴. برنامه نویس کتابخانه های جانبی مثل:

۱. برنامه نوییس OpenGL/OpenGL ES برای استفاده از قابلیت GPU پردازشگر ARM A10
۲. برنامه نویس OpenCV و .....

دقیقا اینکه چه تخصصی لازمه مربوط به پروژه هست و قبل از هر کاری ( حتی برنامه نویسی ) پیشنهاد می کنم که اول یه مقدار با خود لینوکس کار کنید و ببینید چه کارهایی میشه باهاش کرد و توی مرحله بعد اگر دیدن نیازهاتون حل نمیشه اونا رو مطرح کنید تا جایی که از دستمون بر بیاد راهنماییی کمک کنیم.

واقعیت اینه که این سیستم ها لینوکسی خیلی پیچیده تر و گسترده تر از اونی هستند که فکر می کنید. یعنی امکان نداره با گذاشتن یک کتاب مثل کتاب avr بتونید از حتی ۱۰ درصد امکاناتش سر در بیارید. چه برسه که بخوایید خبره شین و روی مباحثی مثل اینکه چی خوبه یا چی مناسب نیست بحث کنید.

شما داخل لینوکس بدون نوشتن برنامه c هم می تونید از طریق خط فرمان کل پایه های برد و یا جتی مواردی مثل usart و ... رو کنترل کنید.

dariush_ab
26-01-2013, 19:34
Eclipse CDT رو میتونید از این لینک بگیرید Eclipse CDT (You can see links before reply)
این محیط برای تازه کارها تقریبا خوبه بیشتر از این جهت که کاربرای زیادی باهاش کار میکنند و مشکلات احتمالی راحت قابل حل کردن هستند.

-- Qt Creator هم محیط خوبی است و با کتابخانه غنی Qt ارائه میشه و برای کسانی که به یه محیط کامل و جامع عادت کردند و دوست دارند همه چی همونجا پیدا بشه محیط خوبی هست ولی تعداد کاربرانی که ازش استفاده میکنند به مراتب کمتر از Eclipse هست میتونید از اینجا دانلودش کنید (You can see links before reply (You can see links before reply)) البته یکی از مزیت های کتابخانه Qt اینه که برنامه نوشته شده رو میتونید توی لینوکس، ویندوز و مک هم بدون تغییر یا با کمترین تغییر کامپایل کنید و استفاده کنید.

این eclipse CDT چه فرقی با ECLIPSE داره؟
این QT کرکش رو از کجا میشه دانلود کرد؟

میشه لطف کنید لینک دانلود کامل پکیج های ECLIPSE و QT رو بگذارید؟
ممنون.

dariush_ab
26-01-2013, 19:54
سلام دوستان.
میشه یک لطفی کنید حرفم رو تایید کنید و یا اصلاح؟
من چیزی که برداشت کردم اینه که برای سیستم عاملهای WINDOWS و LINUX و ANDROID میشه با IDE های QT و Eclipse و به زبانهای C/C++/JAVA برنامه نوشت.درسته؟و این QT و Eclipse نیز هر دو قابل نصب در linux , windows هستند؟ آیا برنامه ای که در eclipse نوشته میشه بر خلاف qt قابل اجرا در یک سیستم عامل خاص است؟آیا این دو کامپایلر هر سه زبان c/c++/java رو دارند؟netbeans IDE به نظرتون چه جوریه ؟ایا با اونم میشه برای LINUX و ANDROID برنامه نوشت؟
خیلی ممنون.

Doloop
27-01-2013, 02:13
دوستانی که با این برنامه شبیه سازی لینوکس توی ویندوز7 کار کردن :
اول : چطوری میشه صفحه رو کاملا فول اسکرین کرد ؟
دوم : ویندوز 8 هم داره ولی برای من تا اون پنجره آبی رنگ چهار تیکه لودینگ میاد دیگه جلوتر نمیره ؟!!! چاره؟

dariush_ab
27-01-2013, 10:16
چطوری میشه صفحه رو کاملا فول اسکرین کرد ؟
من ubuntu 12 رو نصب کردم خودش تمام صفحه میشه با vmware 9 البته بعضی ورژن ها تمام صفحه نیستن بایستی هم تنظیمات vmware درست باشه و هم resoluton خود صفحه linux.(این ubuntu خیلی کند عمل میکنه).
شما چه نسخه ای رو نصب کرده اید؟

esisafa
27-01-2013, 14:42
دوستان به یک چیز توجه کنن. به نظر شما کامپایلری که برای pc x86 استفاده میشه برای arm هم استفاده میشه؟؟؟؟؟؟؟ من که بعید میدونم. قطعا باید کامپایلر کدهای سطح بالا رو با اسمبلی cortex تبدیل کنه و بعد اسمبلر cortex اونا رو زبان ماشین arm تبدیل کنه ولی در مورد pc متفاوته.
این اوبونتو برای arm با اون اوبونتو برای pc فرق نداره؟؟؟؟؟؟؟؟
ممکنه تمام دستورات و ظاهر هر دو لینوکس یکی باشه ولی کدهای ماشین این دو با هم فرق داره اصلا یکی risk و دیگری cisk هست. و برای همین باید از یک کامپایلر که برای arm هست استفاده کرد. البته ممکنه که کتابخونه ها یکی باشن که میتونه کار رو راحت کنه یعنی کدها رو برای هر کدوم بنویسیم بشه برای اون یکی هم کامپایل کرد

pswin
27-01-2013, 22:00
این QT کرکش رو از کجا میشه دانلود کرد؟

ديگه ما ايراني ها بدجور عادت به نرم افزار كركي كرديم. خوشبختانه تمام اين نرم افزارها مجاني هستن. فقط اگر از QT استفاده تجاري بكنين بايد ويرايش پولي رو تهيه كنيد. اين ويرايش با معموليش هيچ فرقي نداره.



آیا این دو کامپایلر هر سه زبان c/c++/java رو دارند؟
QT كامپايلر نيست يه فريم ورك يا SDK هست. تقريبا GNU compilers از جمله gcc كامپايلر تمام زبانها رو فراهم ميكنه و ميشه هم براي اندرويد و هم لينوكس و هم آرم و هم x86 و چندين معماري ديگه باهاش برنامه نوشت.

Doloop
27-01-2013, 22:34
من ubuntu12.04 رو دارم و با VirtualBox شبیه سازی کردم
من که درگیر فول کردن بودم و کار خاصی نکردم ببینم سرعتش چطوره !!!
ولی VirtualBox تنظیمات کاملی داره :wink:

اینطوری باشه من نصب میکنم شبیه سازی حال نمیده ولی اگه ویندوز8 جواب میداد شاید نظرم بر میگشت :0013:

dariush_ab
27-01-2013, 23:48
سلام.
خیلی ممنون paswin از پاسختون.

QT كامپايلر نيست يه فريم ورك يا SDK هست.
آره منظورم همون بود.
دوسوال:
گفتید با qt میشه برای آرم هم برنامه نوشت .این qt احتمالا از java برای آرم پشتیبانی نمیکنه؟
آیا در qt و eclipse میشه برنامه ای گرافیکی برای این برد نوشت که بتونه مستقیما با GPIO برد ارتباط داشته باشه و مثلا یک فرکانس ورودی به یک پین رو بخونه؟
خیلی ممنون.

dariush_ab
27-01-2013, 23:52
من ubuntu12.04 رو دارم و با VirtualBox شبیه سازی کردم


من دوباره UBUNTU 12.1 رو با VirtualBox نصب و اجرا کردم.سرعتش نسبت به vmware بهتره ولی با vmware خودش تمام صفحه میشه اما با این VirtualBox نه.
به نظر شما برنامه هایی که با ubuntu کار میکنن آیا با ubuntu این برد هم کار میکنن؟؟!

dariush_ab
28-01-2013, 00:13
سلام مجدد.


ديگه ما ايراني ها بدجور عادت به نرم افزار كركي كرديم. خوشبختانه تمام اين نرم افزارها مجاني هستن. فقط اگر از QT استفاده تجاري بكنين بايد ويرايش پولي رو تهيه كنيد.

این مطلب رو به این خاطر گفتم چون تو سایت زیر گفته که 30 روزه است.


In your download evaluation e-mail, you will find a 30-day evaluation for Qt 5.0 and Qt 4.8

You can see links before reply

pswin
29-01-2013, 12:52
این مطلب رو به این خاطر گفتم چون تو سایت زیر گفته که 30 روزه است.
توی ادامه همون مطلب گفته که فقط برای ویندوز embedded و rtos


آیا در qt و eclipse میشه برنامه ای گرافیکی برای این برد نوشت که بتونه مستقیما با GPIO برد ارتباط داشته باشه و مثلا یک فرکانس ورودی به یک پین رو بخونه؟
اگر توی یک کلمه جواب می خوایینُ بله

اما واقعیت اینه که همه چی رو بهم ریختید. اصلا qt به eclipse و یا هر دوی اینها هیچ ربطی به gpio ندارن. یه بار دیگه میگم:

qt: فریم ورک هست
qt-creator: محیط توسعه هست
eclipse: محیط توسعه هست.
gcc: کامپایلر c هست.

فریم ورک qt چه کارهایی انجام میده؟
بیشتر از هر چیزی یکسری توابع و امکانات رو برای برنامه نویسی ui فراهم میکنه اما امکانات دیگه ای رو هم برای کار با پایگاه داده و ... فراهم میکنه.

با qt چه کارهایی نمیشه کرد:
بطور خلاصه کارهای زیادی. اما اگر به مبحث ما مربوط باشه:
۱. کار با GPIO
۲. کار با پورتهای خاص
۳. کارهای سیستمی تحت لینوکس

پس چطور اینکارها رو باید انجام بدم:
qt یه فریم ورک ناتیو هست. یعنی هر کاری رو که نمی تونید باهاش انجام بدید، می تونید برای اونکار از مابقی کتابخونه های ناتیو استفاده کنید.

کتابخونه های ناتیو چی هستن:
زبان C علاوه بر قدرتش ، کتابخونه هایی ( مجموعه توابع و ...) داره که شهرت زیادی دارن از جمله اونها:
۱. OpenGL: برای گرافیک سه بعدی و دو بعدی
۲. DirectX: برای گرافیک سه بعدی
۳. OpenAL: برای صدای سه بعدی
۴. GTK/GTK+, wxwidgets و ... : برای ui
۵. OpenCL: برای محاسبات توزیعی نا همگن
۶. OpenMP: برای چند پردازندگی و چند هسته ای کردن یه برنامه
۷. DevIL: برای کار با تصویر ( از جمله بار گذاری و ذخیره و تغییر )
۸. OpenCV: برای پردازش تصویر
۹. کتابخونه های مرتبط با sql-lite و mysql و ... : برای کار با پایگاه داده ها
۱۰. و ...

تقریبا برای هر کاری یکسری کتابخونه وجود داره. به غیر از کتابخونه های یکسری API هم از جمله POSIX و Win32API وجود داره که از اونها برای کارهای سیستمی و برقراری ارتباط با لینوکس استفاده میشه.

چه کارهایی میشه با eclipse و qt-creator کرد:
فقط تایپ متن برنامه و یا ادیت یه منوی گرافیکی. این ابزارها در ماکزیمم حالت امکان برقراری ارتباط شما با کامپایلر رو فراهم می کنن. یعنی چی؟
یعنی اگر دکمه کامپایل رو داخلشون زدین کامپایلر (توی این مورد GCC ) رو فراخوانی می کنن.

بدون eclipse و qt-creator میشه کار کرد؟
بله. تقریبا حرفه ای هاسعی می کنن از این ابزارها استفاده نکند.

dariush_ab
29-01-2013, 13:29
سلام.
واقعا ممنون.توضیحاتتون واقعا خوب بود.
به نظر شما برای من که تازه کار هستم بهتره برم Eclipse رو یاد بگیرم یا برم دنبال qt ؟
با نصب qt-creator و eclipse احتمالا gcc هم نصب میشه؟در مورد کامپایلر java چی؟
qt با qt-creator نصب میشه؟

۱. OpenGL: برای گرافیک سه بعدی و دو بعدی
۲. DirectX: برای گرافیک سه بعدی
۳. OpenAL: برای صدای سه بعدی
۴. GTK/GTK+, wxwidgets و ... : برای ui
۵. OpenCL: برای محاسبات توزیعی نا همگن
۶. OpenMP: برای چند پردازندگی و چند هسته ای کردن یه برنامه
۷. DevIL: برای کار با تصویر ( از جمله بار گذاری و ذخیره و تغییر )
۸. OpenCV: برای پردازش تصویر
۹. کتابخونه های مرتبط با sql-lite و mysql و ... : برای کار با پایگاه داده ها
۱۰. و ...

کتابخونه gpio چی؟
ببخشید حتما خیلی سوالاتم تابلو است!!دارم آموزش qt رو دانلود میکنم ولی هنوز تموم نشده.
اگر اشکالی داشتم میتونم مزاحم شما بشوم؟

pswin
29-01-2013, 19:21
کتابخونه gpio چی؟
نمی دونم ( c/C++ فقط چند هزار تا کتابخونه متن باز داره. ) اما فکر نکنم. اینا توی حیطه سیستم عامل هستند و نه کتابخونه ها. خود مثالهای برد هم از خود سیستم عامل برای GPIO استفاده کرده.


به نظر شما برای من که تازه کار هستم بهتره برم Eclipse رو یاد بگیرم یا برم دنبال qt ؟
من اون همه توضیح دادم. شما بازهم میگی qt یا eclipse. کلا نگرشتون در مورد برنامه نویسی اشتباه هست. این برنامه نویسی با برنامه نویسی که برای میکرو میکنید از زمین تا آسمون فرق داره.


با نصب qt-creator و eclipse احتمالا gcc هم نصب میشه؟
دوست من gcc معمولا همراه همه لینوکس ها هست و اصلا معقوله جدایی از eclipse و qt-creator هست. هیچ کدوم از این دو برنامه gcc رو نصب نمی کنن. این برنامه ها رو باید تنظیم کنی که با چه کامپایلری کار کنن. این برنامه ها فرق چندانی با نوت پد ویندوز از لحا عملکرد واقعیشون ندراند ( فقط امکانات بیشتری فراهم می کننو) و بدون اونها هم میشه هم برنامه qt نوشت و هم برنامه اندروید. اصلا شما می تونید داخل eclipse برای qt برنامه بنویسید.



qt با qt-creator نصب میشه؟
برعکسش معمولا صادقه. اما امکان داره نه. این بسته به شماست که چی رو بخوایید نصب کنید.



ببخشید حتما خیلی سوالاتم تابلو است!!دارم آموزش qt رو دانلود میکنم ولی هنوز تموم نشده.
اگر اشکالی داشتم میتونم مزاحم شما بشوم؟
بله

دوستان
به نظر من اول از همه لینوکس رو درست و حسابی یاد بگیرید بعدش کم کم متوجه میشید که باید چه جوری برنامه نویسی و ... انجام بدید. شما همین الان هم بشینید لینوکس رو یاد بگیرید یه شیش هفت ماه کار دارید ( تازه اگر بکوب اینکار رو بکنید ). لینوکس یه سیستم عامل حرفه ای هست و کار باهاش مثل ویندوز نیست. من نمی دونم چه شکلی می خواید بدون اینکه لینوکس رو یاد بگیرید براش برنامه بنویسید. این مثل این میمونه که شما بدون اینکه بخواید avr رو یاد بگیرید باهاش کارهای صنعتی تولید کنید.

یه مورد دیگه که هستش، برنامه نویسی لینوکس کلا متفاوت با اون چیزی هست که فکر می کنید. این شکلی نیست که یه چیز رو انتخاب کنید و یاد بگیرید و تموم شه بتونید از برد کار بکشین. وقتی وارد حیطه سیستم عامل شدید میشید یکی از هزاران برنامه نویسی که دارن مثلا برای بازار PC برنامه تولید می کنن ( یکی گیم میسازه یک دیتابیس و هر کدوم تخصص خودشون رو دارن‌). دیگه شما وارد حیطه حرفه ای برنامه نویسی میشید که این حیطه اینقدر پیچیده هست که خود کسایی که کامپیوتر هم خوندن توش گیر میکنن.

نمی خوام ضد حال بزنم اما با توجه به وضعی که دارم می بینم اکثر دوستان به مشکلات جدی توی کار با این برد بر میخورن. من فکر می کنم به جزء یه عده کم چند نفری کسه دیگه ای نتونه با این برد حداقل در سطح تجاری کار کنه.

electera
31-01-2013, 21:42
همینطور که دوستمون گفتن برنامه نویسی برای این مینی پی سی ها با میکرو فرق داره اما اگر بخوام ساده بگم، اینجا شما باید اپلیکیشن بسازین یعنی برنامه قابل نصب روی سیستم عامل مورد نظر.
پیشنهاد من:
1- برای اندروید از Eclipse استفاده کنین که در اون میتونین جاوا و c و... کد بنویسین و پیشنهاد خود گوگل هم همینه و سمپل و کتابخونه و... فراوونه و چندتا سایت خوب فارسی مثل این همه چیرو گفته و چندتا کتاب تو بازار هست: آموزش برنامه نویسی اندروید (You can see links before reply) و برنامه نویسی آندروید (You can see links before reply)

2- برای بقیه سیستم عامل ها بنظرم qt و...

3- برای ارتباط با دنیای بیرون و ارتباط با میکرو و... میتونین از مبدل usb به com که تو فروشگاه هم هست استفاده کنین، و راه انداز و درایور اونم برای اندروید هست.

شخصا برای خودم ورود به این دو زبان توی این یک ماه سخت بوده ولی با انجام مثالهای ساده درک زیادی از این دنیای جالب برام ایجاد شده، درسته که همه چیرو اصولی بریم جلو خوبه ولی شخصاً چون عمرم کوتاه و نیازم محدوده ترجیح دادم برم تو آب تا شنا رو یاد بگیرم.

pswin
01-02-2013, 11:10
3- برای ارتباط با دنیای بیرون و ارتباط با میکرو و... میتونین از مبدل usb به com که تو فروشگاه هم هست استفاده کنین، و راه انداز و درایور اونم برای اندروید هست.

دستگاه چند تا پورت سريال داره. نيازي به com به usb نيست. به غير از اون پورت شبكه و GPIO هم داره.

esisafa
01-02-2013, 12:17
دوستان قطعا برنامه هایی هست که بشه برای سیستم عاملها درایور نوشت. مثلا اگه الان یک پورت جدید تولید بشه باید چکار کرد؟ قطعا باید درایور براش بنویسن. مخصوصا که لینوکس مولتی پلتفرم هست و میشه برای پلتفورم های مختلف سازگارش کرد. حالا بهتر نیست که برای پورتهای io این بورد یک درایور بسازین. این برنامه ها قطعا ساختاری دارن که بین سخت افزار و سیستم عامل ارتباط برقرار میکنن

Doloop
01-02-2013, 15:33
ما همچنان منتظریم دوستان مشکل نمایش تصویرشون بر طرف بشه و بریم سراغ برنامه نویسی :0013:

kavir
05-02-2013, 11:23
اینم از فروم رسمیش که افتتاح شد
Deployment Cubieboard (You can see links before reply)
اقای معماری هم اونجا رو زودتر از ما پیداکرده:mrgreen:
اقای معماری منم سرم خلوت شده میتونم کمک کنم لطفا نتیجه کارتون برای ما هم ایمیل کنید تا همینجا بذارید
در ضمن tft 40pin استاندارد 7 اینچ هم داریم میاریم اونم اضافه کنید عالیه

lord67
08-02-2013, 20:17
ورژن ۵ تازه اومده و فکر نکنم مشکلی داشته باشه و اگر روی ویندوز برنامه نویسی انجام میدید همونی رو که مشخص کردید دانلود کنید. البته قبل از دانلود، مطالب مربوط به کراس کامپایل Qt رو هم مطالعه کنید (Qt 4.7: Cross-Compiling Qt for Embedded Linux Applications (You can see links before reply))

مطالعه این لینک هم ممکنه به درد بخور باشه: arm - Qt 4.8 Cross Compile for Embedded Linux using Linaro Toolchain from Windows - Stack Overflow (You can see links before reply)

توی فروم ایران qt نوشته نسخه 5 خیلی باگ دارد.

از کیوت ۵٫۰٫۰ استفاده نکنید | Qt Project forums | Qt Project (You can see links before reply)

naatamam
08-02-2013, 21:29
اینم از فروم رسمیش که افتتاح شد
Deployment Cubieboard (You can see links before reply)
اقای معماری هم اونجا رو زودتر از ما پیداکرده:mrgreen:
اقای معماری منم سرم خلوت شده میتونم کمک کنم لطفا نتیجه کارتون برای ما هم ایمیل کنید تا همینجا بذارید
در ضمن tft 40pin استاندارد 7 اینچ هم داریم میاریم اونم اضافه کنید عالیه

سلام
من هفته پیش کمی سرم شلوغ بود ولی تونستم بیشتر pcb را که اشکال داشت را اصلاح کنم کمی از آن باقی مانده که فردا (شنبه) تمامش می کنم.
مدل و اطلاعات ال سی دی 7 اینچ را برام بفرست که در برد لحاظ کنم تا ندادم برای چاپ.

در مورد اون فروم رسمیش هم که گفتین من بردم را آنجا قرار دادم که نشان بدم ما بهترش را طراحی و خواهیم ساخت.

alamdar
19-02-2013, 14:34
راستش یکمی برام عجیبه . اینکه دوستان برای خودشون هدف مشخص نمیکنند و این بازار هست که واسشون هدفگذاری (اونهم کوتاه مدت و اغلب احتمالا بی نتیجه) انجام میده!
یکروز AVR میاد همه جمع میشند که اون رو یاد بگیرند چند ماه بد مثلا ARM میاد و دوباره سیر مهاجران شکب میگیره . بعدش برد مینی pc مبتنی بر ویندوز CE میاد همه میرند اون سمت . بعدش مبتنی بر اندرویدش باز همه میرند دنبال اون و الانم لینوکس و فردا ختما ویندوز ۸ RT همه این جماعت رو میبره اون سمت و این تاپیک هم فراموش میشه!

من به عنوان بیسوادترین فرد این سایت به این نتیجه رسیدم که آدم اول یابد بیاد و فیلد یا فیلدای کاریش رو مشخص کنه و بگه من دلم میخواد آ - ب - ث بسازم . واسه ساختن هرکدوم همچین چیزایی نیاز دارم (پردازنده با این سرعت - با این توانایی ها - با این حافظه - با این مقاومت و کارایی و ... و .... ) . بعدش بیاد ببینه کدوم زبان برنامه نویسی به دردش میخوره ؟ کدوم سیستم عامل ؟ کدوم محیط برنامه نویسی ؟ و ....

مثلا یکی که میخواد یک ربات پرنده بسازه هیچوقت نباید بره یک مینی پی سی روش بذاره و دات نت نصب کنه و با سی شارپ روش کد بزنه .
و یا کسی که میخواد یک برد بسازه که مثلا به یک تابلو تبلیغاتی وصل بشه و یا یک رابط گرافیکی واسه lcd یک دستگاهی بسازه لزومی نداره بیاد برنامه رو کلا با سی بنویسه و پذر خودش رو دربیاره آخرشم اون نتیجه که مثلا میتونست با سی شارپ بگیره رو به دست بیاره .

الان مثلا خیلی ها میخوان این برد رو یاد بگیرند که چی بشه؟ چه استفاده ای واسشون داره؟
به نظر من این برد به درد سیستم هایی میخوره که در حال حاضر دارند با کامپبوتر(یا لپ تاپ) کنترل میشند و این برد ها حجم و فضارو و هزینه هارو میتونه خیلی کاهش بده . و با مثلا به درد اتصال به دوربین های توی خیابون ها و یا سایر اماکن و کارای پردازش تصویر میخوره . و یا میشه روی ربات های انسان نمای ساده ازش استفاده کرد . نه اینکه واسه کارایی که با یکدونه میکروی ARM هم میشه انجام داد بری این برد رو بخری و بعد بخوای لینوکس و جاوا یاد بگیری و ......!

به نظرم دوستانی که علاقه دارند با این برد کار حرفه ای کنند در اصل علاقه مند به رشته کامپیوتر شده اند!!!! چون دقیقا استفاده از این برد مثل این هست که روی همین کامپیوتر هایی که الان دارید برنامه بنویسید و بعد ماژولهاتون رو بهش وصل کنید و کار کنه! یعنی ۱۰۰٪ برنامه نویسی کامپیوتر هست و اینکه پردازنده آرم هست هیییچ تاثیر و تغییری ایجاد نمیکنه!

خب پس ورد شمارو به رشته کامپیوتر تبریک میگم!

در مورد Qt و eclipse و کلا IDE من یک مثال ساده میزنم . قدیما یادتون باشه این دفترهای با جلد های مرغوب و ورق های خط کشی شده ی امروزی که نبود . یک دفترهایی بود نه جلد داشت و نه خط کشی و آدم باید همه کارهاشو خودش انجام میداد . IDE ها شبیه این دفترهای جدید میمونه که یکسری از اینطور کارهارو برای راحتی برنامه نویس انجام داده از پیش و این شما هستید که داخلش جی مینویسید و از این نظر هیچ فرقی با دفتر قدیمی نمیکنه!

البته کیوت فریم ورک هست و امکانات بیشتری داره و مثلا انگار یک دفتری باشه خودش توش سرمشق داشته باشه یا مثلا یکسری چیزایی مثل نام و نام خانوادگی و مشخصات رو از قبل نوشته و جلوش جای خالی گذاشته که شما پر کنید . که همه اینها در جهت سرعت گرفتن توسعه نرم افزارها صورت گرفته و شاید یکجور استانداردسازی کدنویسی و یا برنامه نویسی بشه به حسابش آورد که همه طبق اون استاندارد بنویسند .

ولی شما میتونید یک empty project ایجاد کنید و همه چیزو خودتون بنویسید و از کتابخونه های پیش فرضش استفاده نکنید. ضمنا فلسفه ایجادش هم این بوده که شما یک کدی که توی ویندوز مینویسید و از قابلیت های این سیستم عامل استفاده کردید برای اینکه برنامه نهایی رو بخواید ببرید توی لینوکس یا توی اندروید یا هرجای دیگه که ساپورت میکنه کیوت ، اجرا کنید نیاید همه برنامه یا بخش عمده شو از اول بنویسید!! و همین برنامه رو ببرید و اونجا کامپیاب کنید و این فریم ورک هست که این تبدیلات رو خودش انجام میده . همین . البته شرطش اینه که قریم ورک روی سیستم مقصد هم نصب باشه .

دیگه چیزی به ذهنم نمیرسه. اگر جاییش رو غلط گفتم دوستان تصحیح کنند ولی فکر میکنم اصل مطلب رو گفته باشم و قصدم هم همین بود و نخواستم وارد جزییات بشم

kavir
19-02-2013, 14:57
@alamdar (You can see links before reply)
من با نظر شما مخالم
دلیلش هم اینه مثل این می مونه شما وقتی 98 کار میکردین الان سون دارید کار میکنید ایا حاظرید برگردید 98 کار کنید؟
یا z80 حاظرید برگردید به دوره قبل!؟
خوب قطعا نه هرگز حاظر نیستید
اگر به بازار قبل از ما بود بله هیچ وقت این بردها توی ایران نمی یومد
تا حالا فکر کردید چرا بازار ما بروز نمیشه؟
من بهتون میگم چون کسانی که بازار دستشون هست نمیخوان هر روز یک میکروی جدید میاد بیارن و روی یک مورد و عمده ای کار کنن بیشتر خوششون میاد تا میکروهای جدید
و این یک واقعیتی هست میکروهای 8 بیتی 32 بیتی ما داره جاش به سیستم عامل میده خوب قطعا نرم افزار محدودیت ایجاد نمیکنه و وقتی ابونتو کار باشید برای این سیستم عامل وقت میذارید و اینده دار هست
ولی میکرو خودتون حساب کنید
ما با تولید کنندگان اونور در ارتباط هستیم و تا چند ماه دیگه برد جدید رونمایی میشه در همین حد بدونید کا فیه!
و اما ما چه میکنیم
من نظرم اینه وقتی که بروز باشیم و حتی استفاده کننده باشیم خواهیم ساخت
قبلا توی انجمن اشاراتی کردم بهش من بهتون قول میدم کمتر از دوسال پروژه هایی که اجرا میکنید با میکروهای 1گیگا هرتزی باشه! و این سخت افزار از اونجایی که سر بسته نیست و دستری به IO داره بسیار کارگشا هست برای کارهی صنعتی و قطعا دوستانی که پیگیر این برد هستن به فکر ساخت مدار ساده یا پروژه ساده نیستن
این حرف شما ورودی به دنیای کامپیوتر بله قطعا همینه و داره اتفاق می افته و بزودی همه گیر میشه
من شخصا لینوکس کار نکرده بودم حتی محیط اوبونتو هم ندیده بودم ولی تا الان خیلی پیشرفت حاصل شده و نتیجه زحمت دوستان هست

alamdar
19-02-2013, 15:27
آخه این پیشرفتی که میگید در عرصه کامپیوتر رخ داده نه در عرصه الکترونیک ! یعنی این کامپیوتر هست که کوچک شده و ارتباطی به الکترونیک نداره. من حرفم اینه .
وگرنه خود من چند بار سال و ماه های قبل به شما ایمیل زدم چرا از این مینی pc ها وارد نمیکنید! و اتفاقا اختمالا از خریدارانش هم هستم چون برخلاف برخی دوستان که بازار بهشون خط میده من چند ماه فکر کنم بود که به سایت سرنزده بودم و به خاطر پروژه خودم سرچ کردم و دیدم شما این برد جدید رو وارد کردید و اتفاقا من الان کلی هم خوشحالم و از شما تشکر میکنم!

من میگم یک الکترونیکی باید \یشرفت های روز الکترونیک رو پیگیری کنه و باهاش کار کنه نه کلا تغییر رشته بده و وارد کامپیوتر بشه ! قسمتی از صحبت هاتون اگر درست متوجه شده باشم اشاره کردید که این باعث میشه ما خودمون کم کم سازنده اینگونه برد ها بشیم !! من نمیدونم چطوری ! اگر منظورتون فقط رسم شماتیک و ساخت PCB هست یعنی فقط حای عناصر روی برد یا مدل اونهارو عوض کنیم که هیچ . اما اگر منظورتون طراحی و ساخت یک میکروکنترولر جدید یا اصلا یک معماری جدید در الکترونیک و سخت افزار هست که من بازم نمیدونم چطوری!
وگرنه اینکه ما هم مثل چین برداریم بردهارو فقط خودمون مونتاژ کنیم یا در بهترین حالت یک کپی ساز بشیم فکر نمیکنم خیلی پیشرفت بزرگی در این عرصه باشه!

به هرحال بحث سر این بود که این تاپیک و کلا این مقوله (برد های سیستم عامل دار) از الکترونیک خارج و وارد کامپیوتر میشه و من به نظرم میرسه کار بر روی اینها مربوط به مهندسین کامپیوتر میشه و وظیفه مهندسین الکترونیک طراحی و ساخت مدارات جانبی هست که قراره به این کامپیوتر به عنوان مغز اصلی سیستم متصل بشه

شاید شما الان فکر کنید برنامه نویسی اینها هم به سادگی میکروکنترولرها باشه اما وقتی وارد این مقوله بشید متوجه میشید که دانش بالای کامپیوتر رو طلب میکنه (من رشته خودم سخت افزار هست و یک میان رشته بین نرم افزار و الکترونیک هست و به خاطر اشنایی با هر دو مقوله راجع به جفتش نظر دادم و اینکه فکر میکنم مربوط ترین گرایش به این بحث شاید رشته ما باشه!)

Bigli
19-02-2013, 16:59
در جواب آقای alamdar ،
سخت افزار و ساخت مدار همیشه و با سرعت زیاد در حال تغییر و پیشرفت هست ولی پیشرفت نرم افزار و برنامه نویسی تغییراتش با مرور زمان خیلی کمتره، شما زبان C رو یاد بگیرید با صرف زمان کم می تونید برای کارهای مختلف ازش استفاده کنید،چه برای سیستم عامل چه برای میکرو ..اما وقتی مدارها و المان ها الکترونیک آینده کلا تبدیل به مدارات و المان های نانویی و اپتیکی شد، اونایی که یک عمر الکترونیک خوندن خیلی واسشون بد میشه!
برای همین کسانی که الکترونیک یا برق می خونن، به خصوص به خاطر اینکه دانشگاه ها بعد از فارق التحصیلی به دانشجوها جهت و امکانات هم نمی دن، دچار سرگیجه میشن و بیشتر به برنامه نویسی تمایل پیدا می کنند.

alamdar
19-02-2013, 19:28
در جواب آقای alamdar ،
سخت افزار و ساخت مدار همیشه و با سرعت زیاد در حال تغییر و پیشرفت هست ولی پیشرفت نرم افزار و برنامه نویسی تغییراتش با مرور زمان خیلی کمتره، شما زبان C رو یاد بگیرید با صرف زمان کم می تونید برای کارهای مختلف ازش استفاده کنید،چه برای سیستم عامل چه برای میکرو ..اما وقتی مدارها و المان ها الکترونیک آینده کلا تبدیل به مدارات و المان های نانویی و اپتیکی شد، اونایی که یک عمر الکترونیک خوندن خیلی واسشون بد میشه!
برای همین کسانی که الکترونیک یا برق می خونن، به خصوص به خاطر اینکه دانشگاه ها بعد از فارق التحصیلی به دانشجوها جهت و امکانات هم نمی دن، دچار سرگیجه میشن و بیشتر به برنامه نویسی تمایل پیدا می کنند.

سلام دوست عزیز
من نمیخوام بحث کنم یا حرفم رو ثابت کنم ، فقط حس کردم این حرفها هم باید گفته بشه چون به نظرم در موردش غفلت شده.
من با این قسمت حرف شما که روی سخت افزار در کشور ما سرمایه گذاری نمیشه و همین باعث کوچ الکترونیکی ها و برقی ها سمت نرم افزار میشه کاملا موافقم و این یک ایراد و ضعف اساسی هست که همچنان ادامه داره و هرسال مارو از کشورهای به روز در این عرصه عقب تر میندازه و اصلا یک امر محال میکنه و تنها دلخوشی ما مونتاژ کردن قطعات و کشیدن pcb جدیده! که البته خیلی دوستان الکترونیکی ایین کارو هم نمیکنند و فقط از روی نقشه ها و شماتیک های برد های مختلف یک برد جدید میزنن معمولا و اگر کسی سفارش یک برد جدید با قابلیت هایی بده که نشه نقشه مشابهش رو روی اینترنت پیدا کرد نمیدونم چه اتفاقی میفته؟!

البته این مختص الکترونیک نیست و تقریبا توی همه رشته ها اینطوری هستیما !! اما نرم افزار چون هزینه ی آزمایشگاهی نداره یا خیلی اندکه نیروی کار بیشتری روش وقت میذاره و به نتایجی میرسند که شاید بشه نام تولید روش گذاشته بشه!

در مورد اینکه زبان C رو یاد بگیری و بعدش هر استفاده ای کنی موافق نیستم چون برنامه نویسی اینقدر وسیع و گسترده است که کسی که ۲۰ سال داره از C استفاده میکنه هرگز همچین ادعایی نمیکنه . مثل این میمونه که بگیم شما اصول الکترونیک دیجیتال رو یاد بگیری یا دروس مدار الکتریکی ۱ و ۲ و۳ رو پاس کنید دیگه هر مداری خواستید میسازید!


اما حرف آخر و بازم حرف اصلی من این بحث ها نبود ، من میگم این برد به درد کارهای الکترونیکی نمیخوره (کارایی که من زیاد دیدم از قبیل روشن کردن السیدی و تابلو روان و دماسنج و نهایتا ساخت یک مدار کنترولی یا پی ال سی ساده!) .
من میگم این برد به درد کسایی میخوره که تا الان با کامپیوتر پروژه انجام میدادند . یعنی مثلا یک دستگاه یا خط تولیدی داشتند که باید یک لپ تاپ بهش وصل میشده که کنترلش کنه وگرنه انجام دادن پروژه های ساده با کامپیوتر فقط تلف کردن وقت و هزینه است!

من حس میکنم اسم ARM روی این برد یک عده رو به اشتباه میندازه و فکر میکنن این ادامه راه میکرو هاست ولی این اصلا ربطی به میکروها نداره و این یک کامپیوتر هستش! همین

و به نظر من صنعت میکرو کنترولرها نه تنها از رده خارج نشده بلکه هر روز به روز رسانی میشه (از سری های جدید میکروهایی که وارد بازار میشه کاملا مشحصه) .
یادمه خود من عین این سوال رو سر کلاس میکروپروسسور از استادمون پرسیدم (خودم قبلا توی یک سایت اینترنتی خونده بودم) : استاد این حرف درسته که با اومدن میکروکنترولرها دیگه میکرو پروسسورها منسوخ شده؟ استاد خنده اش گرفت و گفت این چه حرفیه! اینها ۲ مقوله کاملا متفاوته!
چون دوستان که سابقه شون زیاده یا تاریخچه میکرو رو دنبال کردند میدونن که میکروکنترلر ها بعد میکرو پروسسورها اومدن و همین باعث شد عده ای فکر کنن میکرو کنترولر نوع پیشرفته میکروپروسسور هست و اون دیگه منسوخ شده!

حتی توی برنامه نویسی هم بعضی ها با اومدن سی شارپ این اشتباه رو کردند و فکر کردند سی و سی++ منسوخ شدند که اینم باز اشتباه بود .

من حس کردم این اشتباه بازم داره صورت میگیره و وظیفه دونستم چیزی که فکر میکنم درسته رو بگم تا دوستان تحقیق بیشتری در انتخاب مسیر آینده شون داشته باشند

چقدر حرف زدم :mrgreen: حسته شدم

kavir
19-02-2013, 19:35
اقای علمدار منم جواب رو ندادم تا تاپیک منحرف نشه لطفا برای ادامه بحث یک تاپیک جدا بزنید

silentshot
20-02-2013, 07:13
با سلام این تایپیک به نظرم خیلی پیشرفتس و به دلیل اینکه بیشتر ماها تا الان ویندوزی بودیم نمی تونیم تو این تاپیک نقشی داشته باشیم
بنابراین با اجازه دوستان یه کتابی رو معرفی میکنم از اقای امیری که برای شروع کسانی که دوست دارن با اوبنتو کار کنن عالیه
999 تا منبع فارسی تو نت هست جز گیج کردن کاره دیگه ایی نمی کنن اما این کتاب من به همه تازه کارایی مثل خودم پیشنهاد میکنم

ubuntu-for-beginners.pdf (You can see links before reply)

بازم ببخشید
با تشکر از همه :)

naatamam
20-02-2013, 11:17
سلام
این هم سیستم عامل اوبونتو لمسی برای تبلت ها

Ubuntu on tablets | Ubuntu (You can see links before reply)

این ویدئو را هم در این رابطه ببینید

Ubuntu for tablets - Full video - YouTube (You can see links before reply)

Bigli
20-02-2013, 12:11
سلام دوست عزیز
من نمیخوام بحث کنم یا حرفم رو ثابت کنم ، فقط حس کردم این حرفها هم باید گفته بشه چون به نظرم در موردش غفلت شده.
من با این قسمت حرف شما که روی سخت افزار در کشور ما سرمایه گذاری نمیشه و همین باعث کوچ الکترونیکی ها و برقی ها سمت نرم افزار میشه کاملا موافقم و این یک ایراد و ضعف اساسی هست که همچنان ادامه داره و هرسال مارو از کشورهای به روز در این عرصه عقب تر میندازه و اصلا یک امر محال میکنه و تنها دلخوشی ما مونتاژ کردن قطعات و کشیدن pcb جدیده! که البته خیلی دوستان الکترونیکی ایین کارو هم نمیکنند و فقط از روی نقشه ها و شماتیک های برد های مختلف یک برد جدید میزنن معمولا و اگر کسی سفارش یک برد جدید با قابلیت هایی بده که نشه نقشه مشابهش رو روی اینترنت پیدا کرد نمیدونم چه اتفاقی میفته؟!

البته این مختص الکترونیک نیست و تقریبا توی همه رشته ها اینطوری هستیما !! اما نرم افزار چون هزینه ی آزمایشگاهی نداره یا خیلی اندکه نیروی کار بیشتری روش وقت میذاره و به نتایجی میرسند که شاید بشه نام تولید روش گذاشته بشه!

در مورد اینکه زبان C رو یاد بگیری و بعدش هر استفاده ای کنی موافق نیستم چون برنامه نویسی اینقدر وسیع و گسترده است که کسی که ۲۰ سال داره از C استفاده میکنه هرگز همچین ادعایی نمیکنه . مثل این میمونه که بگیم شما اصول الکترونیک دیجیتال رو یاد بگیری یا دروس مدار الکتریکی ۱ و ۲ و۳ رو پاس کنید دیگه هر مداری خواستید میسازید!


اما حرف آخر و بازم حرف اصلی من این بحث ها نبود ، من میگم این برد به درد کارهای الکترونیکی نمیخوره (کارایی که من زیاد دیدم از قبیل روشن کردن السیدی و تابلو روان و دماسنج و نهایتا ساخت یک مدار کنترولی یا پی ال سی ساده!) .
من میگم این برد به درد کسایی میخوره که تا الان با کامپیوتر پروژه انجام میدادند . یعنی مثلا یک دستگاه یا خط تولیدی داشتند که باید یک لپ تاپ بهش وصل میشده که کنترلش کنه وگرنه انجام دادن پروژه های ساده با کامپیوتر فقط تلف کردن وقت و هزینه است!

من حس میکنم اسم ARM روی این برد یک عده رو به اشتباه میندازه و فکر میکنن این ادامه راه میکرو هاست ولی این اصلا ربطی به میکروها نداره و این یک کامپیوتر هستش! همین

و به نظر من صنعت میکرو کنترولرها نه تنها از رده خارج نشده بلکه هر روز به روز رسانی میشه (از سری های جدید میکروهایی که وارد بازار میشه کاملا مشحصه) .
یادمه خود من عین این سوال رو سر کلاس میکروپروسسور از استادمون پرسیدم (خودم قبلا توی یک سایت اینترنتی خونده بودم) : استاد این حرف درسته که با اومدن میکروکنترولرها دیگه میکرو پروسسورها منسوخ شده؟ استاد خنده اش گرفت و گفت این چه حرفیه! اینها ۲ مقوله کاملا متفاوته!
چون دوستان که سابقه شون زیاده یا تاریخچه میکرو رو دنبال کردند میدونن که میکروکنترلر ها بعد میکرو پروسسورها اومدن و همین باعث شد عده ای فکر کنن میکرو کنترولر نوع پیشرفته میکروپروسسور هست و اون دیگه منسوخ شده!

حتی توی برنامه نویسی هم بعضی ها با اومدن سی شارپ این اشتباه رو کردند و فکر کردند سی و سی++ منسوخ شدند که اینم باز اشتباه بود .

من حس کردم این اشتباه بازم داره صورت میگیره و وظیفه دونستم چیزی که فکر میکنم درسته رو بگم تا دوستان تحقیق بیشتری در انتخاب مسیر آینده شون داشته باشند

چقدر حرف زدم :mrgreen: حسته شدم

زبان c که یاد بگیریم 60-70 درصد راه رو رفتیم، اگه در زمینه های مختلف بخوایم ازش استفاده کنیم باید فقط مثال ها یا سمپل هاشو انجام بدیم تا دستمون راه بیافته، منظورم این بودش.

همان طور که خودتون می دنید کارهای مربوط به طراحی سخت افزار و مدار پیشرفته توی این کشور آینده نداره، مگر اینکه تا دکترا بخونی اون وقت وارد صنایع نظامی بشی، تازه اون موقع باز هم باید مهندسی معکوس و مونتاژ انجام بدی!
با این مدرک کارشناسی هم که نهایتش می رسیم به تابلو LED و اسمبل کردن مدارهایی که از ما بهترون قبلا اختراع کردن!
کسی که بخواد هم توی برنامه نویسی تخصص پیدا کنه باید دائم بشینه پشت کامپیوتر توی خونش، الان هم ما می خوایم همین کارو بکنیم دائم بهمون می گن ، "زن"...!!!

alamdar
24-02-2013, 01:21
زبان c که یاد بگیریم 60-70 درصد راه رو رفتیم، اگه در زمینه های مختلف بخوایم ازش استفاده کنیم باید فقط مثال ها یا سمپل هاشو انجام بدیم تا دستمون راه بیافته، منظورم این بودش.

همان طور که خودتون می دنید کارهای مربوط به طراحی سخت افزار و مدار پیشرفته توی این کشور آینده نداره، مگر اینکه تا دکترا بخونی اون وقت وارد صنایع نظامی بشی، تازه اون موقع باز هم باید مهندسی معکوس و مونتاژ انجام بدی!
با این مدرک کارشناسی هم که نهایتش می رسیم به تابلو LED و اسمبل کردن مدارهایی که از ما بهترون قبلا اختراع کردن!
کسی که بخواد هم توی برنامه نویسی تخصص پیدا کنه باید دائم بشینه پشت کامپیوتر توی خونش، الان هم ما می خوایم همین کارو بکنیم دائم بهمون می گن ، "زن"...!!!


بازم با قسمت اولش مخالفم ! دوست من یادگیری زبان سی مثل یادگیری الفبا میمونه! نمیدونم رشته شما برقه یا کامپیوتر اما اگر برقی هستید مثل این میمونه که بگید یاد گرفتن آلتیوم دیزاینر رفتن ۶۰-۷۰٪ راهه!!

اگر توی ایران منظورتونه بله کاملا درسته . منم یکهفته ای یادش گرفتم و چنتا هم مدار باش طراحی کردم اما مدارهایی که تیکه تیکه از روی اینترنت پیدا کرده بودم و فقط یکجوری اوناییش رو که میخواستم با هم ترکیب کردم و اونایی که نمیخواستم رو حذف کردم!

حالا من طراح مدارم؟ من ۶۰-۷۰٪ راه رو رفتم؟!

اگر کسی اومد یک برنامه سی نوشت که توش فقط از کتابخونه های موجود استفاده کرد و فقط ورودی و خروجی داد بهش و فکر کرد برنامه نویس شده و ۶۰-۷۰٪ راهو رفته پس منم مهندس و طراح الکترونیک هستم!

برنامه نویس کسیه که میره یک سخت افزار رو با تمام اجزاش میشناسه و تجزیه و تحلیل میکنه و بعدش میاد واسش کتابخونه - کامپایلر - اسمبلر - درایور و ... و .... مینویسه! نه کسی که میره توایع رو include میکنه تو برنامه و یکبار به a میده ۱ و بار دیگه میده ۲ !


امیدوارم حرفم رو تونسته باشم روشن کنم . من خودم رشته ام سخت افزاره و روی برنامه نویسی هم زباد کار کردم و مطالعه داشتم ولی هنوز که هنوزه پیش یک برنامه نویس نیمه حرفه ای(غکر نکنم تو ایران حرفه ای داشته باشیم) میرم بعضی وقتها سر درنمیارم داره چکار مینه بس که این عرصه گسترده و بی سر و ته هست!

اینطوری نیست که بگیم هرکس الفبای فارسی رو یاد گرفت میتونه مثل حافظ شعر بگه!!! چون اون الفبا تازه ۱۰٪ راهه و خیلی مفاهیم گسترده دیگه ای پشتش هست


اما من حس میکنم شما از لحاظ کاربردی به موضوع نگاه میکنید و منظورتون استفاده از کتابخونه های آماده اسن که خب بله . حتی میشه پروژه کامل هم از روی اینترنت پیدا کرد و پز داد که ببین چه برنامه خفنی نوشتم . اما دریغ از اینکه بفهمی حتی یک خط اون هزاران خط کد چطور داره اجرا میشه و چه اتفاقی داره اون لایه های پایینی برنامه و در نهایت روی سخت افزار رخ میده!


**** من یک چیز تلخ تر به شما بگم . ما حتی در زمینه نرم افزار که خیلی هزینه ها کمتره هم هیچ کار زیربنایی انجام نداده ایم!! چه رسد به سخت افزار.(دلم میخواد خیلی حرفها بگم ولی خب مدیر فروم گفته بحث ۳۰آسی نکنید! )


کسی که بخواد هم توی برنامه نویسی تخصص پیدا کنه باید دائم بشینه پشت کامپیوتر توی خونش، الان هم ما می خوایم همین کارو بکنیم دائم بهمون می گن ، "زن"...!!!

جانا سخن از زبان ما میگویی :mrgreen: . اشکال نداره دادا همه دانشمندا عمرشون رو توی همین اتاق ها و زیر زمین ها و نهایت کارگاه های کوچیکشون گذروند و به کنایه ها و حرف های بقیه کاری نداشتند . آیندگانند که قدر مارو میفهمند و نام ما جاودانه میشه در تاریخ :018: نه نام این کوته فکران!

چاکریم :hi:

Hesam1984
24-02-2013, 05:42
بستگی داره دوستان، شما می خواهید چرخ دوباره اختراع کنید یا پروژه رو به پایان برسونید. مشتری هیچ جای دنیا اهمیتی نمی دهد چی در دستکاه شماست. ایشان عملکرد درست می خواهد و تمام.
حالا اگر پروتکل جدید می خواهید بنویسید برین از صفر بیاین بالا.

کسانی هم که هنور با تصورات عوام الناس فکر می کنند که مرد باید بیرون باشه، انگار که بیرون حلوا خیرات می کنند، سالها ار دنیا و حتی همین ایران عقبن. بچه های ایران با این همه محدودیت باز هم از لحاظ فنی خوبن خودتون رو دست کم نگیرید.

alamdar
24-02-2013, 11:30
من به نظرم میرسه بیایم ۲-۳ نفر بشیم یک پروژه کوچک روی لینوکس انجام بدیم تا هم دستمون راه بیفته و هم در آینده از این خرده پروژه ها میتونیم در پروژه های بزرگتر استفاده کنیم . کسایی که تمایل دارند اعلام آمادگی کنند و به نظرم هر گروه بیش از ۳ نفر نشه و همچنین وقت تعیین کنیم . مثلا بگیم تا ۴ شنبه یا ۵ شنبه هرکس چه وظیفه ای داره و خلاصه کار رو کم کم ببریم جلو .

من مدتی هست که لینوکس روی کامپیونرم نصب کردم و دارم روی پردازش تصویر کار میکنم . به نظرم فرق خاصی با برنامه نویسی در ویندوز نداره چون هم زبان و کامپایلر سی استاندارد هست و هم کتابخونه opencv کراس پلتفرم هست .

همچنین علاقه مندم روی برنامه نویسی درگاه های I/O در لینوکس هم کار کنم اما هنوز شروع نکردم.

فکر میکنم بهترین استفاده هایی که بشه از این برد کرد همین ۲ مورد باشه . بازم اگر دوستان دیگه پیشنهادی دارند بگند.

نصب لینوکس هم کار خیلی ساده ای هست و شبیه ویندوز هست و چیز خاصی نداره.خود لینوکسم شبیه ویندوز هست.فقط یکسری قابلیت های اضافه نسبت به ویندوز داره ، همین!

اگر لینوکس ندارید پیشنهاد میکنم تهیه و به صورت جدا از ویندوز نصب کنید و بعدش یک محیط برنامه نویسی(فرق نمیکنه چی باشه) انتخاب کنید و شروع کنیم .

من برای پردازش تصویر محیط کیوت رو پیشنهاد میکنم چون ویژوال هست و راحت تر و سریعتر میشه باهاش کار کرد. اما برای برنامه نویسی port نظر خاصی ندارم چون چیز زیادی در این زمینه نمیدونم! شاید برای این قسمت مناسب باشه از IDE دیگری و یا حتی زبان دیگری (خود لینوکس یک زبان برنامه نویسی داره که اسمشو نمیدونم اما با خط فرمانش میشه همه کاری کرد انگاری) استفاده کنیم .البته شاید انتخاب مناسبی نباشه چون این دستورات توی توزیع های مختلف ممکنه فرق کنه و شاید چند باره کاری بشه!

خلاصه دوستان نظر بدید تا شروع کنیم.

نظر من : با برنامه نویسی پورت سریال شروع کنیم (چون خودم بلد نیستم :mrgreen: و میخوام یاد بگیرم)

alamdar
24-02-2013, 23:20
seems that no one has interest to keeping this discusion , ok i am waiting for 2 or three days and i'll visited here and i hope seeing some interests from others.
anyway if i reach any result i try to share it here for everyone.

bye for now

dariush_ab
14-03-2013, 12:06
نظر من : با برنامه نویسی پورت سریال شروع کنیم (چون خودم بلد نیستم :mrgreen: و میخوام یاد بگیرم)
Mr English!
خوشم میاد که زبانتون هم خوبه.
میدونید چیه خیلی ها مثل من اینجا بیحالن و حوصله کار رو ندارن.
یه عده دیگه هم دنبال یک چیز آماده هستن.
گروه اندکی هم دلیلی برای ارائه اطلاعاتشون اینجا نمیبینن و خوب کاملا حق دارن.چه دلیلی داره فردی مثل جناب مهندس چنگانی اطلا عاتشون رو اینجا قرار بدن.البته ایشون همیشه لطف داشتن و اطلاعاتشون رو بدون هیچگونه چشم داشتی در اختیار همه از جمله اینجانب قرار دادن و از ایشون کمال تشکر رو دارم.
در مورد لینوکس و به ویژه برنامه نویسی آن اینجانب هیچگونه اطلاعاتی ندارم و خوب اگر بخواهیم با هم شروع کنیم خیلی دردسر ساز میشوم.
برای این برنامه نویسی پورت سریال چون هر دو اول کاریم به نظرم خوبه.
برای کوبی چون پورت uart0 برای debug استفاده میشه اگر موافقید اول یکی از پورتهای دیگه رو راه بندازیم و جواب بگیریم و بعد بریم دنبال برنامه نویسی.
اگر نه هم میخواهید از همون UART0 استفاده کنیم.
پیشنهاد؟
اگر بشه از HID هم جواب بگیریم .عالیه.
موفق باشید.

mahdi74
22-03-2013, 15:21
سلام به همه و عیدتون مبارک
یک سؤال راجع به قفل نرم افزارها در لینوکس داشتم.
من از این مارس بورد یا کوبی برد در یکی از پروژه هام میخوام استفاده کنم . البته چون من مبتدی هستم مدتی طول خواهد کشید تا پروژه تکمیل بشه ( البته با کمک اساتید این فروم ) سؤالم اینه که ما قبلا در میکرو کنترلرها برنامه هامون رو قفل میزدیم ( لاک میکردیم ) و خوب حد اقل افرادی که سوادشون در حد خودمون باشه قادر به کپی برداری نبودند .
آیا برای نرم افزارهایی که با لینوکس بنویسیم میشه یک همچین کاری کرد . ( قفلی لاکی یا هر چیزی شبیه به این .... )
البته شدنش که حتما امکان داره , منظورم برای افراد مبتدی مثل من هست که بتونیم در یک فرصت کوتاهی قفل گذاشتن روی نرم افزارهایی که خودمون مثلا با زبان پایتون یا php یا جاوا و... مینویسیم رو یاد بگیریم.
من قبلا یک کمی با پایتون کار کردم و فکر میکنم برای پروژه من زبان پایتون مناسبه فقط قفل کذاریش رو نمیدونم .
لطفا اگر کسی در این زمینه اطلاعات داره من رو راهنمایی کنه .
چون اگر نتونیم نرم افزارهامون رو قفل بزنیم استفاده از این برد برای بعضی از پروژه ها محدود میشه :(
متشکرم .

kavir
22-03-2013, 16:08
سلام به همه و عیدتون مبارک
یک سؤال راجع به قفل نرم افزارها در لینوکس داشتم.
من از این مارس بورد یا کوبی برد در یکی از پروژه هام میخوام استفاده کنم . البته چون من مبتدی هستم مدتی طول خواهد کشید تا پروژه تکمیل بشه ( البته با کمک اساتید این فروم ) سؤالم اینه که ما قبلا در میکرو کنترلرها برنامه هامون رو قفل میزدیم ( لاک میکردیم ) و خوب حد اقل افرادی که سوادشون در حد خودمون باشه قادر به کپی برداری نبودند .
آیا برای نرم افزارهایی که با لینوکس بنویسیم میشه یک همچین کاری کرد . ( قفلی لاکی یا هر چیزی شبیه به این .... )
البته شدنش که حتما امکان داره , منظورم برای افراد مبتدی مثل من هست که بتونیم در یک فرصت کوتاهی قفل گذاشتن روی نرم افزارهایی که خودمون مثلا با زبان پایتون یا php یا جاوا و... مینویسیم رو یاد بگیریم.
من قبلا یک کمی با پایتون کار کردم و فکر میکنم برای پروژه من زبان پایتون مناسبه فقط قفل کذاریش رو نمیدونم .
لطفا اگر کسی در این زمینه اطلاعات داره من رو راهنمایی کنه .
چون اگر نتونیم نرم افزارهامون رو قفل بزنیم استفاده از این برد برای بعضی از پروژه ها محدود میشه :(
متشکرم .
مورد خوبی اشاره کردین
همیشه نرم افزار های مثل پایتون راه حل براش هست
چون خیلی روش کار میشه
اینو نگاهی بندازین
licensing - How do I protect python code? - Stack Overflow (You can see links before reply)
و نتیجه رو برای ما و دوستان بذارید تا در ویکی بذاریم

silentshot
19-04-2013, 06:39
دوستان به نظرتون کدوم IDE می تونه بهترین باشه برای کارای ما؟
eclipseیا kdevelop یا netbeans و یا IDE های دیگه

alisaeed
19-04-2013, 08:44
سلام به همه و عیدتون مبارک
یک سؤال راجع به قفل نرم افزارها در لینوکس داشتم.
من از این مارس بورد یا کوبی برد در یکی از پروژه هام میخوام استفاده کنم . البته چون من مبتدی هستم مدتی طول خواهد کشید تا پروژه تکمیل بشه ( البته با کمک اساتید این فروم ) سؤالم اینه که ما قبلا در میکرو کنترلرها برنامه هامون رو قفل میزدیم ( لاک میکردیم ) و خوب حد اقل افرادی که سوادشون در حد خودمون باشه قادر به کپی برداری نبودند .
آیا برای نرم افزارهایی که با لینوکس بنویسیم میشه یک همچین کاری کرد . ( قفلی لاکی یا هر چیزی شبیه به این .... )
البته شدنش که حتما امکان داره , منظورم برای افراد مبتدی مثل من هست که بتونیم در یک فرصت کوتاهی قفل گذاشتن روی نرم افزارهایی که خودمون مثلا با زبان پایتون یا php یا جاوا و... مینویسیم رو یاد بگیریم.
من قبلا یک کمی با پایتون کار کردم و فکر میکنم برای پروژه من زبان پایتون مناسبه فقط قفل کذاریش رو نمیدونم .
لطفا اگر کسی در این زمینه اطلاعات داره من رو راهنمایی کنه .
چون اگر نتونیم نرم افزارهامون رو قفل بزنیم استفاده از این برد برای بعضی از پروژه ها محدود میشه :(
متشکرم .
توی لینوکس هم میشه قفل روی برنامه ها گذاشت مثل کاری که توی برنامه های ویندوز میکنین،مثلا میتونیید کاری کنید که برنامه شما شماره سریال پردازنده رو بخونه و فقط با همون شماره سریال کار کنه.

alisaeed
19-04-2013, 08:48
دوستان به نظرتون کدوم IDE می تونه بهترین باشه برای کارای ما؟
eclipseیا kdevelop یا netbeans و یا IDE های دیگه
من با eclpse و netbeans کار کردم قرف زیادی ندارن اما من eclipse رو ترجیح میدم.

kavir
19-04-2013, 11:25
eclipse v رو من تعریفش زیاد شنیدم

silentshot
19-04-2013, 13:55
خب پس شد eclipse

یه سرچی زدم و فهمیدم که با زدن این 2 تا دستور تو ترمینال ، eclipse از مخازن دانلود می شه
اولی برای هسته اکلیپس یا پلتفرمش و دومی هم برای نصب پلاگینش برای برنامه نویسی c و ++c

البته قبلش باید جاوا رو نصب کنید با این کد
sudo apt-get install openjdk-7-jdk openjdk-7-jre

بعد

sudo apt-get install eclipse-platform

sudo apt-get install eclipse-cdt

(البته حجمی که دانلود می کنه نزدیک 700 مگه )

خب سعی می کنم از این به بعد کارامو با جزییات اینجا بزارم امیدوارم اساتیدم کمکمون کنن

Doloop
12-05-2013, 21:20
سلام

دوستان این اوبونتو که نسخه 13.04 اومده

کسی میدونه root password پیش فرض چیه ؟؟؟

dariush_ab
12-05-2013, 21:29
سلام

دوستان این اوبونتو که نسخه 13.04 اومده

کسی میدونه root password پیش فرض چیه ؟؟؟

سلام حسین آقای عزیز.
فکر نکنم لازم باشه بدونید که پسورد پیش فرض چیه.
اگر پسورد یک یوزر عادی رو دارید با اون وارد شوید و سپس هر پسوردی که دوست دارید برای root بگذارید.


sudo passwd

goldperson
26-07-2013, 19:44
کلا همه علوم چه می خواد نرم افزار باشه یا الکترونیک به اندازه کافی ‍یچیده هستن. و مهندسین این دو نمی تونن بصورت تخصصی وارد رشته های مختلف بشن. مثلا هیچ وقت یه مهندس الکترونیک نمی تونه با یه مهندس کامپیوتر توی زمینه ای مثل برنامه نویسی رقابت کنه و یا برعکس

برای همین موضوع هم یکسری از رشته های مهندسی میانه وجود داره بشکلی که مهندسین اون رشته بتونن داخل هر دو حوزه وارد بشن. توی علوم مهندسی معمولا به عنوان معمار از اونها یاد میشه. یعنی کسی که معماری سیستم رو درست می کنه و بعد اون با توجه به اطلاعات داده شده مهندسین دو و یا چند رشته شروع به محاسبات مهندسی می کنن.

اصولا سیستم های الکترونیک دیجیتالی و سیستم های کامپیوتری مثل سخت افزار و نرم افزار باهم درگیر هستن و رشته ای که اینها رو به هم متصل میکنه بهش معماری سیستم های کامپیوتری میگن. حالا اگر بحث مکانیک و سیستم های آنالوگ هم باز بشه رشته مکاترونیک عرض ادب میکنه.

متاسفانه از اونجا که توی مملکت ما نه همکاری هست ونه حس همکاری و نه متخصص درست و حسابی همیشه این رشته ها جدا از هم می مونن. و نتیجه کار خوبی بیرون نمیاد.

مثلا همین الان بچه های تالاربا اینکه درگیر کار سیستمی هستند درگیر QT شدن که بیشتر یه کتابخونه UI هست. و در آینده شاید فقط ۱۰ درصد کارشون رو با QT انجام بدن. مشکل اینجاست که اینجایی ها اکثرا الکترونیک هستند و با حوزه نرم افزار آشنایی ندارند. و بر عکس

من فکر میکنم برای کار اصولی روی سیستم های embedded در مرحله اول باید کار سیستمی انجام داد. برای کار سیستمی هم برنامه نویس سیستمی لازمه. برنامه نویسی سیستمی هم توی لینوکس و اندروید به راحتی برنامه نویسی avr و یا دات نت نیست و جند زیر شاخه میشه:

۱. برنامه نویسی POSIX: استفاده از امکانات نرم افزاری سیستم های لینوکسی
۲. برنامه نویسی درایور: توسعه درایورهای مورد نیاز در لینوکس ( الان خود لینوکس یه رنج بزرگ رو ساپورت میکنه معمولا نیازی نیست مگر اینکه درایور جدید و یا مورد خاصی باشه.
۳. برنامه نویس هسته: توسعه، تغییر و یا خصوصی سازی در حیطه لینوکس ( مثلا نوشتن یه ماژول برای لینوکس و ... )
۴. برنامه نویس کتابخانه های جانبی مثل:

۱. برنامه نوییس OpenGL/OpenGL ES برای استفاده از قابلیت GPU پردازشگر ARM A10
۲. برنامه نویس OpenCV و .....

دقیقا اینکه چه تخصصی لازمه مربوط به پروژه هست و قبل از هر کاری ( حتی برنامه نویسی ) پیشنهاد می کنم که اول یه مقدار با خود لینوکس کار کنید و ببینید چه کارهایی میشه باهاش کرد و توی مرحله بعد اگر دیدن نیازهاتون حل نمیشه اونا رو مطرح کنید تا جایی که از دستمون بر بیاد راهنماییی کمک کنیم.

واقعیت اینه که این سیستم ها لینوکسی خیلی پیچیده تر و گسترده تر از اونی هستند که فکر می کنید. یعنی امکان نداره با گذاشتن یک کتاب مثل کتاب avr بتونید از حتی ۱۰ درصد امکاناتش سر در بیارید. چه برسه که بخوایید خبره شین و روی مباحثی مثل اینکه چی خوبه یا چی مناسب نیست بحث کنید.

شما داخل لینوکس بدون نوشتن برنامه c هم می تونید از طریق خط فرمان کل پایه های برد و یا جتی مواردی مثل usart و ... رو کنترل کنید.



QT كامپايلر نيست يه فريم ورك يا SDK هست. تقريبا GNU compilers از جمله gcc كامپايلر تمام زبانها رو فراهم ميكنه و ميشه هم براي اندرويد و هم لينوكس و هم آرم و هم x86 و چندين معماري ديگه باهاش برنامه نوشت.



qt: فریم ورک هست
qt-creator: محیط توسعه هست
eclipse: محیط توسعه هست.
gcc: کامپایلر c هست.

فریم ورک qt چه کارهایی انجام میده؟
بیشتر از هر چیزی یکسری توابع و امکانات رو برای برنامه نویسی ui فراهم میکنه اما امکانات دیگه ای رو هم برای کار با پایگاه داده و ... فراهم میکنه.

با qt چه کارهایی نمیشه کرد:
بطور خلاصه کارهای زیادی. اما اگر به مبحث ما مربوط باشه:
۱. کار با GPIO
۲. کار با پورتهای خاص
۳. کارهای سیستمی تحت لینوکس

پس چطور اینکارها رو باید انجام بدم:
qt یه فریم ورک ناتیو هست. یعنی هر کاری رو که نمی تونید باهاش انجام بدید، می تونید برای اونکار از مابقی کتابخونه های ناتیو استفاده کنید.

کتابخونه های ناتیو چی هستن:
زبان C علاوه بر قدرتش ، کتابخونه هایی ( مجموعه توابع و ...) داره که شهرت زیادی دارن از جمله اونها:
۱. OpenGL: برای گرافیک سه بعدی و دو بعدی
۲. DirectX: برای گرافیک سه بعدی
۳. OpenAL: برای صدای سه بعدی
۴. GTK/GTK+, wxwidgets و ... : برای ui
۵. OpenCL: برای محاسبات توزیعی نا همگن
۶. OpenMP: برای چند پردازندگی و چند هسته ای کردن یه برنامه
۷. DevIL: برای کار با تصویر ( از جمله بار گذاری و ذخیره و تغییر )
۸. OpenCV: برای پردازش تصویر
۹. کتابخونه های مرتبط با sql-lite و mysql و ... : برای کار با پایگاه داده ها
۱۰. و ...

تقریبا برای هر کاری یکسری کتابخونه وجود داره. به غیر از کتابخونه های یکسری API هم از جمله POSIX و Win32API وجود داره که از اونها برای کارهای سیستمی و برقراری ارتباط با لینوکس استفاده میشه.

چه کارهایی میشه با eclipse و qt-creator کرد:
فقط تایپ متن برنامه و یا ادیت یه منوی گرافیکی. این ابزارها در ماکزیمم حالت امکان برقراری ارتباط شما با کامپایلر رو فراهم می کنن. یعنی چی؟
یعنی اگر دکمه کامپایل رو داخلشون زدین کامپایلر (توی این مورد GCC ) رو فراخوانی می کنن.

بدون eclipse و qt-creator میشه کار کرد؟
بله. تقریبا حرفه ای هاسعی می کنن از این ابزارها استفاده نکند.


دوستان
به نظر من اول از همه لینوکس رو درست و حسابی یاد بگیرید بعدش کم کم متوجه میشید که باید چه جوری برنامه نویسی و ... انجام بدید. شما همین الان هم بشینید لینوکس رو یاد بگیرید یه شیش هفت ماه کار دارید ( تازه اگر بکوب اینکار رو بکنید ). لینوکس یه سیستم عامل حرفه ای هست و کار باهاش مثل ویندوز نیست. من نمی دونم چه شکلی می خواید بدون اینکه لینوکس رو یاد بگیرید براش برنامه بنویسید. این مثل این میمونه که شما بدون اینکه بخواید avr رو یاد بگیرید باهاش کارهای صنعتی تولید کنید.

یه مورد دیگه که هستش، برنامه نویسی لینوکس کلا متفاوت با اون چیزی هست که فکر می کنید. این شکلی نیست که یه چیز رو انتخاب کنید و یاد بگیرید و تموم شه بتونید از برد کار بکشین. وقتی وارد حیطه سیستم عامل شدید میشید یکی از هزاران برنامه نویسی که دارن مثلا برای بازار PC برنامه تولید می کنن ( یکی گیم میسازه یک دیتابیس و هر کدوم تخصص خودشون رو دارن‌). دیگه شما وارد حیطه حرفه ای برنامه نویسی میشید که این حیطه اینقدر پیچیده هست که خود کسایی که کامپیوتر هم خوندن توش گیر میکنن.

نمی خوام ضد حال بزنم اما با توجه به وضعی که دارم می بینم اکثر دوستان به مشکلات جدی توی کار با این برد بر میخورن. من فکر می کنم به جزء یه عده کم چند نفری کسه دیگه ای نتونه با این برد حداقل در سطح تجاری کار کنه.

دوست عزیز خیلی از سوالایی که خیلی وقت بود دنبال جوابش میگشتم رو شما جواب دادید .

من فقط با محیط گرافیکی مینت کار کردم و بس .

دلیل علاقم به لینوکس دو تاس
اونی که الان دنبالشم اینه که بتونم رو ARM لینوکسی داشته باشم که تنها امکاناتی که میخوام داشته باشه ( امکانات اضافی کامپایل نشن ) و همچنین بتونم از همه ی امکانات ARM تو محیط لینوکس استفاده کنم - و بتونم محیط گرافیکی برا برنامه هایی که مینویسم ایجاد کنم ( میدونم این بخش با اوپن جی ال قابل اجراست ) .

الان سوال من اینه که :
میدونم لینوکس دستورات و فرمان هایی مخصوص به خودش داره - حالا تا چند درصد این دستورات رو باید بدونم تا بتونم شخصی سازی هسته - کامپایل هسته - اضافه کردن قطعات جانبی -درایور نویسی - رابط کاربری و ... رو انجام بدم ؟ و اصلا اینکه به جای این دستورات نمیشه از زبان سی استفاده کرد ؟

سوال دوم اینه که :
من آخرین بار تو محیط Code Blocks تو ویندوز برنامه نوشتم . همونطور که میدونید کامپایلرش GCC هست .
ولی اصلا از این کار راضی نیستم و میخوام با ادیتور معمولی برنامه بنویسم و با لینک کردن و نوشتن میک فایل کامپایل و دیباگ رو انجام بدم .

شما رو به خدا کمکم کنید

pswin
27-07-2013, 13:02
میدونم لینوکس دستورات و فرمان هایی مخصوص به خودش داره - حالا تا چند درصد این دستورات رو باید بدونم تا بتونم شخصی سازی هسته - کامپایل هسته - اضافه کردن قطعات جانبی -درایور نویسی - رابط کاربری و ... رو انجام بدم ؟ و اصلا اینکه به جای این دستورات نمیشه از زبان سی استفاده کرد ؟

برای نوشتن برنامه عادی می تونید از QT و یا POSIX و کتابخونه های دیگه استفاده کنید. من یقین دارم QT می تونه تمامی نیازهای شما رو تو زمینه برنامه های کاربردی فراهم کنه.

برای برنامه نویسی هسته هم حتما باید با توابع هسته کار کنید که کار ساده ای نیست. قبل از اون باید حتما خود لینوکس و بعد برنامه نویسی POSIX رو یادبگیرید. که خودش مدت زمان زیادی رو لازم داره. و زبان تمامی اینها هم همون C/C++ هست.


من آخرین بار تو محیط Code Blocks تو ویندوز برنامه نوشتم . همونطور که میدونید کامپایلرش GCC هست .
ولی اصلا از این کار راضی نیستم و میخوام با ادیتور معمولی برنامه بنویسم و با لینک کردن و نوشتن میک فایل کامپایل و دیباگ رو انجام بدم .

من سوالتون رو متوجه نشدم. اما خب ادیتورهای زیادی داخل لینوکس موجود هست:

ادیتورهای محیط متنی
۱. vi
2. vim
3. nano

ادیتورهای محیط گرافیکی:
1. gedit
2. emacs
و ....

و در مورد نوشتن Makefile هم باید مطالعه کنید. چندان هم ساده نیست. مخصوصا برای پروژه های پیچیده

از جمله دیباگر ها هم میشه به موارد زیر اشاره کرد:
۱. gdb
2. ddd
و ...

گزینه های برنامه نویسی داخل لینوکس خیلی زیاده

pswin
27-07-2013, 13:09
کسی میدونه root password پیش فرض چیه ؟؟؟
همون پسوردی هست که زمان نسب می دید. در برخی از زیر توزیع ها مثل backtrack پسورد toor هست.


اگر پسورد یک یوزر عادی رو دارید با اون وارد شوید و سپس هر پسوردی که دوست دارید برای root بگذارید.

برای این حالتم پسورد یوزر root لازمه

pswin
27-07-2013, 13:15
(البته حجمی که دانلود می کنه نزدیک 700 مگه )

می تونید از مخازن یکسری داونلودش کنید و بعدا به کمک دستور dpkg نصبش کنید. لازم نیست هر دفعه دریافتش کنید.



خب سعی می کنم از این به بعد کارامو با جزییات اینجا بزارم امیدوارم اساتیدم کمکمون کنن
eclipse بصورت پیش فرض با جاوا کار میکنه. بعد از نصب اون باید یه افزونه C که اسمش cdt هست رو نصب کنید. ضمننا لازم نیست بسته های openjdk-7-jdk openjdk-7-jre رو بصورت جدا نصب کنید. اگر لازم باشه خود برنامه apt براتون دریافت و نصب میکنه. ‍پس مراحل رو بصورت زیر دنبال کنید:


sudo apt-get install eclipse eclipse-cdt

بعدش هم می تونید از طریق ترمینال و یا شل گرافیکی eclipse رو اجرا کنید:

$ eclipse&

علامت & میگه eclipse رو پشت صحنه اجرا کن و بعد از اجرا منتظر خاتمه برنامه نشو و کنترل رو فورا دباره به ترمینال برگردون. و $ هم همون اعلان شل سیستم هست.

goldperson
27-07-2013, 16:08
برای نوشتن برنامه عادی می تونید از qt و یا posix و کتابخونه های دیگه استفاده کنید. من یقین دارم qt می تونه تمامی نیازهای شما رو تو زمینه برنامه های کاربردی فراهم کنه.

برای برنامه نویسی هسته هم حتما باید با توابع هسته کار کنید که کار ساده ای نیست. قبل از اون باید حتما خود لینوکس و بعد برنامه نویسی posix رو یادبگیرید. که خودش مدت زمان زیادی رو لازم داره. و زبان تمامی اینها هم همون c/c++ هست.



من سوالتون رو متوجه نشدم. اما خب ادیتورهای زیادی داخل لینوکس موجود هست:

ادیتورهای محیط متنی
۱. Vi
2. Vim
3. Nano

ادیتورهای محیط گرافیکی:
1. Gedit
2. Emacs
و ....

و در مورد نوشتن makefile هم باید مطالعه کنید. چندان هم ساده نیست. مخصوصا برای پروژه های پیچیده

از جمله دیباگر ها هم میشه به موارد زیر اشاره کرد:
۱. Gdb
2. Ddd
و ...

گزینه های برنامه نویسی داخل لینوکس خیلی زیاده

دوست عزیز ابتدا تشکر میکنم از پاسختون

یعنی دستوراتی که تو خط فرمان لینوکس هم تایپ میشن به زبان c هستن ؟

همونطور که گفتم من فقط با قسمت گرافیکی مینت کار کردم . که کار کردن یا نکردن با اون فکر نکنم هیچ ربطی به یاد گرفتن لینوکس داشته باشه . پس من صفر کیلومترم .
خواهشا یه سری منابع آسون معرفی کنید که بتونم قدم به قدم یاد بگیرم . خودم هرچی پیدا کردم به زبان انگلیسی بوده و اونقد هم بد نو.شته بود که حتی خود انگلیسی زبان ها هم دادشون در اومده بود .

کتاب فارسی میخوام که مبنای درسش هسته لینوکس باشه نه توزیع های مختلف .

علاوه بر معرفی منابع لطفا بفرمایید که به ترتیب چه چیزهایی رو باید یاد بگیرم .

بینهایت ممنونم .

pswin
28-07-2013, 01:06
یعنی دستوراتی که تو خط فرمان لینوکس هم تایپ میشن به زبان c هستن ؟
تمامی دستورهایی که توخط فرمان تایپ میشن برنامه هستند. که معمولا در آدرس های زیر قرار دارند:


/bin/
/usr/bin
/sbin

البته 99 درصد این برنامه ها با زبان C نوشته شدند.


خواهشا یه سری منابع آسون معرفی کنید که بتونم قدم به قدم یاد بگیرم . خودم هرچی پیدا کردم به زبان انگلیسی بوده و اونقد هم بد نو.شته بود که حتی خود انگلیسی زبان ها هم دادشون در اومده بود .

منبع زبان فارسی مناسبی وجود نداره و همه اونها ایراداتی دارن. اما کتاب Linux+ ( سطح یک و دو و مدیریت شبکه ) از انتشارات دیباگران تهران برای شروع بد نیست.


علاوه بر معرفی منابع لطفا بفرمایید که به ترتیب چه چیزهایی رو باید یاد بگیرم .

این دقیقا مربوط به اینه که شما چه کاری می خواید با لینوکس انجام بدید. بعضی ها برای سیستم های embedded لازمش دارن ( مثل خیلی از بچه های این فروم ) برخی دیگه مدیریت شبکه و هاست اینها می خوان انجام بدن و .... .

خب اما همگی قبل از هر کاری باید درست و حسابی لینوکس یاد بگیرند. مخصوصا خط فرمان. بعد از اینکه شروع به یادگیری کردید کم کم می تونید خودتون گام های بعدی رو متوجه بشید. من با دوستان دانشگاهیم حدود دو ماه هر هفته دو روز کار کردم و الان متوجه شدم که خودشون دارن خیلی از مسائل رو هندل می کنن.

goldperson
28-07-2013, 01:15
تمامی دستورهایی که توخط فرمان تایپ میشن برنامه هستند. که معمولا در آدرس های زیر قرار دارند:


/bin/
/usr/bin
/sbinالبته 99 درصد این برنامه ها با زبان C نوشته شدند.



منبع زبان فارسی مناسبی وجود نداره و همه اونها ایراداتی دارن. اما کتاب Linux+ ( سطح یک و دو و مدیریت شبکه ) از انتشارات دیباگران تهران برای شروع بد نیست.



این دقیقا مربوط به اینه که شما چه کاری می خواید با لینوکس انجام بدید. بعضی ها برای سیستم های embedded لازمش دارن ( مثل خیلی از بچه های این فروم ) برخی دیگه مدیریت شبکه و هاست اینها می خوان انجام بدن و .... .

خب اما همگی قبل از هر کاری باید درست و حسابی لینوکس یاد بگیرند. مخصوصا خط فرمان. بعد از اینکه شروع به یادگیری کردید کم کم می تونید خودتون گام های بعدی رو متوجه بشید. من با دوستان دانشگاهیم حدود دو ماه هر هفته دو روز کار کردم و الان متوجه شدم که خودشون دارن خیلی از مسائل رو هندل می کنن.
بسیار ممنونم
پس پیشنهادتون اینه که برای برنامه نویسی با qt کار کنم . و ابتدا شروع به یادگیری دستورات لینوکس کنم .
اونطوری که من متوجه شدم از فصل 13 به بعد این کتاب که معرفی کردید مربوط به مباحث شبکه میشه .
کدوم توزیع از لینوکس رو برای یادگیری خط فرمان پیشنهاد میکنید ؟ همچنین کدوم نسخه ( Gnome , KDE , LXDE ,XFCE ) ؟
نصب کنم بهتره یا از wmware تو ویندوز استفاده کنم ؟
با تشکر فراوان

pswin
28-07-2013, 11:55
سلام


پس پیشنهادتون اینه که برای برنامه نویسی با qt کار کنم . و ابتدا شروع به یادگیری دستورات لینوکس کنم .
قبل از هر کاری خود لینوکس رو یاد بگیرید.

اگر برنامه GUI دار و یا برنامه دیتابیس و مثل اون میخوایید طراحی کنید از QT استفاده کنید.


اونطوری که من متوجه شدم از فصل 13 به بعد این کتاب که معرفی کردید مربوط به مباحث شبکه میشه .
مطالب ابتدایی نظیر اتصال به شبکه و ... هست.


کدوم نسخه از لینوکس رو برای یادگیری خط فرمان پیشنهاد میکنید ؟
معمولا همه یکی هستند فرق خاصی وجود نداره. اما دو توزیع اصلی فدورا و دبین وجود داره که نحوه کانفیگ اونها فرق میکنه. لینوکس ابونتو یکی از زیر توزیع های دبین هست که کار باهاش خیلی ساده هست و مینت هم مثل اوبنتو زیر توزیع دبین بشمار میره.


نصب کنم بهتره یا از wmware تو ویندوز استفاده کنم ؟
بهتره برای اولین بار رو vmware بزنید اگر cpu شما corei باشه از vmx ساپورت میکنه که باعث میشه سرعت vmware هم خوب باشه

goldperson
28-07-2013, 12:08
با سلام مجدد و عرض تشکر فراوان

من توزیع فدورا رو انتخاب کردم ولی نمیدونم کدوم نسخه ( Gnome , KDE , LXDE ,XFCE ) ؟



اگر برنامه GUI دار و یا برنامه دیتابیس و مثل اون میخوایید طراحی کنید از QT استفاده کنید.
من قصدم اینه که بتونم از تمام پورت ها و امکانات ARM تو محیط Linux استفاده کنم و در درجه بعد برم سراغ مباحث گرافیکی . مثلا بتونم از USB یا USB OTG یا LCD یا ADC و ... تو لینوکس استفاده کنم و در درجه بعد به سراغ نوشتن یه واسط گرافیکی برم ( یا به قولی : ابتدا بتونم درایور نویسی کنم بعد برم سراغ برنامه نویسی برای گرافیک و غیره - البته نمیدونم منظورم رو خوب بیان کردم یا نه ) .



بهتره برای اولین بار رو vmware بزنید اگر cpu شما corei باشه از vmx ساپورت میکنه که باعث میشه سرعت vmware هم خوب باشه
CPU من Core 2 Quad هست کفایت میکنه برای Wmware ؟

ممکنه یه فروم تخصصی و حرفه ای برای لینوکس معرفی کنید ؟




.

pswin
29-07-2013, 16:23
ممکنه یه فروم تخصصی و حرفه ای برای لینوکس معرفی کنید ؟

TECHNOTUX - مرجع فارسی لینوکس &bull; صفحه فهرست (You can see links before reply)


CPU من Core 2 Quad هست کفایت میکنه برای Wmware ؟
بله


من قصدم اینه که بتونم از تمام پورت ها و امکانات ARM تو محیط Linux استفاده کنم و در درجه بعد برم سراغ مباحث گرافیکی . مثلا بتونم از USB یا USB OTG یا LCD یا ADC و ... تو لینوکس استفاده کنم و در درجه بعد به سراغ نوشتن یه واسط گرافیکی برم ( یا به قولی : ابتدا بتونم درایور نویسی کنم بعد برم سراغ برنامه نویسی برای گرافیک و غیره - البته نمیدونم منظورم رو خوب بیان کردم یا نه ) .
میتونی اینکار رو هم بکنی. اما از من گفتن راه رو داری برعکس میری

prm2
30-07-2013, 19:01
سلام
میشه لطفا یکی کمک کنه بگه چجوری میتونم با کوبی یک led چشمک زن درست کنم
منظورم کار با پورت ها است
البته با زبان c++
:0013:

prm2
30-07-2013, 19:02
ایا میشه روی اوبونتو کوبی2
متلب نصب کرد؟

reza1
16-08-2013, 10:14
سلام
من مهندس نرم افزار هستم و تازه یه کوبی برد2 خریدم و اومدم اینجا
جالب بود برام چون من چندین سال هست با لینوکس کار می کنم و در حال حاضر لینوکس کلیه چیزی که از کامپیوترم می خوام جواب می ده و اصلا ویندوز روی لپ تاپم ندارم فقط تو virtual box یه xp نصب کردم و بندرت روشنش می کنم بحثهایی که اینجا مطرح شده بود بیشتر در مورد لینوکس و برنامه نویسی لینوکس بود که لازمه یه کم توضیح بدم
لینوکس یه سیستم عامل نیست بلکه فقط کرنل سیستم عامله که توسط لینوس تروالدز بعد از ایجاد پروژه گنو توسط ریچارداستالمن و توسط ابزارهای اون نوشته شد و به سیستم عامل به وجود اومده از ابزارهای گنو و کرنل لینوکس می گند گنو لینوکس که معمولا به اختصار و اشتباها لینوکس گفته می شه هدف از ایجاد پروژه گنو که مخفف GNU Not Uinx هست ایجاد سیستم عاملی شبیه یونیکس ولی آزاد بود به همین دلیل این سیستم عامل خیلی شبیه یونیکس هست همون طور که می دونید کرنل سیستم عامل مکینتاش هم یونیکس هست
اگر بخوایید یه توزیع ساده گنو لینوکس ایجاد کنید حداقل باید 50 نرم افزار را کامپایل و toolchian کنید که یکیش لینوکس هست
از جمله نرم افزارهایی که هنگام تولچین کردن مورد نیاز هست کامپایلر گنو یا همون gcc هست که در ابتدای تولید مخفف Gnu C Compiler بود و در حال حاضر مخفف Gnu Collection Compiler هست که از زبان های برنامه نویسی جاوا فورتن ایدا و سی و سی++ پشتیبانی می که و کد ماشین بیش از 40 سخت افزار مختلف از جمله arm و avr را تولید می کنه این کامپایلر برای ویندوز تحت عنوان mingw موجود هست
این که پرسیده شد توی ترمینال لینوکس با سی برنامه می نویسند باید بگم ترمینال که به آن شل یا پوسته می گند در واقع واسطی هست بین کاربر و کرنل سیستم عامل و مستقیما با سیستم کال های لینوکس درگیر هست در این خصوص هم لینوکس شل های مختلفی را پشتیانی می کنه که معروف ترین آن های ba شل یا bash هست که توی لینوکس بیشتر استفاده می شود شل های دیگه ای هم داریم مثل aشل که توی آندروید استفاده می شه یا z شل که توی مکینتاش و یا c شل که بیشتر کد نویسیش شبیه c هست یا tc شل بنابراین می تونید توی لینوکس تمام این شل ها را داشته باشید و روی هرکدوم در محیط ترمینال سوییچ کنید یا پیش فرض هر کاربر را یه شل قرار بدید
در خصوص برنامه نویسی زبان هایی برنامه نویسی به دو دسته تقسیم می شوند
یک مفسری مثل perl php python
و زبان های کامپایلری مثل c pascal
زبانهایی هم مثل جاوا هستند که هردوتای اینا هستند یعنی کد را به زبان میانی کامپایل می کنند و زمان اجرا کد میانی را به زبان ماشین ترجمه می کنند
هر زبان قابلیت خودش را داره و برای هدفی ساخته شده مثلا زبان c را طوری ساختند که دست برنامه نویس باز باشه کاری که توی C# یا جاوا نمی تونید انجام بدید مثل دسترسی مستقیم به حافظه و اسمبلی توی برنامه و خود کامپایل این زبان ها حافظه را مدیریت می کنند ونیاز نیست شما حافظه گرفته شده را آزاد کنید و خود این زبان ها مدیریت می کنند اما قابلیت شی گرایی بالایی دارند چیزی که توی c نیست و در واقع توی c++ اضافه شده و همچنین سرعت بالاتر کد های c++ نسبت به جاوا به دلیل ایجاد کد native و نداشتن واسط میانی
توی لینوکس به همه این زبانها می تونید برنامه بنویسید و تقریبا همه کامپایلر ها نسخه لینوکس دارند کما اینکه اکثر اونها ابتدا برای لینوکس اومدند بعد برای ویندوز مثل gcc که متن باز هست یا perl php phyton که اسکریپتی هستند و بیشتر برای برنامه های تحت شبکه و وب استفاده می شند
کیوت (QT) در واقع یک هک برای c++ هست که برای نوشتن برنامه گرافیکی با c++ به وجود اومد و در حال حاضر و در حاضر هدفی که دنبال می کنه مولتی پلفرم هست و در این خصوص در حال رقابت با جاوا هست
در واقع کیوت تشکیل شده از یه کامپایلر کوچک به اسم moc یا meta object compiler و کتابخانه کامل و قوی c++ و به خودی خود کامپایلری برای کامپایل کد c++ ندارد می تونید برای کامپایل از کامپایلر gcc و یا microsoft vitual c++ استفاده کنید و یا کامپایلر های دیگر c++مثل LCC در حال حاضر کیوت ۵ بهینه شده برای استاندار c++11 که سرعت بهتری دارد کتابخانه های کیوت خیلی شبیه جاوا پیاده سازی شده و حتی نرم افزارهایی وجود داره که می تونید از این کتابخانه های در زبان های برنامه نویسی دیگه استفاده کنید مثل jambi که برای استفاده از کیوت توی جاوا درست شده یا pyqt که برای استفاده کیوت در پایتون طراحی شده است کیوت یه زبان توصیفی جدید به وجود آورده به نام QML که برپایه جاوا اسکریپت است و امکان طراحی فرم های زیبا را فراهم می کنه از کتابخانه های کیوت می توان در IDE های مختلفمثل netbeans eclips emacs virtual studio و.... استفاده کرد که پیشنهاد می شه از qt-creator که مخصوص استفاده از کیوت طراحی شده استفاده کنید من برای دوستانی که رشته الکترونیک هستند و میخوان یک زبان برنامه نویسی شروع کنند پیشنهادم کیوت هست به چند دلیل
1- پیش زمینه ای که در دانشگاه از زبان برنامه نویسی c دارند و واحدش را پاس کردند
2- سرعت بالاتر
3- مولتی پلتفرم بودن و پرتابل بودن برنامه
4- قابلیت استفاده در همه جا یک بار بنویس همه جا اجرا کن شبیه شعار جاوا
5- بزرگ بودن کتابخانه ها و تابع های آماده کیوت که تقریبا اکثر نیاز ها را پشتیبانی می کنه
6- زیاد بودن کد های و کتابخانه های متن باز به زبان c++ که با این برنامه لینک می شند مثل opencv box2d botan و...
البته توی لینوکس می شه با کامپایلر FPC و محیط lazarus به زبان پاسکان برنامه نوشت مثل دلفی و یا با محیط توسعه mono به زبان C# و یا حتی به راحتی از زبان های اسکریپتی استفاده کرد اما من به شخصه کیوت را ترجیح می دم و دو ماهی هست دارم با اون برنامه نویسی را شروع کردم و راضی هستم و هدف ام هم برنامه نویسی موبایل بوده که به خاطر تست نرم افزار هام یه برد کوبی2 خریدم چون می خواستم هم لینوکس روش نصب کنم هم سیستم عامل های لینوکسی موبایل مثل meego tizen ubuntu و آندروید که هنوز توی پرگرام کردن یکیش موندم کسی هم نیست یه راهنمایی درست درمون کنه پشتیانیش خیلی ضعیه کاش raseberry گرفته بودم

kavir
16-08-2013, 12:22
reza1 (You can see links before reply)@
به جای این همه تفسیر یه سر به wiki.iranmicro.ir بزنید نحوه نصب لینوکس با نرم افزار phoenixsuit گفته شده همون ورژن بالای live suit هست نصبش کمتر از 5 دقیقه روی نند صورت میگیره در تاپیک قبلی که ایجاد کردین نوشتم براتون
این سوالات تکراری هست ولطفا از ایجاد تاپیک جدید در بخش ویکی سرچ کنید و raspberry هم داریم و در بخش های مختلف از لحاظ سخت افزاری بررسی شده و دیگه بررسی نمیکنیم

goldperson
19-08-2013, 12:25
سلام مجدد
چند سوال دارم :

1.
Cross Compile بدون استفاده از IDE ها یی مثل QT یا Eclipse و تنها با استفاده از کامپایلر GCC و Command Line خود لینوکس امکان پذیر نیست ؟
قصدم اینه که تا حد امکان به IDE وابسته نباشم .

2.
منظور از اصطلاح scratch در سیستم های Embedded چیست ؟


"you learn how to build everything you need for an embedded project from scratch"


3.
ممکنه در مورد Toolchain توضیح بدید ؟

reza1
19-08-2013, 13:22
1- امکان پذیر هست ولی استفاده از IDE ها به سرعت کد نویسی کمک می کنند و خود IDE ها کد را برای کامپایل به کامپایل تعریف شده توشون ارجاع می دند می تونید از دستور man gcc یا برای cpp از دستور man g++ توی ترمینال لینوکس راهنماش و پارامتر های را ببینید
2- اصطلاح scratch یعنی از ابتدا منظور ساخت یه توزیع Embedded از ابتدا هست که توی توزیع های دستکتاپی این سایت آموزش کاملی داره Welcome to Linux From Scratch! (You can see links before reply) توی توزیع های embedded هم فکر می کنم پروژه yocto توی این زمینه داره کار می کنه Yocto Project | Open Source embedded Linux build system, package metadata and SDK generator (You can see links before reply)

3- همانطور که می دونید توی سیستم عامل کتابخانه های نرم افزار به دلیل متن باز بودن به صورت اشتراکی استفاده می شه و حتی برای نصب یه نرم افزار توی لینوکس اگه دیده باشید کلی کتابخانه های مختلف پیشنیاز داره برای درست کردن یک توزیع جدید لینوکس فقط کرنل نیست که باید کامپایل بشه و حدود 60 ابراز مختلف باید نصب بشه و کنار هم قرار بگیره که هرکدوم تنظیمات و کانفیگ های خاص خودشو داره به کنار هم گذاشتن این کد های مختلف و کامپایل کردن و تنظیم کردنشون برای کار مشخص toolchian می گند

فکر نمی کنم کار درستی باشه برای درست کردن ماشین بخوایید چرخ را از ابتدا اختراع کنید
می تونید به راحتی از توزیع های سبک و بهینه شده برای بردتون استفاده کنید

pswin
20-08-2013, 02:55
2- یعنی از صفر

goldperson
20-08-2013, 08:57
ضمن تشکر از دو دوست عزیز : reza1 و pswin
ممکنه در مورد POSIX توضیح بدید ؟
البته لینک ویکی رو خوندم ولی قانع نشدم :
POSIX - Wikipedia, the free encyclopedia (You can see links before reply)

بی مخ!
22-08-2013, 02:45
با سلام خدمت دوستان عزیز،
من کل این تاپیک و تاپیک سخت افزار بورد کوبی و 50 صفحه اول تاپیک بورد کوبی وارد ایران شد (فعلاً) رو خوندم و دیدم فعلاً تنها کاری که شده نصب یه توزیع از لینوکس بوده و حالا ارتباط با GPIO با استفاده از ترمینال و یا پایتون.
ولی جایی ندیدم جواب این سوالم رو،
امکان ارتباط مستقیم از طریق PHP با سخت افزار (GPIO) هست؟
یه راه اینکه که از مخلوطی از php و python استفاده بشه، ولی میخواستم بدونم کسی نمی دونه امکان برنامه نویسی برای GPIO از طریق پی اچ پی هست یا نه؟

با تشکر

بی مخ!
22-08-2013, 12:59
خب، جستجو که میکردم، به CGI Programming رسیدم! که فک می کنم کاری که من میخوام رو واسم انجام میده!
اینکه یه صفحه وب نوشته شده با php که روی وب سرور نصب شده روی لینوکسم (حالا مثلاً آپاچی) رو بارگذاری کنم، و بعد بتونم از طریق این CGI Programming، با پایتون به سخت افزار (سریال برای کار من) دسترسی پیدا کنم!

دیدن این لینک خالی از لطف نیست: Python CGI Programming (You can see links before reply)
و البته این لینک: CGI چیست؟ (You can see links before reply)

بی مخ!
23-08-2013, 12:39
خب فعلاً یه سری راه حل هایی بدست آوردم.
گفتم شاید دوستان هم بعداً لازم داشتن، اینجا به اشتراک میذارم.
علاوه بر موردی که توی پست قبل گفتم:

ببینید، از طریق شل اسکریپت و پایتون و البته C میشه به سخت افزار این کوبی بورد (یا بوردهای Mini CPU دیگه مثل مارس)و اصطلاحاً به GPIO اون هم دستور داد.
حالا من میخواستم وب سرور راه بندازم و بعد کاربر بتونه از طریق وب پیجی که میزنم، سخت افزار رو کنترل کنه، پس باید یه ارتباطی بین php و مواردی که گفتم باشه، و بتونم مثلاً پایتون رو فراخونی کنم.

1- استفاده از شل اسکریپت، برای اینکار از shell_exec() استفاده میشه، لینک های زیر رو ببینید:
PHP: exec - Manual (You can see links before reply)
shell - php shell_exec() vs exec() - Stack Overflow (You can see links before reply)

2- فراخونی برنامه نوشته شده به پایتون، کاری که خودم انجام دادم. من دستوراتی که میخوام به سخت افزار ارسال بشه رو توی یک برنامه پایتون مینویسم، و بعد برنامه رو فراخونی می کنم: با استفاده از تابع System() که برای مورد قبل هم استفاده میشه!
System Function (You can see links before reply)

در لینکایی که دادم مثال به اندازه کافی و خیلی مفهوم وجود داره.

امیدوارم به درد کسی بخوره این مطلب
با تشکر

sarab1
28-11-2013, 13:43
آخرش من نفهمیدم برای استفاده از gpio ها به صورت gui در لینوکس باید از کدوم کامپایلر و ide و کتابخانه .... استفاده کنم؟؟؟؟؟؟:(:(:(:(:(

kavir
28-11-2013, 13:49
آخرش من نفهمیدم برای استفاده از gpio ها به صورت gui در لینوکس باید از کدوم کامپایلر و ide و کتابخانه .... استفاده کنم؟؟؟؟؟؟:(:(:(:(:(
سلام
سی دی اموزشی دست من هست داریم فیلم هاش ادیت میکنیم تا یکی دوروز صبر کنید
آخرش بهترین گزنیه qt شد منتظر خبرهای بعدی باشین

sarab1
28-11-2013, 14:01
سلام
سی دی اموزشی دست من هست داریم فیلم هاش ادیت میکنیم تا یکی دوروز صبر کنید
آخرش بهترین گزنیه qt شد منتظر خبرهای بعدی باشین
سلام بر مهندس زارعی عزیز : آقا ما حتی یه لحظه کوچیک هم نمی تونیم صبر کنیم باید چیکار کنیم؟؟؟؟؟ ما بی صبرانه منتظریم!!!!!:o:o:o:o:o
ارادتمند همیشگی شما!

sarab1
29-11-2013, 22:41
عجب چیزی یه سر بهش بزنید:
VisualGDB - Integrate GCC and GDB in Visual Studio (You can see links before reply)

dariush_ab
29-11-2013, 22:50
عجب چیزی یه سر بهش بزنید:
Visualgdb - integrate gcc and gdb in visual studio

خیلی جالبه.ممنون از لینک مفیدتون.
نسخه کرک شدش رو نیافتین؟تست نکردین ببینین چه جوری است؟
اینقدر همه چیز داره پیشرفت میکنه که آدم گم میشه.

sarab1
29-11-2013, 23:12
خیلی جالبه.ممنون از لینک مفیدتون.
نسخه کرک شدش رو نیافتین؟تست نکردین ببینین چه جوری است؟
اینقدر همه چیز داره پیشرفت میکنه که آدم گم میشه.
سه روزه در گیر این تکنولوژی شدم بد جورررررر!!!!!!!!!!!!
این QT واقعا میخاد دنیا رو بترکونه!!!:018::018::018::018: با بالاترین کیفیت GUI درست کنید حتی میتونید اندروید رو هم با هاش برنامه نویسی کنید در محیط Visual Studio و ویندوز البته در نسخه جدیدش و ...
شک نکنین بهترینشو انخاب کردین با qt سه تا کتاب در باره برنامه نویسی درایور و gpio و ...توسط qt تو محیط لینوکس دان کردم اسم بهترین ها رو اینجا میزارم اگه نتونستین دان کنین بگین تا براتون آپلود کنم:
Linux The Embedded and Real-Time
Essential_Linux_Device_Drivers
Embedded.Linux.Primer.2nd.Edition
ولی برنامه بالایی که لینکشو گذاشتم رو نصب کردم 30 روزه ولی key میخاست که نتونستم پیداش کنم دوستان کرکر اگه تونستن یه وقتی روش بزارند واقعا ارزشش رو داره
البته من نمیدونم این STM32 این وسط چیکار میکنه !
هر سایتی میری این stm32407 رو یه بار با سیمولینک یه بار با ویژوال استدیو و یه بار با :(:(:(:(...... میبینی!!! به نظرم آینده درخشانی داره

البته که تست کردم متحیرم که چه نامم ........!

cover_itx
30-11-2013, 00:01
این QT واقعا میخاد دنیا رو بترکونه!!! با بالاترین کیفیت GUI درست کنید حتی میتونید اندروید رو هم با هاش برنامه نویسی کنید در محیط Visual Studio و ویندوز البته در نسخه جدیدش و ...
QT واقعا خیلی روی کامپایلرش کار کرده است اما به خاطر هسته چند پلتفرمیش سرعت برنامه های نوشته شده با هاش نسبتا پایین است الان دیگه اکثر کامپایلر ها و زبان ها به سویی چند پلتفرمی بودن دارنند می رند مثلا سی شارپ(mono در لینوکس ) چند وقت پیش هم دیدم که روی آندروید هم سی شارپ ظاهر شده است و صد ها برنامه هم باهاش نوشته شده است
این زبان ها زمانی چند پلتفرمی می شوند چون باید درون هسته خود یک مبدل داشته باشند در اصل هم همینه بیش تر نقششون مبدل است باعث می شود سرعت اجرای کد ها پایین بیاید
البته من با qt تا کنون کار نکرده ام اما دوستانی که کار کرده بودنند به سرعت پایین اجرای کد ها نسبت به دیگر زبان ها ازآن داشتند اما کلا ماهیت کار qt قابل تقدیر است ولی فکر نکنم در چند پلتفرمی وسرعت اجرا و قدرت عملکرد به جاوا برسد چون جاوا یک موتور قدرتمند sun به نام VM در هسته خود دارد که دستورات را مستقیما از سخت افزار درخواست می کند...
البته این هم باید در نظر داشت که qt یک فریمورک که با زبان قدرتمند c++ است اما جاوا یک زبان مستقل است و اصلا قیاس آن ها با هم کار درستی نیست ...

sarab1
30-11-2013, 00:23
QT واقعا خیلی روی کامپایلرش کار کرده است اما به خاطر هسته چند پلتفرمیش سرعت برنامه های نوشته شده با هاش نسبتا پایین است الان دیگه اکثر کامپایلر ها و زبان ها به سویی چند پلتفرمی بودن دارنند می رند مثلا سی شارپ(mono در لینوکس ) چند وقت پیش هم دیدم که روی آندروید هم سی شارپ ظاهر شده است و صد ها برنامه هم باهاش نوشته شده است
این زبان ها زمانی چند پلتفرمی می شوند چون باید درون هسته خود یک مبدل داشته باشند در اصل هم همینه بیش تر نقششون مبدل است باعث می شود سرعت اجرای کد ها پایین بیاید
البته من با qt تا کنون کار نکرده ام اما دوستانی که کار کرده بودنند به سرعت پایین اجرای کد ها نسبت به دیگر زبان ها ازآن داشتند اما کلا ماهیت کار qt قابل تقدیر است ولی فکر نکنم در چند پلتفرمی وسرعت اجرا و قدرت عملکرد به جاوا برسد چون جاوا یک موتور قدرتمند sun به نام VM در هسته خود دارد که دستورات را مستقیما از سخت افزار درخواست می کند...
البته این هم باید در نظر داشت که qt یک فریمورک که با زبان قدرتمند c++ است اما جاوا یک زبان مستقل است و اصلا قیاس آن ها با هم کار درستی نیست ...

مهندس اطلاعات خوبی دادید ولی به نظرتون ممکنه من در برنامه نویسی gui رسم نمودار های پزشکی (در یافتی از سنسور wifi )به علت محدودیت سرعت qt دچار مشکل بشم؟؟؟
مثلا :You can see links before reply ature_chip

cover_itx
30-11-2013, 00:52
مهندس اطلاعات خوبی دادید ولی به نظرتون ممکنه من در برنامه نویسی gui رسم نمودار های پزشکی (در یافتی از سنسور wifi )به علت محدودیت سرعت qt دچار مشکل بشم؟؟؟
مثلا :Arduino & Friendly ARM Temperature Logger with GUI and graphics: part one | sereno-labs (You can see links before reply ature_chip)

ببنید منظور من از سرعت در مقایسه با کامپایلر ها و زبان های دیگر است که این تاخیر ممکن در حد میکروثانیه که بعضا برحسب سیکل ماشین است مثلا سرعت اجرای کد ها در c++ نسبت به c تقریبا 3 میکرو ثانیه سریعتر است در اجرای کل برنامه است که در عمل مقدار آن ناچیز است و معمولا برای برنامه نویس های نرم افزار این مورد زیاد مهم نیست اما در حوزه کار های حساس به خصوص موارد نظامی خیلی مهم است در کل برنامه نویسی که شما در نظر دارید باید ببینید عکس العمل سنسور ها چقدر است
فکر نمی کنم مشکلی به وجود آید چون معمولا شما نمودار را باید بر حسب ثانیه می کشید چون اصول این نمودار هم همین است مقادیر بر حسب ثانیه مقایسه می شود در غیر این صورت الگوریتم تحلیل سخت و پچیده می شود:0013:

sarab1
01-12-2013, 14:25
سلام این دو تا از هم چه فرقی دارند؟

Download Qt, the cross-platform application framework | Qt Project (You can see links before reply)

You can see links before reply

cover_itx
01-12-2013, 22:55
سلام این دو تا از هم چه فرقی دارند؟

Download Qt, the cross-platform application framework | Qt Project (You can see links before reply)

You can see links before reply
سلام
فرقش توی اینه که لینک اول مجموعه کل دانلود های qt است دومی نسخه تجاری Qt Enterprise است اگر منظورتون تفاوت این نسخه است اینه که این نسخه تجاری است و لایسن دار است و یک سری امکانات تجاری(مثل دیباگر پیشرفته و افزونه های jqt و پشتیبانی 24 ساعت آنلاین تیم ساپورت qt و... است)
qt در دو نسخه یکی نسخه تجاری که خدمتتان عرض کردم و دیگر نسخه با لایسن GPL است
که معنای آن این است

- آزاد از محدودیت‌ها
- آزاد برای به‌اشتراک‌گذاری و کپی‌برداری
- آزاد برای آموزش و اقتباس
- آزاد برای به‌کارگیری توسط دیگران
در کل بیشتر فرقشون توی پشتیبانی است...:0013:

sarab1
01-12-2013, 22:57
اولی که رایگانه دومی هم پولی 30 روزه
ولی حجم فایل اولی 500 مگا بایت دومی 7000 مگا بایت مگه چه خبره؟ مهندسان اطلاعاتی در مورد ویژگی هاش و .... دارند؟
تازه اونم آنلاین نصب میشه! کسی setup افلاین نداره؟

cover_itx
01-12-2013, 23:16
اولی که رایگانه دومی هم پولی 30 روزه
ولی حجم فایل اولی 500 مگا بایت دومی 7000 مگا بایت مگه چه خبره؟ مهندسان اطلاعاتی در مورد ویژگی هاش و .... دارند؟
تازه اونم آنلاین نصب میشه! کسی setup افلاین نداره؟

دوست من شما که می دانی چرا سوال می کنی:wink:
qt لایبراری ها و کلاس های بسیار زیادی دارد برای همین سازگاریش با سیستم عامل ها باید api های گسترده ایی را داشته باشد در ضمن فایل های نصبی برای نصب آنلاین که اگر آنلاین دانلود کنید 500 مگ به 2-3 گیگ تبدیل می شود دومی هم خدمتتان عرض کردم به دلیل یک سری امکانات تجاری است که توی سایت qt توضیحات جامعی ارایه داده است
برای لینک آفلاین هم باید توی این سایت آپلود سنتر بگردید ببینید کسی نسخه آفلاینشو آپلود کرده است چون حجمش خیلی زیاد است بعید می دونم کسی بتونه آپلود کنه و یا اگر هم آپلود کنه آپلود سنتر به دلیل محدودیت زمانی و فضایی بزاره....

Mehmat
01-12-2013, 23:52
سلام
کسی هست که برنامه نویسی لینوکس برای کنترل gpio و سایر پورت های روی برد arm مثل usb آموزش بده؟
بیشتر کلاس حضوری مد نظرم هست.

sarab1
02-12-2013, 00:17
دوست من شما که می دانی چرا سوال می کنی:wink:

مهندس من که مثل شما کامل نمی دونم قضیه از چه قرار است هنوز در اول راهم !!
تازه من دیدم کسی جواب نداد گفتم به عنوان مقدمه خودم یه توضیحی بدم و انتظار ما از شما
راهنمایی کاملتری است :wink::wink::wink::wink:با تشکر :hi:
بعدشم این چند روزه qt رو نصبیدم پروژه ها رو هم باز کردم کامپایل هم کردم
c++ به کار رفته در qt خیلی ساده است مثل c++.net نیست ساده تر ازاین حرفها !!:o:o:o همه می تونند شروع کنند سه تا کتاب به نام های :
Fundations-of-Qt-Development

The.Book.of.Qt.4.-.The.Art.of.Building.Qt.Applications

C++-GUI-Programming-with-Qt-4-2st-ed.pdf

هم برای شروع تا تسلط کافی اند! من از نت گرفتمشون!:o
پروژه های لینوکس رو هم از اینترنت یکجا دانلود کردم بیشتر از 100 مورد با qt !!
از GPIO گرفته تا.... هرچیزی!
یه چیز دیگه ای هم پیدا کردم Qt_SDK پس این مورد چیه؟

sarab1
02-12-2013, 00:21
سلام
کسی هست که برنامه نویسی لینوکس برای کنترل gpio و سایر پورت های روی برد arm مثل usb آموزش بده؟


usb رو من خودم می تونم راه اندازی کنم تو لینوکس با libusb برای سایر موارد هنوز ...
مثلا با pic 18f داده های سنسور های متصل رو بگیرید و با usb به برد arm linux بفرستید و با یک gui کنترلش کنید!:0013::0013::0013::0013: و حتی نمایش نمودار مثلا تغتترات دمایی:018:

Mehmat
02-12-2013, 13:52
usb رو من خودم می تونم راه اندازی کنم تو لینوکس با libusb برای سایر موارد هنوز ...
مثلا با pic 18f داده های سنسور های متصل رو بگیرید و با usb به برد arm linux بفرستید و با یک gui کنترلش کنید!:0013::0013::0013::0013: و حتی نمایش نمودار مثلا تغتترات دمایی:018:

مثلا من می خوام یه سری اطلاعت از خروجی A/D با سرعت بالا High speed یو اس بی به برد آرم منتقل کنم بعد از پردازش ریاضی روی پورت GPIO به واسطه یک ماژول بیسیم (مثلا RFXX ) یک دستور رو ارسال کنم.
یه مقدار قضیه پردازش Real time میشه با لینوکس.

اگر شما آموزش می دید هزینه اش رو من بهشما پرداخت می کنم

مرسی

sarab1
02-12-2013, 15:52
مثلا من می خوام یه سری اطلاعت از خروجی A/D با سرعت بالا High speed یو اس بی به برد آرم منتقل کنم بعد از پردازش ریاضی روی پورت GPIO به واسطه یک ماژول بیسیم (مثلا RFXX ) یک دستور رو ارسال کنم.
یه مقدار قضیه پردازش Real time میشه با لینوکس.

اگر شما آموزش می دید هزینه اش رو من بهشما پرداخت می کنم

مرسی

نرخ نمونه برداری تون چقدره؟ من full speed کار کردم حداکثر تا 1 مگا بایت می تونم داده بفرستم شما چند بیتی منظورتون هست؟ یکم توضیح کاملتر:wink::wink:

Mehmat
02-12-2013, 17:52
نرخ نمونه برداری تون چقدره؟ من full speed کار کردم حداکثر تا 1 مگا بایت می تونم داده بفرستم شما چند بیتی منظورتون هست؟ یکم توضیح کاملتر:wink::wink:

۱ مگابایت خوبه فعلا پروژه ی خاصی رو شروع نکردم بیشتر می خوام نحوه کار کردن با این پورت ها مثلا یا همین libusb در لینوکس رو یاد بگیرم. اگر شما جایی تدریس می کنید آدرسش را بدهید لطف؟. یا اگر جزوه آموزشی خلاصه دارید من از شما خریداری میکنم :wink:

dariush_ab
03-12-2013, 00:11
سه تا کتاب به نام های :
Fundations-of-qt-development

the.book.of.qt.4.-.the.art.of.building.qt.applications

c++-gui-programming-with-qt-4-2st-ed.pdf

هم برای شروع تا تسلط کافی اند! من از نت گرفتمشون!
پروژه های لینوکس رو هم از اینترنت یکجا دانلود کردم بیشتر از 100 مورد با qt !!


با سلام.
مهندس کدوم یکی از این کتابها از دو تای دیگه بهتر هستن؟
ممکنه لینک دانلود پروژه ها رو لطف کنید؟
با تشکر فراوان.

sarab1
03-12-2013, 22:20
۱ مگابایت خوبه فعلا پروژه ی خاصی رو شروع نکردم بیشتر می خوام نحوه کار کردن با این پورت ها مثلا یا همین libusb در لینوکس رو یاد بگیرم. اگر شما جایی تدریس می کنید آدرسش را بدهید لطف؟. یا اگر جزوه آموزشی خلاصه دارید من از شما خریداری میکنم :wink:
واقعیتش من جای خاصی تدریس نمیکنم و جزوه ای هم ...
سعی میکنم اگه فرصتی پیش اومد یه راهکار هایی بهتون بدم:0013::0013::0013:

sarab1
03-12-2013, 22:21
با سلام.
مهندس کدوم یکی از این کتابها از دو تای دیگه بهتر هستن؟
ممکنه لینک دانلود پروژه ها رو لطف کنید؟
با تشکر فراوان.
لینک دانلود از سایت : You can see links before reply

در مورد کتاب ها هم دو مورد اول برای شروع خوب هستن ولی کتاب سومی به نظرم خیلی خیلی کامله!!:wink::wink::wink:

dariush_ab
04-12-2013, 00:38
لینک دانلود از سایت : You can see links before reply

سلام.
خیلی ممنون فقط یک مسئله : کدوم قسمت و مال کدوم برد رو شما دانلود کردید؟
با تشکر مجدد.

sarab1
12-12-2013, 18:26
سلام.
خیلی ممنون فقط یک مسئله : کدوم قسمت و مال کدوم برد رو شما دانلود کردید؟
با تشکر مجدد.
از تموم کد های استفاده کردم تمام برد ها!

sarab1
12-12-2013, 21:34
البته خیلی دنبال سورس کد a8 ها گشتم ولی چیزی عایدم نشد!
ولی فکر کنم مثال ها داخل ایمیجهای 4 گیگا بایتی باشند سعی میکنم یکیشو دانلود کنم اگه تونستم مثال هاش رو پیدا کنم خبر میدم :0013::0013::0013:

titery
18-03-2014, 12:22
سلام
برای ارتباط با پورت سریال در QT باید چه کار کنم(مثلا دیتای رو با یک میکرو دیگر رد و بدل کنم)
درضمن آقای sarab1 (You can see links before reply) امکانش هست لطف کنید لینک دانلود مثال هایی که گفتید برای QT نوشته شده،رو بگید