1 Ekim 2017 Pazar

pic basic pro pic18f452 fuse config sigorta ayarları


Pic18f serisi için proton basic ve ccs c kullanıyorum. Geçen yıl pbp ile pic16f887 için kodlama yapmıştım. Artık pic16f887 yetersiz kaldığı için pic18f452 kullanmaya karar verdim. Pic basic pro ile pic18f452 kullanabilmek için mcs ayarları ve inc dosyaları ayarları yapılması gerekiyor. Bu bilgilerden yola çıkarak pic18f4520 veya pic18f4550 gibi işlemcileri pic basic pro kullanabilirsiniz.

1- Öncelikle c:pbp klasörü içindeki kullanacağımız işlemcinin inc dosyasını düzenlemek gerekiyor. Ben pic18f452 kullandığım için 18F452.INC  dosyasını notepad ile açıyoruz ve aşağıdaki satırlar karşımıza çıkar.
Görüldüğü gibi config satırlarını ; işareti ile kapattım. Neden derseniz mcs önce bu dosyaya bakıyor. Biz bu dosyayı kullanmayacağız. Biz proteus içindeki mpasm klasöründeki 18F452.INC  dosyasını kullanacağız. Yani proteusu bilgisayarınıza kurmanızda fayda var. __Config satırlarını ; ile kapatıp dosyayı kaydedip kapatınız.

;****************************************************************
;*  18F452.INC                                                  *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                   *
;*  Notice    : Copyright (c) 2005 microEngineering Labs, Inc.  *
;*              All Rights Reserved                             *
;*  Date      : 12/16/05                                        *
;*  Version   : 2.47                                            *
;*  Notes     :                                                 *
;****************************************************************
        NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F452, r = dec, w = -311, w = -230, f = inhx32
        INCLUDE "P18F452.INC"   ; MPASM  Header
        ;__CONFIG    _CONFIG1H, _OSCS_OFF_1H & _XT_OSC_1H
        ;__CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
        ;__CONFIG    _CONFIG4L, _LVP_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START EQU 0F00000h

BLOCK_SIZE EQU 8

2- Şimdi işler biraz karışmaya başlıyor :)  c:program files içindeki proteus klasörü içindeki mpasm klasörünü buluyoruz. Bendeki dizin şu şekilde:

C:\Program Files\Labcenter Electronics\Proteus 8 Professional\Tools\MPASM

MPASM klasöründeki 18F452.INC  dosyasını notepad ile açıyoruz ve dosyanın sonundaki bütün config ayarlarını açıksa ; ile kapatıyoruz. Bu satırların altındakiler kapatılır dosya kaydedilir ve kapatılır. 

;----- CONFIG1H Options --------------------------------------------------
;----- CONFIG2L Options --------------------------------------------------
;----- CONFIG2H Options --------------------------------------------------
;----- CONFIG3H Options --------------------------------------------------
;----- CONFIG4L Options --------------------------------------------------
;----- CONFIG5L Options --------------------------------------------------
;----- CONFIG5H Options --------------------------------------------------
;----- CONFIG6L Options --------------------------------------------------
;----- CONFIG6H Options --------------------------------------------------
;----- CONFIG7L Options --------------------------------------------------
;----- CONFIG7H Options --------------------------------------------------

Bendeki düzenlediğim dosya satırları aşağıdaki gibi:
;----- CONFIG1H Options --------------------------------------------------
;_LP_OSC              EQU  H'F8'    ; LP oscillator
;_LP_OSC_1H           EQU  H'F8'    ; LP oscillator
;_XT_OSC              EQU  H'F9'    ; XT oscillator
;_XT_OSC_1H           EQU  H'F9'    ; XT oscillator
;_HS_OSC              EQU  H'FA'    ; HS oscillator
_HS_OSC_1H           EQU  H'FA'    ; HS oscillator
;_RC_OSC              EQU  H'FB'    ; RC oscillator
;_RC_OSC_1H           EQU  H'FB'    ; RC oscillator
;_EC_OSC              EQU  H'FC'    ; EC oscillator w/ OSC2 configured as divide-by-4 clock output
;_EC_OSC_1H           EQU  H'FC'    ; EC oscillator w/ OSC2 configured as divide-by-4 clock output
;_ECIO_OSC            EQU  H'FD'    ; EC oscillator w/ OSC2 configured as RA6
;_ECIO_OSC_1H         EQU  H'FD'    ; EC oscillator w/ OSC2 configured as RA6
;_HSPLL_OSC            EQU  H'FE'    ; HS oscillator with PLL enabled/Clock frequency = (4 x FOSC)
;_HSPLL_OSC_1H         EQU  H'FE'    ; HS oscillator with PLL enabled/Clock frequency = (4 x FOSC)
;_RCIO_OSC            EQU  H'FF'    ; RC oscillator w/ OSC2 configured as RA6
;_RCIO_OSC_1H         EQU  H'FF'    ; RC oscillator w/ OSC2 configured as RA6

