Difference between revisions of "USRP: ClockTamer Flashing"

From OnnoWiki
Jump to navigation Jump to search
Line 3: Line 3:
 
Our main development platform is Ubuntu and to date it's the only tested build environment. We welcome any additions and corrections to this howto, especially build instructions for other platforms.
 
Our main development platform is Ubuntu and to date it's the only tested build environment. We welcome any additions and corrections to this howto, especially build instructions for other platforms.
  
# Install tools required for building firmware.
+
# Install tools required for building firmware.
sudo aptitude install gcc-avr avr-libc unzip
+
sudo aptitude install gcc-avr avr-libc unzip
  
 
Instructions for installing software for flashing are included into respective sections about flashing, because they depend on the tools you use.
 
Instructions for installing software for flashing are included into respective sections about flashing, because they depend on the tools you use.
Line 11: Line 11:
 
To check out source code and prepare it for building, run following commands in a directory of your choice:
 
To check out source code and prepare it for building, run following commands in a directory of your choice:
  
# Check out clock-tamer project
+
# Check out clock-tamer project
hg clone https://clock-tamer.googlecode.com/hg/ clock-tamer
+
hg clone https://clock-tamer.googlecode.com/hg/ clock-tamer
cd clock-tamer/board
+
cd clock-tamer/board
  
# Download LUFA 091122, unpack to clock-tamer/LUFA directory and patch it
+
# Download LUFA 091122, unpack to clock-tamer/LUFA directory and patch it
wget http://www.fourwalledcubicle.com/files/MyUSB/LUFA%20091122.zip
+
wget http://www.fourwalledcubicle.com/files/MyUSB/LUFA%20091122.zip
unzip "LUFA 091122.zip"
+
unzip "LUFA 091122.zip"
ln -s "LUFA 091122" LUFA-CUR
+
ln -s "LUFA 091122" LUFA-CUR
patch -p0 <patches/lufa.diff
+
patch -p0 <patches/lufa.diff
  
 
User code image (for USB flashing)
 
User code image (for USB flashing)
  
 
This image only has usercode without USB bootloader. It can be flash with usual mini-USB cable without any expensive ISP programmer needed.
 
This image only has usercode without USB bootloader. It can be flash with usual mini-USB cable without any expensive ISP programmer needed.
Building
+
 
 +
==Building==
  
 
Depending on the ClockTamer modification you have to define one of the following defines:
 
Depending on the ClockTamer modification you have to define one of the following defines:
  
Define                            HWI
+
Define                            HWI
------                            ---
+
------                            ---
TAMER_1515_20                    LMX=1515 LMK=1010 OSC=20
+
TAMER_1515_20                    LMX=1515 LMK=1010 OSC=20
TAMER_2080_20                    LMX=2080 LMK=1010 OSC=20
+
TAMER_2080_20                    LMX=2080 LMK=1010 OSC=20
TAMER_2080_10                    LMX=2080 LMK=1010 OSC=10
+
TAMER_2080_10                    LMX=2080 LMK=1010 OSC=10
TAMER_2080_VCTXCO_26_GPS          LMX=2080 LMK=1010 OSC=26 VCTXCO GPS
+
TAMER_2080_VCTXCO_26_GPS          LMX=2080 LMK=1010 OSC=26 VCTXCO GPS
TAMER_1650_26_GPS                LMX=1650 LMK=1010 OSC=26 GPS
+
TAMER_1650_26_GPS                LMX=1650 LMK=1010 OSC=26 GPS
  
 
You can lookup your hardware info by executing HWI command.
 
You can lookup your hardware info by executing HWI command.
Line 40: Line 41:
 
To build flash image for ClockTamer define the variable and run make in clock-tamer/board directory. For the "LMX=2080 LMK=1010 OSC=20" device it is
 
To build flash image for ClockTamer define the variable and run make in clock-tamer/board directory. For the "LMX=2080 LMK=1010 OSC=20" device it is
  
CFLAGS="-DTAMER_2080_20" make
+
CFLAGS="-DTAMER_2080_20" make
  
 
If everything went fine, you should get a lot of output, ending with this:
 
If everything went fine, you should get a lot of output, ending with this:
  
Size after:
+
Size after:
AVR Memory Usage
+
AVR Memory Usage
----------------
+
----------------
Device: at90usb162
+
Device: at90usb162
 
+
Program:    6808 bytes (41.6% Full)
+
Program:    6808 bytes (41.6% Full)
(.text + .data + .bootloader)
+
(.text + .data + .bootloader)
 
