8 Ağustos 2007 Çarşamba

Kod içerisinden başka bir programa ulaşmak

Bunun için 3-4 tane yol var, birincisi forklamak bildiin çatal işte....

çağıracağımız program ping olsun
evvela parametreleri belirleriz.

char *argcv[]={"ping", "192.168.2.199"};

akabinde forklayarak çağırırız.

if ( (pid = fork()) < 0) {
return -1;
} else if(pid) {
execvp(argcv[0], argcv);
}

26 Temmuz 2007 Perşembe

Cscope

cscope diye bir şey öğrendim acayip yararlı, tam süper bişey :)

şincık bir folderın içinde

cscope -bR

yazıyoruz

akabinde

cscope -R yazdıkmıydı açılıyo program.
Burada

Find this C symbol:
Find this global definition:
Find functions called by this function:
Find functions calling this function:
Find this text string:
Change this text string:
Find this egrep pattern:
Find this file:
Find files #including this file:

gibi bir sürü seçenek var ve istediğimiz yere aradığımız şeyi girerek buluyoruz, amacımıza ulaşıyoruz. Çok yararrlı efennim çok

18 Temmuz 2007 Çarşamba

JTAG

Dökümanları hatmedi JTAG ı çalıştırdıktan ve boarda eriştikten sonra...


erase 0x02000000 chip : bütün flashı siler

erase 0x02000000 0x10000 4 : u-boot sector'unu siler

erase 0x02040000 0x10000 2 : environment variables sector'unu siler

prog 0x02040000 /env_folder/environment.bin BIN : environment.bin dosyasında kaydedilmiş environment flasha yazar ( boyutu 0x1ffff i geçmemeli)

erase 0x02060000 0x10000 20 : kernel'ı siler

prog 0x02060000 /kern_folder/uImage BIN : uImage da ki kernel ı flasha yazar. ( boyutu 0x13ffff i geçmemeli)

flash a yazmak için

Kernel da uboot ta veya rootfs te değişiklik yaptıktan sonra bunları flash a yazmak için illa JTAG kullanmaya gerek yok

  • run update-uboot

bootloader ı günceller. Reboot etmek gerekir.


  • run update-kernel

kerneli günceller


  • run update-rootfs.sqh

    rootfs te yapılarn değişiklikleri günceller

24 Mayıs 2007 Perşembe

Race condition

Bazı değişkenlere veyahut yapılara farklı threadlerden erişiliyor ve bu değişkenlere bir şeyler set ediliyorsa mutex_lock yapmak gerektiğini biliyoruz.

Mutexi kilitlemezsek bi thread in yaptığı değişikliği diğeri görmez abuk subuk karmaşalara sıkıntısaal semptomlara rastlayabiliriz.

İşte bu sıkıntısal semptomlara Race Condition deniyormuş....

detaylı bilgi için ahanda wikipedia

http://en.wikipedia.org/wiki/Race_condition

22 Mayıs 2007 Salı

Cisco Router Emulator ~ Dynamips

Bu multicast mevzularını anlattık ta bunların emule edildiği programı atlamış olmayalım .... nasıl emula ediliyo bu routing işlemleri nasıl router set ediliyo filan mevzularına bakalım , bende bilmiyom şimdi bi yandan bakıp bi yandan yazıcam , şimdi diceksiniz .....(neyse çok küfür içeriyodu bu satırları sildim :)....)

(burdada sağlam küfür vardı :)) http://dynagen.org/ sitesine girip dynamips denen programı indiriyoruz...

akabinde bi tane de router.net diye bi prog -aslında belli formamtı olan bir text file- var onuda bi şekilde elde ediyoruz.

16 Mayıs 2007 Çarşamba

Multicast Routing P3

Efennim peki bu iş windows ta nasıl yapılırkine

şöyle ki cisco routing programımıdır nedir , efendim onda bi topoloji oluşturuyoruz ,
2 tane router tanımlıyoruz birbirine eth 0 ile bağlı olacak isimleri R! ve R2 olsun

R2 eth0 ile R1 e bağlı olacak (ip: 10.1.2.2)
R2 eth1 ile Video server a bağlı olacak (ip: 172.16.20.100)
R1 eth0 ile R2 ye bağlı olacak (ip: 10.1.2.4)
R1 eth1 ile client a veyahut bir switch e bağlı olacak (ip:192.168.2.100)

gelelim fasulyenin faydalarına ......

Multicast Routing P2

Efennim mrouted ın çalıştığını görmüştük , şimdi server addettiğimiz cihazdan bir program ile (ben VLC kullandım ) bir porta (1234 olabilir) bir multicast ip ile (224.1.1.1 olabilir) datayı basıyoruz (ben bi mp3 yolladım)

akabinde bi client kodu yazıyoruz (gerçi burda yazılmışı var)

#include

#define BUFFSIZE 255
#define GROUP_ADDR "224.1.1.1"
#define PORT_NUM 1234

11 Mayıs 2007 Cuma

Multicast Routing P1

Bu muhtemelen P1 olacak çünkü daha yapacak çok işim var gibi gözüküyor ....

neyse , maksat şu üzerine linux kurulu(slackware) bir makinayı(PC) , allayıp pullayıp bi şekil multicast router haline getircez ki, video server dan birkaç stream i alıp multicast a join olan kutulara yollıcaz.

velhasıl bunu yapmak için evvela kernel da gerekli parametlerin açılmış olması gerekiyor .

/usr/src/linux

9 Mayıs 2007 Çarşamba

Ndiswrapper

Bu ndisWrapper da ne ola ki , acaba yeni bir dürüm çeşidi mi ?

Hayır ...

Linux işletim sistemi altında wireless usb cihazınızı tanıtmak istiyosunuz lakin nene de başka bişey ..... Eh tam da bu aşamada
driver var Ndiswrapper denendevreye giriyor ( program http://ndiswrapper.sourceforge.net/joomla/)

Bu program Linux sürücüsü olmayan kablosuz kartların (pcmcia,usb) windows XP sürücüleri kullanılarak çalıştırmasını sağlıyor. desteklediği cihazlar da aha şurada : http://www.linuxant.com/driverloader