;_OSCS_ON_1H          EQU  H'DF'    ; Oscillator system clock switch option is enabled (oscillator switching is enabled)
;_OSCS_OFF_1H         EQU  H'FF'    ; Oscillator system clock switch option is disabled (main oscillator is source)

;----- CONFIG2L Options --------------------------------------------------
_PWRT_ON_2L           EQU  H'FE'    ; PWRT enabled
;_PWRT_OFF_2L         EQU  H'FF'    ; PWRT disabled

_BOR_OFF_2L           EQU  H'FD'    ; Brown-out Reset disabled
;_BOR_ON_2L           EQU  H'FF'    ; Brown-out Reset enabled

;_BORV_45_2L          EQU  H'F3'    ; VBOR set to 4.5V
;_BORV_42_2L          EQU  H'F7'    ; VBOR set to 4.2V
;_BORV_27_2L          EQU  H'FB'    ; VBOR set to 2.7V
;_BORV_20              EQU  H'FF'    ; VBOR set to 2.0V
_BORV_20_2L           EQU  H'FF'    ; VBOR set to 2.0V

;----- CONFIG2H Options --------------------------------------------------
_WDT_OFF_2H           EQU  H'FE'    ; WDT disabled (control is placed on the SWDTEN bit)
;_WDT_ON_2H           EQU  H'FF'    ; WDT enabled

;_WDTPS_1_2H          EQU  H'F1'    ; 1:1
;_WDTPS_2_2H          EQU  H'F3'    ; 1:2
;_WDTPS_4_2H          EQU  H'F5'    ; 1:4
;_WDTPS_8_2H          EQU  H'F7'    ; 1:8
;_WDTPS_16_2H         EQU  H'F9'    ; 1:16
;_WDTPS_32_2H         EQU  H'FB'    ; 1:32
;_WDTPS_64_2H         EQU  H'FD'    ; 1:64
;_WDTPS_128_2H        EQU  H'FF'    ; 1:128

;----- CONFIG3H Options --------------------------------------------------
_CCP2MX_OFF           EQU  H'FE'    ; CCP2 input/output is multiplexed with RB3
_CCP2MX_OFF_3H        EQU  H'FE'    ; CCP2 input/output is multiplexed with RB3
;_CCP2MX_ON           EQU  H'FF'    ; CCP2 input/output is multiplexed with RC1
;_CCP2MX_ON_3H        EQU  H'FF'    ; CCP2 input/output is multiplexed with RC1

;----- CONFIG4L Options --------------------------------------------------
_STVR_OFF_4L          EQU  H'FE'    ; Stack Full/Underflow will not cause RESET
;_STVR_ON_4L          EQU  H'FF'    ; Stack Full/Underflow will cause RESET

_LVP_OFF_4L           EQU  H'FB'    ; Low Voltage ICSP disabled
;_LVP_ON_4L           EQU  H'FF'    ; Low Voltage ICSP enabled

;_DEBUG_ON_4L         EQU  H'7F'    ; Background Debugger enabled. RB6 and RB7 are dedicated to In-Circuit Debug.
_DEBUG_OFF_4L         EQU  H'FF'    ; Background Debugger disabled. RB6 and RB7 configured as general purpose I/O pins.

;----- CONFIG5L Options --------------------------------------------------
;_CP0_ON_5L           EQU  H'FE'    ; Block 0 (000200-001FFFh) code protected
_CP0_OFF_5L           EQU  H'FF'    ; Block 0 (000200-001FFFh) not code protected

;_CP1_ON_5L           EQU  H'FD'    ; Block 1 (002000-003FFFh) code protected
_CP1_OFF_5L           EQU  H'FF'    ; Block 1 (002000-003FFFh) not code protected