+
Data:        152 bytes (29.7% Full)
+
Data:        152 bytes (29.7% Full)
(.data + .bss + .noinit)
+
(.data + .bss + .noinit)
 
+
EEPROM:      411 bytes (80.3% Full)
+
EEPROM:      411 bytes (80.3% Full)
(.eeprom)
+
(.eeprom)
 
 
 
 
  
-------- end --------
+
-------- end --------
  
Flashing
+
==Flashing==
  
 
After a successful build in the clock-tamer directory you will find generated Tamer-sdk-v1.hex and Tamer-sdk-v1.eep files, which is ready to be flashed into your ClockTamer. You can also use Tamer-sdk-v1.elf if your programmer supports this.
 
After a successful build in the clock-tamer directory you will find generated Tamer-sdk-v1.hex and Tamer-sdk-v1.eep files, which is ready to be flashed into your ClockTamer. You can also use Tamer-sdk-v1.elf if your programmer supports this.
Line 68: Line 67:
 
Actual flashing instructions depend on a type of flasher application you have. We use dfu-programmer, which is readily available in Ubuntu. If you use Ubuntu 9.10 or later, just install it from repository:
 
Actual flashing instructions depend on a type of flasher application you have. We use dfu-programmer, which is readily available in Ubuntu. If you use Ubuntu 9.10 or later, just install it from repository:
  
sudo aptitude install dfu-programmer
+
sudo aptitude install dfu-programmer
  
 
And if you use Ubuntu 9.04 or your dfu-programmer version is <0.5 we advice you to install it from sources.
 
And if you use Ubuntu 9.04 or your dfu-programmer version is <0.5 we advice you to install it from sources.
Line 74: Line 73:
 
Now, when you have dfu-programmer ready, follow this steps:
 
Now, when you have dfu-programmer ready, follow this steps:
  
    Power off ClockTamer - disconnect power cord AND mini-USB cable.
+
* Power off ClockTamer - disconnect power cord AND mini-USB cable.
    Short-circuit nSS pin of GND (full connector pinout is available here).
+
* Short-circuit nSS pin of GND (full connector pinout is available here).
 
+
* Connect ClockTamer to a computer with mini-USB cable. LED should light up immediately (WITHOUT flashing once first).
    Connect ClockTamer to a computer with mini-USB cable. LED should light up immediately (WITHOUT flashing once first).
+
* Remove short-circuit from nSS to GND.
    Remove short-circuit from nSS to GND.
+
* In "board" directory run
    In "board" directory run
 
  
    make dfu
+
make dfu
  
    If you want to flash EEPROM data too, run
+
* If you want to flash EEPROM data too, run
  
 
     make dfu-ee
 
     make dfu-ee
  
Full image (for ISP flashing)
+
==Full image (for ISP flashing)==
  
 
This image contains full code, including USB bootloader, and is suitable for ISP flashing.
 
This image contains full code, including USB bootloader, and is suitable for ISP flashing.
Line 96: Line 94:
 
The building procedure is similar to those of the standard image, but you should set environment variable "SDK=0", e.g.
 
The building procedure is similar to those of the standard image, but you should set environment variable "SDK=0", e.g.
  
SDK=0 CFLAGS="-DTAMER_2080_20" make
+
SDK=0 CFLAGS="-DTAMER_2080_20" make
  
 
If everything went fine, you'll get something like this:
 
If everything went fine, you'll get something like this:
  
Size after:
+
Size after:
AVR Memory Usage
+
AVR Memory Usage
----------------
+
----------------
Device: at90usb162
+
Device: at90usb162
 
+
Program:  10618 bytes (64.8% Full)
+
Program:  10618 bytes (64.8% Full)
(.text + .data + .bootloader)
+
(.text + .data + .bootloader)
 
+
Data:        152 bytes (29.7% Full)
+
Data:        152 bytes (29.7% Full)
(.data + .bss + .noinit)
+
(.data + .bss + .noinit)
 
+
EEPROM:      437 bytes (85.4% Full)
+
EEPROM:      437 bytes (85.4% Full)
(.eeprom)
+
(.eeprom)
 
 
 
 
  
-------- end --------
+
-------- end --------
  
Flashing
+
==Flashing==
  
 
After a successful build in the clock-tamer directory you will find generated Tamer.hex and Tamer.eep files, which is ready to be flashed into your ClockTamer. You can also use Tamer.elf if your programmer supports this.
 
After a successful build in the clock-tamer directory you will find generated Tamer.hex and Tamer.eep files, which is ready to be flashed into your ClockTamer. You can also use Tamer.elf if your programmer supports this.
Line 124: Line 120:
 
