C-Shell/TCSH
# tar xjvf decypher-sdk-0.9.2.tar.bz2 # setenv SDKROOT ~/decypher-sdk-0.9.2BASH/KSH
# tar xjvf decypher-sdk-0.9.2.tar.bz2 # export SDKROOT=~/decypher-sdk-0.9.2
# su root # cd tools # rpm -i crosstool-gcc_3.3.4_glibc_2.3.2-mipsel-linux-gnu-0.28_rc37-1.i386.rpm
# su root # cd tools # rpm -i sdelinux-5.01-4.i386.rpm
If using csh(C Shell):
# set path=(/opt/wischip/mipsel-linux-gnu/gcc-3.3.4-glibc-2.3.2/bin $path) # set path=(/usr/local/bin $path)If using sh (Bourne or BASH shell):
# export PATH=/opt/wischip/mipsel-linux-gnu/gcc-3.3.4-glibc-2.3.2/bin:$PATH # export PATH=/usr/local/bin:$PATH
# su - root # vi /etc/xinetd.d/tftpNOTE:change line "disable = yes" to "disable = no"
# service xinetd restart
# cd $(SDKROOT);make CHIP=decypher aviator-configNOTE: This will configure the kernel and userland applications, it only needs to be done once.
# cd $(SDKROOT) # make CHIP=decypherNOTE: This will build both the user-mode applications, as well as the kernel and initial ramdisk filesystem, use this process when the user applications need to be rebuilt.
# cd $(SDKROOT)/linux-2.6* # make menuconfig (exit/save) # cd $(SDKROOT)/linux-2.6* # make # cd $(SDKROOT)/ # make CHIP=decypher
# ls -l uImage
# cp $(SDKROOT)/uImage /tftpboot
Verify that the CPU core clock is 166Mhz from the bootloader prompt (decypher#) type "ccb show".
NOTE: The string Peripheral Clock: 166000000 is equal to the core clock for 8xxx ASICS, this is the UART Base-baud which should be used to initialize the COM port
Minicom Terminal
On Redhat 9 (RH9), open an additional console for communication with the ASIC MIPS host processor.
configure minicom to run with:
- 9600 Baud, N, 8, 1, No HW Flow Control
# minicom -o
To test the connection, by powering the board and seeing the bootloader messages
U-Boot 1.0.0 (Sep 22 2005 - 00:12:46) Platform:Micronas-USA 8100 CPU PRID:0x90, rev: 0x64 Decypher:8100, rev: 0x00 DRAM: 32 MB Flash: 4 MB PCI:PCI Autoconfig: Memory region: [10000000-16ffffff] PCI Autoconfig: I/O region: [17000000-17ffffff] PCI Autoconfig: BAR 0, I/O, size=0x100, address=0x17000000 PCI Autoconfig: BAR 1, Mem, size=0x100, address=0x10000000 00 0a 10ec 8139 0200 1c In: serial Out: serial Err: serial Net: rtl8139: REALTEK RTL8139 @0x10000000 (virt 0xb0000000) RTL8139#0 Hit any key to stop autoboot: 0
Decypher Decoder Reference Design (PCI Host Mode) Platforms
decypher# setenv phyaddr 0 decypher# setenv ethaddr 00:50:C2:2D:61:F9 decypher# setenv ethspeed auto decypher# setenv ethduplex auto
decypher# setenv phyaddr 1 decypher# setenv boardtype aviator decypher# setenv ethaddr 00:50:C2:2D:61:F9 decypher# setenv ethspeed auto decypher# setenv ethduplex autoNOTE: in the above, the phyaddr variable is used by the U-Boot Ethernet driver to control MDIO/MDC access to the ethernet PHY on your platform. The setting of this variable is highly dependent upon your design. Values are 0 (Intel) or 1 (RealTek).
NOTE: in the above, replace the ethernet address with that assigned by the IEEE to your company. For the serial number, this can be any number or string designation which your company has deemed necessary. Only the Ethernet address has meaning to the U-Boot Loader and these should be carefully tracked and maintained by your product manager.
NOTE: the boardtype variable is used by system software as a hint to determine what type of special options and features (board-level components) are available on your platform.
Finally, in ALL cases, to save settings into FLASH (and make the configuration information persistent across reboots), you MUST type the following command last:
decypher# saveenvNOTE: this information will remain permanent in the FLASH until the FLASH device fails, firmware fails (or over-writes), or the system has been re-programmed.
U-Boot Upgrade (Using U-Boot to FLASH itself)
For PCI Host platforms (which do not use the AHBDiag utility), the FLASH is initially programmed using the EPI MAJIC JTAG Probe. In the event that the U-Boot Loader needs to be upgraded, the following procedure should be followed:
# cd $(SDKROOT)/gpl/u-boot # ./mkflashimage Image Name: u-boot.bin Created: Thu Jul 14 23:47:09 2005 Image Type: MIPS Linux Kernel Image (gzip compressed) Data Size: 158076 Bytes = 154.37 kB = 0.15 MB Load Address: 0x81000000 Entry Point: 0x00000000 #First, record the ethaddr, and serial variable settings which were factory programmed on your platform. These settings will need to be reprogrammed (as well as the default settings based on your platform type). It is best to capture all of the output from the command below and save in a text file for lates use:
decypher# printenvNext, copy the file u-boot.bin.img to your TFTP Server root directory. Then, issue the following commands from U-Boot
NOTE: the FLASH sectors will start at bf400000, so successive FLASH of U-Boot into the board will require the commands:
decypher# tftp 0x81000000 u-boot.bin.img decypher# flwrite bf400000 0, failure of the steps above (use of an invalid image, turning off power in between FLASH programming, or using any command other then the above) will render the system inoperable.
Finally, use the U-Boot Setup commands to re-initialize the loader.
U-Image Network Boot Setup
Use the following settings to configure the U-Boot BIOS for network boot of the kernel: uImage:
decypher# setenv serverip 192.168.20.52 decypher# setenv ipaddr 192.168.20.29 decypher# setenv bootcmd tftp 0x81000000 uImage\; bootm decypher# saveenvNOTE: in the above, replace the IP addresses for serverip and ipaddr with those assigned by your IT staff.
U-Boot Kernel FLASH Procedure
This step allows you to program your uImage kernel binary onto the FLASH such that the device can boot standalone (without PCI or Ethernet loading). This is the final form of distribution of your application software, and should be done when the image has been tested via network boot.
decypher# tftp 0x81000000 uImage decypher# flwrite bf440000 1NOTE: Next, configure the device to boot in standalone mode from the FLASH.
U-Boot FLASH (Standalone) Boot Setup
Use the following commands to configure the system for final standalone boot:
decypher# setenv bootcmd bootm bf440000 decypher# saveenv
decypher# ide resetUse the following command to load an uImage file from an IDE EXT2/EXT3 partition into the RAM:
decypher# ext2load ide 0:1 0x81000000 /uImageThis would search for the file /uImage on the IDE bus, device 0, partition 1 from root-directory /. Devices start from 0, partitons start from 1.
decypher# bootm 0x81000000It is also possible to get the partition's directory listing in case you don't know the name or location of the image anymore:
decypher# ext2ls ide 0:1 /This would list the directory contents on the IDE bus, device 0, partition 1 from root-directory /.
U-Boot ISO-9660 Boot Support
This allows to boot a uImage from a CD or DVD on the IDE formated with ISO-9660.
The size of the image is only restricted by the size of the used partition and the main memory.
U-Boot hast to be compiled with IDE and ISO support.
After boot up of U-Boot first do an IDE reset with the command:
decypher# ide resetUse the following command to load an uImage file from the ISO-9660 partition into the RAM:
decypher# isoload ide 0:1 0x81000000 /UIMAGE.This would search for the file /UIMAGE. on the IDE bus, device 0, partition 1 from root-directory /. Mind the case and the dot at the end of UIMAGE! Devices start from 0, partitons start from 1.
decypher# bootm 0x81000000It is also possible to get the disk's directory listing in case you don't know the name or location of the image anymore:
decypher# isols ide 0:1 /This would list the directory contents on the IDE bus, device 0, partition 1 from root-directory /.
Kernel Development (PCI Host Mode)
In this mode, use of the U-Boot Loader to download a uImage file from the TFTP server. Typically, one would build a uImage and copy to the TFTP server, and then use the U-Boot loader to automatically load the kernel file after the system is either reset or rebooted
The PCI reference platform and the Aviator platform operate in PCI Host mode.
1) Install the EPI software, the latest version includes support for Cypher/Decypher ASIC's and has all of the startup files. 2) Setup the tool for use with our Decypher IPTV board. Input the serial number. This serial number is unique for the EPI flash programmer. Use defaults for the rest of the installation. 3) Launch the EPI Tools - MAJIC application Double-click MAJIC Setup Wizard icon found in EPI Tools - EDTM 4) Setup the application for use with Decypher IPCAM board "Introduction" screen Click "NEXT>" button to begin "Choose Operation:" screen: Click "NEXT>" button at startup Choose EDB & MONICE for the Debugger environment setting. Click "Go" "Project Name" screen: Input "Decypher-IPCAM" as your "Project Name:" and description of your project. Click "NEXT>" button "CPU Configuration" screen: Choose "MTI4Kec" as the "Processor Type:" Select "Little Endian" and the "Target's Endianness:" Leave "Startup Connection:" as "Intrusive" Then select "NEXT>" "Connection Perameters" screen: Select "I will be using an ethernet IP address to communicate with my MAJIC" button Then select "Use my static IP Address:" Input your IP address on your lan. "Configuration Files" screen Select "Use existing Startup File:" Click on "Browse" button Find the "startice.cmd" file supplied from Micronas-USA. $(SDKROOT)/src/m4k/tools/epi/flash_cfg/ Click "NEXT>" button "Destination or Reference Directory" screen Click "Select a Destination Directory to Create/Copy Startup Files to:" Click on "Browse" button Create a new folder to contain the startup files. Click "NEXT>" button "Perform Setup" screen Leave settings as default Click "Perform Actions" Click "Done" to complete MAJIC setup. 5) Copy two Micronas-USA supplied startup files into the newly created startup directory which contains the file "startice.cmd" - ddr.cmd - fpga.cmd
1) Copy $(SDKROOT)/src/m4k/uboot/u-boot.bin into MAJIC Flash programmer Startup directoy. 2) Double-click icon on Windows Desktop called "edbice Decypher-IPCAM via..." 3) Connect the EJTAG controller to EJTAG port on the board. 4) Enter into MONICE> by executing command EDB session window EDB>MON 5) Intialize ddr by executing. > fr c ddr 6) Select File menu and "Program to Debug ..." Select "flash1" file located at "C:\Program Files\EPITools\edm21c\samples\le\" Dismiss dialogue which warns of "..younger file found at ..." 7. Verify that download was proper.(Use Menu item Verify). 8. Execute the flash utiilty by clicking Exec Menu -> G0. 9. Follow these instructions in the "Programming I/O Window" screen. 1.> Set flash type, width, size Select "1 (Flash Type)" from the "MAIN MENU" Select "14: Am29LV320DB x8 4M" 2.> Set the file to program Select option "2 (Image Filename)" from the "MAIN MENU" Provide a complete path to $(SDKROOT)/src/m4k/uboot/u-boot.bin 3.> Set the size to program Select option "5 (Image Size)" from the "MAIN MENU" Select option "5 (Use File Length)" 4.> Erase, program and verify Select option "7 (Program Menu)" from the "MAIN MENU" Select option "2 (Erase Image, Program Image, Verify)" from the "MAIN MENU" Answer "Y" to "ERASE Device, PROGRAM, Verify" the flash Press "ENTER" to Continue 5. Quit MAJIC Flash programmer application Select "0 (Return to Main Menu) Select "0 (QUIT Program) Select "Y (Save Configuration File)" Click "OK" to clear verification dialogue box Select the File menu -> Exit to close application. Select "Yes" to "save breakpoints, search paths, and assertions?" dialogue box. 6. Remove power from board and detach flash programmer cable. **NOTE: Performing this action will cause settings to become default settings. **NOTE: You can find detailed general instruction on the detailed functions of MAJIC application at www.epitools.com.