;_CP2_ON_5L           EQU  H'FB'    ; Block 2 (004000-005FFFh) code protected
_CP2_OFF_5L           EQU  H'FF'    ; Block 2 (004000-005FFFh) not code protected

;_CP3_ON_5L           EQU  H'F7'    ; Block 3 (006000-007FFFh) code protected
_CP3_OFF_5L           EQU  H'FF'    ; Block 3 (006000-007FFFh) not code protected

;----- CONFIG5H Options --------------------------------------------------
;_CPB_ON_5H           EQU  H'BF'    ; Boot Block (000000-0001FFh) code protected
_CPB_OFF_5H           EQU  H'FF'    ; Boot Block (000000-0001FFh) not code protected

;_CPD_ON_5H           EQU  H'7F'    ; Data EEPROM code protected
_CPD_OFF_5H           EQU  H'FF'    ; Data EEPROM not code protected

;----- CONFIG6L Options --------------------------------------------------
;_WRT0_ON_6L          EQU  H'FE'    ; Block 0 (000200-001FFFh) write protected
_WRT0_OFF_6L          EQU  H'FF'    ; Block 0 (000200-001FFFh) not write protected

;_WRT1_ON_6L          EQU  H'FD'    ; Block 1 (002000-003FFFh) write protected
_WRT1_OFF_6L          EQU  H'FF'    ; Block 1 (002000-003FFFh) not write protected

;_WRT2_ON_6L          EQU  H'FB'    ; Block 2 (004000-005FFFh) write protected
_WRT2_OFF_6L          EQU  H'FF'    ; Block 2 (004000-005FFFh) not write protected

;_WRT3_ON_6L          EQU  H'F7'    ; Block 3 (006000-007FFFh) write protected
_WRT3_OFF_6L          EQU  H'FF'    ; Block 3 (006000-007FFFh) not write protected

;----- CONFIG6H Options --------------------------------------------------
;_WRTC_ON_6H          EQU  H'DF'    ; Configuration registers (300000-3000FFh) write protected
_WRTC_OFF_6H          EQU  H'FF'    ; Configuration registers (300000-3000FFh) not write protected

;_WRTB_ON_6H          EQU  H'BF'    ; Boot Block (000000-0001FFh) write protected
_WRTB_OFF_6H          EQU  H'FF'    ; Boot Block (000000-0001FFh) not write protected

;_WRTD_ON_6H          EQU  H'7F'    ; Data EEPROM write protected
_WRTD_OFF_6H          EQU  H'FF'    ; Data EEPROM not write protected

;----- CONFIG7L Options --------------------------------------------------
;_EBTR0_ON_7L         EQU  H'FE'    ; Block 0 (000200-001FFFh) protected from Table Reads executed in other blocks
_EBTR0_OFF_7L         EQU  H'FF'    ; Block 0 (000200-001FFFh) not protected from Table Reads executed in other blocks

;_EBTR1_ON_7L         EQU  H'FD'    ; Block 1 (002000-003FFFh) protected from Table Reads executed in other blocks
_EBTR1_OFF_7L         EQU  H'FF'    ; Block 1 (002000-003FFFh) not protected from Table Reads executed in other blocks

;_EBTR2_ON_7L         EQU  H'FB'    ; Block 2 (004000-005FFFh) protected from Table Reads executed in other blocks
_EBTR2_OFF_7L         EQU  H'FF'    ; Block 2 (004000-005FFFh) not protected from Table Reads executed in other blocks

;_EBTR3_ON_7L         EQU  H'F7'    ; Block 3 (006000-007FFFh) protected from Table Reads executed in other blocks
_EBTR3_OFF_7L         EQU  H'FF'    ; Block 3 (006000-007FFFh) not protected from Table Reads executed in other blocks

;----- CONFIG7H Options --------------------------------------------------
;_EBTRB_ON_7H         EQU  H'BF'    ; Boot Block (000000-0001FFh) protected from Table Reads executed in other blocks

_EBTRB_OFF_7H         EQU  H'FF'    ; Boot Block (000000-0001FFh) not protected from Table Reads executed in other blocks

3- Şimdi bu satırların pbp ve mcs üzerindeki karşılıklarına bakalım. Gördüğünüz gibi her config satırındaki bana lazım olanları asm  endasm arasına ekledim. Bütün 18f işlemciler için microchip 18f pdf dosyasını kullanarak fuse ayarlarınızı yapabilirsiniz. Bu kodlar ile pic18f452 portb bütün bitler 1 ve 0 olmaktadır tam bir test kodu yani, 8mhz kristal kullandım. 4mhz için xt açmalısınız MPASM klasöründeki 18F452.INC dosyasından. 