Actual flashing instructions depend on a type of flasher and application you have. To flash full image we usually use AVR Dragon. If you have AVR Dragon too, follow this steps:
 
Actual flashing instructions depend on a type of flasher and application you have. To flash full image we usually use AVR Dragon. If you have AVR Dragon too, follow this steps:
  
    Download "avrdude" from svn and build it. Prebuilt avrdude 5.2 crashes when you try to use it with AVR Dragon, because of this bug. This bug is fixed in rev887 and rev895 in avrdude svn, so make sure you use one of newer revisions.
+
* Download "avrdude" from svn and build it. Prebuilt avrdude 5.2 crashes when you try to use it with AVR Dragon, because of this bug. This bug is fixed in rev887 and rev895 in avrdude svn, so make sure you use one of newer revisions.
    Connect ClockTamer to AVR Dragon, according to SPI pinout.
+
* Connect ClockTamer to AVR Dragon, according to SPI pinout.
    In "board" directory run
+
* In "board" directory run
  
 
     SDK=0 make program
 
     SDK=0 make program
  
    If you connected everything correctly, you should have new image uploaded to ClockTamer now.  
+
* If you connected everything correctly, you should have new image uploaded to ClockTamer now.  
  
 
Note, that this operation erases EEPROM and thus you loose your calibration. If may want to write down your calibrated values somewhere or disable EEPROM write by commenting out this line in makefile:
 
Note, that this operation erases EEPROM and thus you loose your calibration. If may want to write down your calibrated values somewhere or disable EEPROM write by commenting out this line in makefile:
  
AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
+
AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
  
  
Line 159: Line 155:
 
* [[OpenBTS: Tethr untuk Bencana Alam]]
 
* [[OpenBTS: Tethr untuk Bencana Alam]]
 
* [[USRP: Tip Pemesanan]]
 
* [[USRP: Tip Pemesanan]]
 +
==Pranala Menarik==
 +
 +
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
 +
 +
===Persiapan===
 +
 +
* [[USRP: High Precision Clock]]
 +
* [[USRP: Menyambungkan ClockTamer ke USRP1]]
 +
* [[USRP: Kalibrasi ClockTamer]]
 +
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 +
* [[USRP: Instalasi Board]]
 +
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
 +
 +
===Script===
 +
 +
* [[OpenBTS: Script Membuat GNURadio 3.4.2 di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS dan yate di Ubuntu 13.04]]
 +
 +
 +
===OpenBTS 2.6===
 +
 +
* [[GNURadio]]
 +
* [[GNURadio: Ubuntu Install]]
 +
* [[GNURadio: Menggunakan UHD]]
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 13.04 Install GNURadio 3.4.2 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Contoh Aplikasi]]
 +
* [[GNURadio: Spectrum Analizer GSM]]
 +
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
 +
* [[GNURadio: Programming Untuk Pemula]]
 +
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu 13.04 Install OpenBTS 2.6 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: Konfigurasi]] '''RECOMMENDED'''
 +
* [[OpenBTS: Kalibrasi]]
 +
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Menjalankan smqueue]]
 +
* [[OpenBTS: Mengoperasikan BTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 +
* [[OpenBTS: Operasi 1800 MHz]]
 +
* [[OpenBTS: Beberapa Tips]]
 +
* [[OpenBTS: USRP2]]
 +
* [[OpenBTS: Amplifier]]
 +
* [[OpenBTS: SMS]]
 +
* [[AirProbe]]
 +
 +
===OpenBTS 2.8===
 +
 +
* [[GNURadio: Ubuntu 11.10 Install]] ''NOT RECOMMENED''
 +
* [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Download GNURadio]]
 +
* [[GNURadio: Install UHD]]
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04.1 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 13.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.6.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
 +
* [[GNURadio: UHD]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Image]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Identifikasi Device]]
 +
* [[OpenBTS: Ubuntu 11.10 Install]]
 +
* [[OpenBTS: dari GIT ttsou]]
 +
* [[OpenBTS: 2.8 dari SVN Install]]
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz dengan UHD tanpa GNURadio]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
 +
* [[OpenBTS: Yate Softswitch]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Config Test]]
 +
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Cognitive Radio Elsabagh]]
 +
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 +
* [[OpenBTS: Database SQLite]]
 +
 +
===Multi OpenBTS 2.8===
 +
 +
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
 +
 +
===Ettus E110===
 +
 +
* [[OpenBTS: E110 Cara Login]]
 +
