Tuesday, June 29, 2010

Суурилсан системийн хямдхан хавтан

Crosspost: http://mongolian-it.blogspot.com/2010/06/blog-post_26.html

Оюутан байхдаа Үйлдлийн системийн практик хэмээх нэгэн хичээл дээр сууж Motorola 68000 процессортой суурилсан систем (embedded system) програмчлах болов оо. Process scheduler өөрөө зохиох, GPIO (процессорын оролт гаралт) програмчлах гэх мэт зүйл хийх ёстой байлаа. Эхний өдөр яаж том төмөр дээр бичсэн код маань сериал портоор дамжиж суурилсан систем дээр хуулагдаж ажиллаад байгааг ойлгодоггүй, тэгээд суурилсан систем тун сонирхолтой санагдсан тул орой нь гэртээ очоод нэг гэрэлтдэг диод олж аваад сериал портын үзүүр дээр залгаж үзэв. RS232 сериал портын үзүүр -12 болон +12
вольтын хооронд хэлбэлзэж мэдээлэл дамжуулдаг тул юу гэж гэрэлтэх вэ дээ. (Уг нь параллель порт дээр залгасан бол асах байсан хэхэ) Үүнээс хойш суурилсан систем, тэр тусмаа микроконтроллер програмчлал сонирхох болсон билээ. Тухайн үед микроконтроллер програмчлалын/туршилтын хавтан их үнэтэй, над шиг шалдан оюутан худалдан авч чадахааргүй байв. 2005 онд сургуулиа төгсөөд эрдэм шинжилгээний ажилтан болсны дараа анхны цалингаараа Atmel STK500 гэдэг AVR микроконтроллер програмчлагч хавтан 100 еврогоор авч байж билээ. Тэр үеийг бодвол одоо микроконтроллер програмчлая гэвэл хямдхан хавтан байдаг болжээ. Хэрвээ суурилсан систем сонирхдог боловч их хэмжээний мөнгө зарах сонирхолгүй/чадалгүй хүмүүс байвал хэрэг болох болов уу гээд зарим нэгийг нь сонирхуулахаар шийдлээ:

MSP430 LaunchPad
Texas Instruments компани MSP430 хэмээх 16 битийн микроконтроллероо рекламдаж MSP430 LaunchPad гэж туршилтын хавтан хийжээ. 4.30$ -ын үнэтэй (2 пивоны үнэ гэсэн үг). 2 ширхэг микроконтроллер дагалдаж ирнэ. Shipping cost нь буюу тээвэрлэх хөлс нь үнэгүй гэж байгаа.

STM8S Discovery
STMicroelectronics компани STM8S хэмээх 8 битийн микроконтроллероо рекламдаж 10$ -ын үнэтэй STM8S Discovery гэдэг програмчлалын туршилтын хавтан хийжээ.

AVR Butterfly
Atmel компани AVR хэмээх 8 битийн микроконтроллероо рекламдаж AVR Butterfly хэмээх 20$ -ын үнэтэй туршилтын хавтан хийжээ. Эхний хоёр хавтантай харьцуулбал төрөл бүрийн мэдрэгч, LC дэлгэц болон speaker агуулсан учир юм гагнах дургүй хүмүүст хамгийн тохиромжтой. AVR микроконтроллер нь сонирхогчдын дунд хамгийн их тархсан микроконтроллеруудын нэг тул жишээ программ элбэг олддог.

Thursday, June 10, 2010

Сериал портоор файл солилцох

Crosspost: http://mongolian-it.blogspot.com/2010/06/blog-post_782.html

Сүүлийн хэдэн хоног хамаг цагаа оцон шувуу үйлдлийн системтэй Artila PAC-5010 хэмээх ARM9 эмбэддэд хавтантай ноцолдож өнгөрөөв. Сэриал портоор (монголчууд COM порт гэж яриад заншсан болохоос биш жинхэнэ нэр нь UART/RS232 юм) холбогдоод шууд бүрхүүл рүү нь хандаж болдог аж. Ингэж холбогдон хавтангаа тохируулах явцад өөрийн төмрөөс хэдэн ширхэг файл хавтан уруугаа хуулах хэрэгтэй болов. Энэ тохиолдолд хамгийн амархан арга нь хавтангаа сүлжээнд холбоод FTP/SSH ашиглан хуулах юм. Харамсалтай нь ойр хавьд илүү switch байгаагүй тул сэриал портоор файлаа зөөхөөс өөр аргагүйд хүрэв. Ингээд Гүүгл ахаас асуугаад kermit гэж програм байдгийг мэдэж авлаа. Энэ програмыг 80 аад оны дундуур хоорондоо хол орших төмрүүдийг утасны сүлжээ ашиглан модемоор холбож хоорондоо файл солилцоход ашигладаг байжээ. Одоо бол эмбэддэд систэм уруу сэриал портоор файл солилцоход л ашигладаг юм байна. За ингээд kermit ашиглан хэрхэн файл хуулах талаар бичье:
Эхлээд хэрэглэгчийн үндсэн хавтас дотор (эмбэддэд хавтан болон өөрийн төмөр дээр тус тус) .kermrc файл үүсгээд доорх текстийг хуулаад хадгалаарай.


set line /dev/ttyS0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5

Эхний мөр нь ямар сэриал порт ашиглан холбогдох вэ гэдгийг заана. Би эмбэддэд хавтан дээрээ /dev/ttyS0 ыг харин төмөр дээрээ USB2Serial хувиргагч ашигласан тул /dev/ttyUSB0 гэж тус тус бичсэн. Бусад мөрүүдийг өөрчлөх хэрэггүй. Эмбэддэд хавтангийн бүрхүүл дээр kermit -r гэж бичсэний дараа KERMIT READY TO RECEIVE... гэж гарч ирэнгүүт тэрминал программаа хаагаарай (тэрминал программаа хаахгүй бол сэриал порт чинь чөлөөлөгдөхгүй). Одоо төмөр дээрээ kermit -s filename гэж бичвэл файл тань хавтан руу хуулагдаж эхэлнэ.