ÖRNEK PBP KODU:

asm    
 __CONFIG _CONFIG1H, _HS_OSC_1H   
 __CONFIG _CONFIG2L, _BOR_OFF_2L & _BORV_20_2L & _PWRT_ON_2L       
 __CONFIG _CONFIG2H, _WDT_OFF_2H     
 __CONFIG _CONFIG3H, _CCP2MX_OFF & _CCP2MX_OFF_3H     
 __CONFIG _CONFIG4L, _STVR_OFF_4L & _LVP_OFF_4L & _DEBUG_OFF_4L    
 __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L    
 __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H    
 __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L    
 __CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H    
 __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L    
 __CONFIG _CONFIG7H, _EBTRB_OFF_7H 
endasm

define OSC 8
ADCON1 = 7
TRISA=000000
'TRISB=000000
TRISB = $00

TRISC=000000
TRISD=000000
TRISE=000000
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
pause 500

BASLA:

PORTB=255
PAUSE 1000
PORTB=0
PAUSE 1000
GOTO BASLA


end

4- Şimdi bütün bu işlemleri yaptıysanız sıra mcs ayarı yapmaya geliyor:

Öncelikle view menüsünden compile and program options içindeki use PBPL seçiniz:



Daha sonra aynı menüden assembler seçilir ve proteus klasöründeki mpasm klasörü find manually ile mcsye gösterilir, use mpasm tiki şeçilip ok yapılır:




Şimdi mcs ile pic18f452 seçip yukarıdaki örnek kodu derlerseniz hex kodu oluşur. Ancak unutmayın 16f serisi için kod derleyeceğiniz zaman use pbpl ve use mpasm tiklerini kapatınız. 16f için bunlara gerek yoktur. Kolay gelsin.

NOT: Bilgisayarım 32 bit olduğu için 64 bit testi yapamadım. Ancak linkte mpasm ile 64 derleme yapılabileceği anlatılmış. Eğer bilgisayarınız 64 bit ise aşağıdaki linkteki bilgileri inceleyiniz:

http://etepic.com/index.php/topic,1687.0.html

devamını oku ...

23 Eylül 2017 Cumartesi

eagle ground gnd plane nasıl yapılır



Eğer eagle kullanıyorsanız gnd plane çizmek gayet kolaydır. Gnd plane'e dahil etmek istediğiniz bütün padleri not almanız iyi olur. Örneğin IC1 3 nolu pin gibi. 

1- Pcb çizildikten sonra eagle çalıştırma çubuğuna run length yazılır enter yapılır. Açılan pencerelere ok denir.

2- Sonra poligon sembolüne tıklanarak gnd-plane yapılacak alan istenilen katman seçilerek bakır yol çizer gibi belirlenir.

Poligon ile çizilen alan nokta nokta çizgi halinde belirir.

3- Name değiştirme sembolüne tıklanır ve poligona tıklanır. Çalıştırma çubuğuna name yazılarakda işlem yapılabilir. Poligon adı gnd olarak değiştirilir.

4- Daha sonra rasnest sembolüne tıklanır ve gnd plane oluşturulmuş olur. Run length yapılarak yine ok yapılır.
PCB dosyası tekrar açıldığında gnd plane görülmez. Görmek için rasnest butonuna tıklanmalıdır.

Poligon özellikleri şu şekilde değiştirilebilir:

İ  butonuna basılır ve poligona tıklanır. İzolate en ideal değer 0,42 dir ancak 0,82 ye kadar değer verilebilir.


NOT: Örneğin bir kondansatörün eksi pinini gnd plane e eklemek istiyorsanız pcb ile pin üzerinde geçip o pcbye gnd adı verilir ve pcb gndye dahil edilir. Ground plane'e eklenecek padlere de gnd adını verdikçe gnd plane'e eklenirler.

Anlatımın videosunu linkten izleyiniz:

https://www.youtube.com/watch?v=HO57DCDtgK0



devamını oku ...

eagle gerber dosyası nasıl yapılır



Bu yazımda sizlere eagle gerber dosyalarının nasıl hazırlanacağını anlatacağım. Buradaki anlatımımla profesyonel ürünlerim için 2 katmanlı gerber dosyalarını hazırlıyorum.