* [[OpenBTS: E110 Install Image di MicroSD]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Cek Daughter Board]]
 +
* [[OpenBTS: E110 Mengubah Master Clock]]
 +
* [[OpenBTS: E110 Kalibrasi Clock]]
 +
* [[OpenBTS: E110 Konfigurasi Jaringan]]
 +
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 Instalasi iptables]]
 +
* [[OpenBTS: E110 GNURadio]]
 +
* [[OpenBTS: E110 Compile UHD]] ''Not Recommended''
 +
* [[OpenBTS: E110 Compile UHD dari Release Bukan git]] ''Not Recommended''
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] ''Not Recommended''
 +
* [[OpenBTS: E110 Install UHD Image]] ''Not Recommended''
 +
* [[OpenBTS: E110 Instalasi OpenBTS]]
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Yate Softswitch]]
 +
 +
===Ettus N210===
 +
 +
* [[OpenBTS: N210 Instalasi GPSDO Kit]]
 +
* [[OpenBTS: N210 GNURadio]]
 +
* [[OpenBTS: N210 GNURadio 3.7.0]]
 +
* [[OpenBTS: N210 Instalasi OpenBTS]]
 +
* [[OpenBTS: N210 Instalasi Yate]]
 +
* [[OpenBTS: N210 Yate Config Test]]
 +
* [[OpenBTS: N210 Burn Firmware]]
 +
 +
===GPRS===
 +
 +
* [[OpenBTS: GPRS]]
 +
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
 +
 +
===Briker OpenBTS===
 +
 +
* [[OpenBTS: Briker]]
 +
 +
===FreeSWITCH OpenBTS===
 +
 +
* [[OpenBTS: FreeSWITCH]]
 +
 +
===Power Amplifier===
 +
 +
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
 +
 +
===Lain Lain===
 +
 +
* [[OpenBTS: Materi Magang di ICTWATCH]]
 +
* [[OpenBTS: Seminar Outline]]
 +
* [[OpenBTS: Workshop Outline]]
 +
* [[Membuat Base Station GSM Open Source]]
 +