1- Çiziminiz tam olarak bittikten sonra (ground plane dahil) USER INTERFACE menüsünden ALWAYS VECTOR seçili olmalı. Şimdi file menüsünden cam processor açılır ve OUTPUT DEVICE kısmından GERBER_RS274X seçilir. Alttaki görselde görüldüğü gibi SECTİON kısmına component yazıp 1-17-18 bölümleri seçiyoruz. Ve file kısmına örneğin devrem.cmp yazıyoruz ve ADD butonuna tıklıyoruz. Component adında bir bölümümüz oluştu.




2- Açılan 2. sekmeyi seçip alttaki görselde görüldüğü gibi  SECTİON kısmına solder yazıp 16-17-18 bölümleri seçiyoruz. Ve file kısmına örneğin devrem.sol yazıyoruz ve ADD butonuna tıklıyoruz.




3-  Açılan 3. sekmeyi seçip alttaki görselde görüldüğü gibi  SECTİON kısmına component silk yazıp 20-21-25 bölümleri seçiyoruz. Ve file kısmına örneğin devrem.plc yazıyoruz ve ADD butonuna tıklıyoruz.



4-  Açılan 4. sekmeyi seçip alttaki görselde görüldüğü gibi  SECTİON kısmına solder silk yazıp 20-22-26 bölümleri seçiyoruz. Ve file kısmına örneğin devrem.pls yazıyoruz ve ADD butonuna tıklıyoruz.




5-  Açılan 5. sekmeyi seçip alttaki görselde görüldüğü gibi  SECTİON kısmına component stop yazıp 29. bölümü seçiyoruz. Ve file kısmına örneğin devrem.stc yazıyoruz ve ADD butonuna tıklıyoruz.



6-  Açılan 6. sekmeyi seçip alttaki görselde görüldüğü gibi  SECTİON kısmına solder stop yazıp 30. bölümü seçiyoruz. Ve file kısmına örneğin devrem.sts yazıyoruz ve ADD butonuna tıklıyoruz.



7-  Açılan 7. sekmeyi seçip alttaki görselde görüldüğü gibi  OUTPUT DEVICE kısmından EXCELLON seçilir. Daha sonra SECTİON kısmına drill yazıp 44-45 bölümleri seçiyoruz. Ve file kısmına örneğin devrem.ncd yazıyoruz ve ADD butonuna tıklıyoruz.



8- Şu ana kadar 7 bölümde gerber dosyalarımızı oluşturduk. Şimdi file-save job ile dosyamıza standart.cam adını verip kaydediyoruz:

9- PROCESS JOB butonuna basarak gerber dosyalarımız oluşturuyoruz. Oluşan dosya uzantıları şu şekilde olmalı: cmp  dri  gpi  ncd  plc  pls  sol  stc  sts



10- Oluşan bu dosyalar gerber viewer programı ile kontrol edilir:




İLAVE BİLGİLER:
gerb274x-4layer: standartı seçildiyse son olarak oluşturulan dosyalar aşağıdaki uzantılara sahip olmalıdır. (4 katmanlı pcb için)
.drl, .dri, .drd, .crs, .gpi,   .cmp, .sol,.plc, .stc, .sts,.pls,.l15, .ly2, .crc”
NOT: Oluşturduğunuz gerber dosyalarını http://mayhewlabs.com/3dpcb sitesine yükleyerek kartınızın 3D görüntüsünü  oluşturabilirisiniz.
Gerber dosyalarınızı  ViewMate programına yükleyerek  de katmanlarınızı görebilirsiniz.
Umarım faydalı olur.
devamını oku ...

25 Temmuz 2017 Salı

Elektronik Yazılım Üzerine Satılık Girişim

2010 Yılından bu yana elektronik kit devre ve yazılım sektöründe ürünler geliştiren sedaelektronik.com satılıktır. Bu girişim akıllı cihazlardan, bilgisayarlardan cihaz/makina kontrolü sağlayan elektronik devreler üretmektedir. Sitedeki ürünlerin bütün üretim dosyaları (kaynak kod pcb) fiyata dahildir. Kontrol programları temel kaynak kodları verilecektir. Elimizdeki ürünlerin hepsi de verilecektir. Pcb dosyaları eagle ve expresspcb dir. Üretim için beraber çalıştığımız firma bilgileri verilecektir. Anroid market ve apple store markette yayınlana uygulamaları b4x kodları verilecektir. 
Fiyata kdv dahildir. Şirketlere veya kişilere fatura kesilir. 
Sedaelektronik.com Web sitesinde ürünler hakkında ayrıntılı bilgilere ulaşılabilir. Kategoriler menüsünde bütün ürünlere ulaşılabilir.
biembilgisayar.com (Bu sitede girişimin bir parçasıdır ve ücretsiz verilecektir)
Ürün Kategorileri:
Usb port röle kontrol devreleri
Android röle kontrol ürünleri
Ethernet röle kontrol kartları
Gsm röle kontrol kartları
Isı nem ölçüm devreleri
Yayındaki mobil uygulamalar (gsm ürünleri için)
Bu girişimin fiyatı 3.500.000TL.dir. Fiyata KDV dahildir. İletişim Linki İçin buraya tıklayınız.


devamını oku ...

For Sale initiative on Electronic Software Sector seda elektronik

CONTACT US : +905412626900  or   d.nacikaya@gmail.com
Since 2010 the electronics kit is for sale at sedelektronik.com which is developing products in circuit and software industry. This initiative produces intelligent devices, electronic circuits that provide device / machine control from computers. All the production files (source code pcb) of the products on the site are included in the price list. Control programs will be provided with basic source codes. All the products in our hand will be given. The pcb files are eagle and expresspcb dir. The company information we will work with for production will be given. Anroid market and apple store market will be given b4x codes for publishing applications.
Included in VAT. Corporations or individuals are billed. Other taxes belong to the buyer.
Detailed information about products can be accessed on Sedaelektronik.com website. All categories of products can be accessed through the categories menu.
Biembilgisayar.com (This site is part of the initiative and will be provided free of charge)
Product categories:
Usb port relay control circuits
Android relay control products
Ethernet relay control cards
Gsm relay control cards
Temperature humidity measurement circuits
Broadcast mobile apps (for gsm products)
The price of this enterprise is 3.500.000 TL. (1.000.000 USD) Included in VAT.  Other taxes belong to the buyer. CONTACT US : +905412626900 or   d.nacikaya@gmail.com


devamını oku ...

18 Temmuz 2017 Salı

ios programlamaya başlamadan önce




Hazırladığım videoyu linkten izleyebilirsiniz:

https://www.youtube.com/watch?v=jj2SsfwKxI4




devamını oku ...

13 Temmuz 2017 Perşembe

seda elektronik iphone ipad ios gsm röle kontrol uygulaması yayınlandı

Seda elektronik için hazırlanan ios uygulamasına aşağıdaki linkte ulaşabilirsiniz:

https://itunes.apple.com/app/id1251358717

devamını oku ...

9 Temmuz 2017 Pazar

ipa dosyasından c kaynak koduna nasıl ulaşabilirim

Apk android dosyasından kaynak koda ulaşılabildiği gibi, iphone kurulum dosyasından kaynak c koduna da ulaşılabilir. Bir ara inceleyeceğim. Webden yayınlanan ipa dosyalarını incelemek bir ios yazılımcısına çok değerli bilgiler verebilir. Linkte ingilizce açıklamalar mevcut:

https://www.techwalla.com/articles/how-to-convert-ipa-to-c-source

Sayfanın pdf şekline aşağıdaki linkten ulaşabilirsiniz:

https://drive.google.com/file/d/0B9F3CyDwz-nIbWJXQndJN3Vfcmc/view?usp=sharing

devamını oku ...

8 Temmuz 2017 Cumartesi

mac terminal kullanımı


Şayet mac bilgisayarınızla yazılım geliştirmek veya log dosyalarınıza bakmak istiyorsanız terminal komutlarını bilmeniz gerekir. Ana işlemler için kullanılabilecek bilgileri aşağıya ekliyorum. Sade bir anlatım olacak. Daha önce dos'un herhangi bir sürümünü kullandıysanız çok rahat anlarsınız.

Öncelikle Launchpad/diğer yolundan terminal dosyamızı çalıştırıyoruz.

Buna benzer 2 satır çıkar karşınıza:

Last login: Sat Jul 8 19:07:18 on ttys000
MacbookPro-macbook-pro:~ AppleMacbook$_  

$ işareti sonrası imleç var.