* [[Teknologi Selular]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
* [[Wireless Internet]]
 +
* [[OpenBSC]]
 +
* [[AirProbe]]
 +
* [[Base station subsystem]]
 +
* [[GSM]]
 +
* [[Asterisk]]
 +
* [[Mobile phone]]
 +
 +
===Catatan Legal dan Pendukung===
 +
 +
* [[Siapa Bilang OpenBTS Ilegal?]]
 +
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 +
* [[OpenBTS: Catatan MNC dan MCC COOL]]
 +
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
 +
===Catatan Sejarah===
 +
 +
* [[2011/04/30 - Workshop OpenBTS Pertama di Indonesia dilakukan di Univ Gajah Putih Takengon Aceh Tengah]]
 +
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 +
* [[OpenBTS: Daftar Artikel di Media]]
 +
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 +
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 +
 +
===Dokumentasi Video===
 +
 +
* http://www.metrotvnews.com/read/newsprograms/2012/10/14/14624/212/Teknologi-BTS
 +
* http://youtu.be/8ogOcUSpINU (1/6)
 +
* http://youtu.be/F5d7HGuhppk (2/6)
 +
* http://youtu.be/90Jgq6bOgrQ (3/6)
 +
* http://youtu.be/cNkx_qNqdfc (4/6)
 +
* http://youtu.be/6LCuoeI57ak (5/6)
 +
* http://youtu.be/-dEqcHoIlYk (6/6)
 +
* http://www.youtube.com/watch?v=Ff_rw4kAOZg&feature=share
 +
 +
 +
[[Category: Wireless]]
 +
[[Category: Selular]]
  
 
===Script===
 
===Script===

Revision as of 14:20, 29 December 2013

Environment setup

Our main development platform is Ubuntu and to date it's the only tested build environment. We welcome any additions and corrections to this howto, especially build instructions for other platforms.

# Install tools required for building firmware.
sudo aptitude install gcc-avr avr-libc unzip

Instructions for installing software for flashing are included into respective sections about flashing, because they depend on the tools you use. Source code preparation

To check out source code and prepare it for building, run following commands in a directory of your choice:

# Check out clock-tamer project
hg clone https://clock-tamer.googlecode.com/hg/ clock-tamer
cd clock-tamer/board
# Download LUFA 091122, unpack to clock-tamer/LUFA directory and patch it
wget http://www.fourwalledcubicle.com/files/MyUSB/LUFA%20091122.zip
unzip "LUFA 091122.zip"
ln -s "LUFA 091122" LUFA-CUR
patch -p0 <patches/lufa.diff

User code image (for USB flashing)

This image only has usercode without USB bootloader. It can be flash with usual mini-USB cable without any expensive ISP programmer needed.

Building

Depending on the ClockTamer modification you have to define one of the following defines:

Define                            HWI
------                            ---
TAMER_1515_20                     LMX=1515 LMK=1010 OSC=20
TAMER_2080_20                     LMX=2080 LMK=1010 OSC=20
TAMER_2080_10                     LMX=2080 LMK=1010 OSC=10
TAMER_2080_VCTXCO_26_GPS          LMX=2080 LMK=1010 OSC=26 VCTXCO GPS
TAMER_1650_26_GPS                 LMX=1650 LMK=1010 OSC=26 GPS

You can lookup your hardware info by executing HWI command.

To build flash image for ClockTamer define the variable and run make in clock-tamer/board directory. For the "LMX=2080 LMK=1010 OSC=20" device it is

CFLAGS="-DTAMER_2080_20" make

If everything went fine, you should get a lot of output, ending with this:

Size after:
AVR Memory Usage
----------------
Device: at90usb162

Program:    6808 bytes (41.6% Full)
(.text + .data + .bootloader)

Data:        152 bytes (29.7% Full)
(.data + .bss + .noinit)

EEPROM:      411 bytes (80.3% Full)
(.eeprom)
-------- end --------

Flashing

After a successful build in the clock-tamer directory you will find generated Tamer-sdk-v1.hex and Tamer-sdk-v1.eep files, which is ready to be flashed into your ClockTamer. You can also use Tamer-sdk-v1.elf if your programmer supports this.

Actual flashing instructions depend on a type of flasher application you have. We use dfu-programmer, which is readily available in Ubuntu. If you use Ubuntu 9.10 or later, just install it from repository:

sudo aptitude install dfu-programmer

And if you use Ubuntu 9.04 or your dfu-programmer version is <0.5 we advice you to install it from sources.

Now, when you have dfu-programmer ready, follow this steps:

  • Power off ClockTamer - disconnect power cord AND mini-USB cable.
  • Short-circuit nSS pin of GND (full connector pinout is available here).
  • Connect ClockTamer to a computer with mini-USB cable. LED should light up immediately (WITHOUT flashing once first).
  • Remove short-circuit from nSS to GND.
  • In "board" directory run
make dfu
  • If you want to flash EEPROM data too, run
   make dfu-ee

Full image (for ISP flashing)

This image contains full code, including USB bootloader, and is suitable for ISP flashing.

Note, that to be able to flash ClockTamer over USB after you flash full image, you need to generate your own SDK header. Differences in compiler versions will likely cause different placement of bootloader functions and make standard SDK header useless. Building

The building procedure is similar to those of the standard image, but you should set environment variable "SDK=0", e.g.

SDK=0 CFLAGS="-DTAMER_2080_20" make

If everything went fine, you'll get something like this:

Size after:
AVR Memory Usage
----------------
Device: at90usb162

Program:   10618 bytes (64.8% Full)
(.text + .data + .bootloader)

Data:        152 bytes (29.7% Full)
(.data + .bss + .noinit)

EEPROM:      437 bytes (85.4% Full)
(.eeprom)
-------- end --------

Flashing

After a successful build in the clock-tamer directory you will find generated Tamer.hex and Tamer.eep files, which is ready to be flashed into your ClockTamer. You can also use Tamer.elf if your programmer supports this.

Actual flashing instructions depend on a type of flasher and application you have. To flash full image we usually use AVR Dragon. If you have AVR Dragon too, follow this steps:

  • Download "avrdude" from svn and build it. Prebuilt avrdude 5.2 crashes when you try to use it with AVR Dragon, because of this bug. This bug is fixed in rev887 and rev895 in avrdude svn, so make sure you use one of newer revisions.
  • Connect ClockTamer to AVR Dragon, according to SPI pinout.
  • In "board" directory run
   SDK=0 make program
  • If you connected everything correctly, you should have new image uploaded to ClockTamer now.

Note, that this operation erases EEPROM and thus you loose your calibration. If may want to write down your calibrated values somewhere or disable EEPROM write by commenting out this line in makefile:

AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep


Referensi

  • code.google.com/p/clock-tamer/wiki/LinuxBuildHowto


Pranala Menarik

Persiapan

Pranala Menarik

Persiapan

Script


OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

Ettus N210

GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video

Script


OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

Ettus N210

RangeNetworks

GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video

Perjuangan OpenBTS