İmlecin olduğu yerden itibaren komut enter yapılabilir. AppleMacbook$ benim mac'imin adı sizinki başka birşey olabilir. Şimdi komutlar:

pwd : Bu komut nerede olduğumuzu bildirir. pwd yazıp enter yapıldığında bulunduğumuz yer gösterilir.

Ls : Bulunduğumuz yerdeki bütün klasör ve dosyaları gösterir. 

cd : Bu komut bir klasör içine girmek için kullanılır. Örneğin Ls yaptık ve desktop diye bir klasör gördük. Şimdi cd desktop yazıp enter yaparsak mac'imizin masa üstüne terminal üzerinden ulaşmış oluruz.

cd ..   :  Bir klasöre girdik ve şimdi çıkmak istiyoruz. Aşağıdaki örnekte içine girilen desktop klasöründen çıkış gösteriliyor:

cd .. desktop

cd ile .. arasında bir boşluk var. Bu önemli.

xcrun : İleri seviye komutları görmek için kullanılır. Bu komutu çalıştırdığınızda aşağıdaki liste açılır. Örneğinverisyon öğrenmek için: xcrun --version yazıp enter yapılır. Xcode yüklü bir mac'te çalışır.


Usage: xcrun [options] ... arguments ...

Find and execute the named command line tool from the active developer
directory.

The active developer directory can be set using `xcode-select`, or via the
DEVELOPER_DIR environment variable. See the xcrun and xcode-select manual
pages for more information.

Options:
  -h, --help                  show this help message and exit
  --version                   show the xcrun version
  -v, --verbose               show verbose logging output
  --sdk             find the tool for the given SDK name
  --toolchain           find the tool for the given toolchain
  -l, --log                   show commands to be executed (with --run)
  -f, --find                  only find and print the tool path
  -r, --run                   find and execute the tool (the default behavior)
  -n, --no-cache              do not use the lookup cache
  -k, --kill-cache            invalidate all existing cache entries
  --show-sdk-path             show selected SDK install path
  --show-sdk-version          show selected SDK version
  --show-sdk-build-version    show selected SDK build version
  --show-sdk-platform-path    show selected SDK platform path
  --show-sdk-platform-version show selected SDK platform version

man : manual yani kullanım kılavuzudur. cd komutu hakkında bilgi almak için şöyle kullanılır: man cd 

Açılan sayfadan çıkmak için Q harfine basmanız yeterlidir.


mkdir   rm   touch  rmdir  komutları:

mkdir komutu ile bulunduğumuz dosya için de başka bir dosya yaratabiliriz. rmdir komutu ile de yarattığımız dosyayı kaldırabiliriz. Benzer şekilde dosya yaratmak için touch kaldırmak için de rm komutunu kullanabiliriz.
say : Adından da anlaşıldığı gibi söylemek yani yazdığınız bir kelimeyi mac bilgisayarınıza okutabilirsiniz. Örneğin say yazıp enter yapıyoruz ve sonra merhaba yazıp enter yapıyoruz, ve mac merhaba diyor. Çıkmak için terminali kntrl+c ile kapatın.

uptimeMac’imizi uzun süredir kapatmıyor olabiliriz. Bilgisayarımızın ne kadar süredir çalışmakta olduğunu uptime komutu ile kolaylıkla öğrenebiliriz.

yes : Mac bilgisayarınız %100 çalıştırır. Macte bir sorun olup olmadığını bu komutla test edebilirsiniz. Çıkmak için kntrl+c yapınız.

caffeinate : Bu komutla Mac hiç bir zaman uykuya girmez. kntrl+c ile komutu iptal edebilirsiniz.

topBilgisayarımızda çalışan tüm işlemleri ve detayları izlemek için terminale top komutunu vermemiz yeterli. Çıkmak için terminali kntrl+c ile kapatın.


history : History komutu ile terminale girdiğiniz andan bu yana hangi komutları verdiğinize bakabilirsiniz.

clear : Ekranı temizler.

echo : Yazdığınızı tekrarlar. Örneğin echo  selam yazıp enter yapın.

Mac ile terminalde tetris oynamak istermisiniz. bunu için aşağıdaki işlemleri uygulayın:

emacs yazıp enter tuşuna basın. Sonra esc tuşuna basın. sonra x tuşuna basın. Açılan pencereye tetris yazın ve oynayın. Çıkmak için terminali kapatın. kntrl+c burada işe yaramıyor :-)
devamını oku ...